Transactions (Lära)

TABLE DES MATIÈRES

Transaction : transaction/get
Transaction : transaction/getlist
Valeurs des types de cartes supportées par les connecteurs de paiements
Inscriptions et transactions - Webhook
Description des codes d’erreurs de transaction

Transactions

Les « transactions » représentent les opérations financières liées aux inscriptions de votre environnement (paiements, remboursements, annulations). Elles sont nommées « transactions » dans l'API.

Transaction : transaction/get

Permet d'obtenir des informations sur une transaction de votre environnement.
Adresse de l'appel API : https://.../lmsapi/transaction/get

Requête

Exemple de contenu d'appel de requête des informations d'une transaction :

{
"id": "I2Oa5s9JDCGvE7BtvUfxrg%3d%3d"
}

Description des champs

Nom

Obligatoire

Commentaires/description

idX

Identifiant unique de la transaction.
(Type String)

Réponse

Exemple de contenu d'appel de réponse des informations d'une transaction :

{
  "id": "I2Oa5s9JDCGvE7BtvUfxrg%3d%3d",
  "billingID": "vBW5xMw1VQ2A8DFaNy22zA%3d%3d",
  "billingReferenceNumber": 123,
  "billingFamily" : 1,
  "transactionDate": "2025-11-11T13:05:29.963",
  "priceName": "Tarif public",
  "currency": "cdn",
  "basePrice": 50.0,
  "subscribeDiscountPercent": 10.0,
  "lotPurchaseDiscountPercent": 0.0,
  "quantity": 1,
  "totalPrice": 52.49,
  "paymentMethodID": 5,
  "paymentMethodType": 0,
  "transactionType": 1,
  "comment": "Mon commentaire",
  "onlineTransactionID": "mtp198yt",
  "billToName": "Fraise Laframboise",
  "billingAddress": "690, Saint-Joseph Est",
  "billingAddress2": "bur. 400",
  "billingPostalCode": "G1K 3B9",
  "billingCity": "Quebec",
  "billingCountryID": 37,
  "billingStateID": 11,
  "balance": 0.0,
  "authorizationStatus": 0,
  "paymentStatus": 0,
  "billingType": 1,
  "userID": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
  "providerId": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
  "workspaceId": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
  "workspaceInstanceId": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
  "cohortId": "0ZmJHkU8UY9k2si1sOPcGg%3d%3d",
  "programId": "0ZmJHkU8UY9k2si1sOPcGg%3d%3d",
  "onlinePaymentType": "",
  "taxes": {"TPS":2.5,"TVQ":4.99},
  "promoCodes": 
    [  
      {
        "id": "O%2f9dsKKECyJSUWkOK37D8g%3d%3d",
        "amount": 32.1
      }
    ] ,
   "shoppingCartTransactionID": "",
  "isExternal": false,
  "paymentTransactionID": "V3nIrMZqmh"
}

Description des champs

Nom 

Commentaires/description

id

Identifiant unique de la transaction. Une transaction est liée à une inscription (billingID).

billingID

Identifiant unique de l’inscription. Une inscription (billing) est potentiellement liée à plusieurs transactions.

billingReferenceNumber

Le numéro de référence de la facture émise pour cette transaction.

billingFamilyPrécise quelle composante du système touche l'inscription :
  • 1 = Inscription
  • 2 = Demande de dispense (règlement)
  • 3 = Achat en lot
  • 4 = Transaction par panier d'achat (plusieurs inscriptions)
  • 5 = Autodéclaration

transactionDate

Date à laquelle la transaction a été effectuée.

(Type String YYYY-MM-DDTHH:MM:SSZ)

priceName

Nom du tarif utilisé pour mener la transaction.

(Type String, entre 5 à 250 caractères) 

currency

Devise utilisée pour mener la transaction

(Type String).

basePrice

Montant avant les taxes.

(Type Number) 

subscribeDiscountPercent

Pourcentage de rabais appliqué à la transaction.

(Type Number)

lotPurchaseDiscountPercentPourcentage de rabais d'achat en lot appliqué à la transaction.

(Type Number)

quantityQuantité de places achetées.
(Type Number)

totalPrice

Montant total incluant les taxes et le ou les rabais.

 (Type Number)

paymentMethodID

Identifiant de la méthode de paiement de la transaction.

(Type Number)

paymentMethodType

Type de paiement de la transaction.

(Type Number)

  • 1 = Paiement en argent comptant
  • 2 = Paiement par chèque
  • 3 = Paiement par carte de crédit
  • 4 = Paiement par facturation

transactionType

Type de la transaction

(Type Number)

  • 0 = Inscription
  • 1 = Paiement en attente
  • 2 = Paiement
  • 3 = Annulation
  • 4 = Remboursement en attente
  • 5 = Remboursement
  • 6 = Paiement différé, utilisé pour les inscriptions utilisant la combinaison de l'approbation et du paiement par facturation
  • 7 = Paiement différé remboursé, utilisé lors du remboursement d'une transaction avec paiement par facturation

comment

Note administrative laissée sur la transaction.

(Type String)

onlineTransactionID

Identifiant unique de la transaction en ligne (fournisseur de paiement électronique).

(Type String)

billToNameChamp « Facturer au nom de » sur l'adresse de facturation.
(Type String)

billingAddress

Ligne 1 de l'adresse de facturation.

(Type String)

billingAddress2

Ligne 2 de l'adresse de facturation.

(Type String)

billingPostalCode

Code postal de l’adresse de la transaction 

(Type String)

billingCity

Ville de l’adresse de la transaction 

(Type String)

billingCountryID

Pays de l’adresse de la transaction – Type Number (Voir Annexe 3 : Pays et États/Provinces)

billingStateID

État ou province de l’adresse de la transaction – Type Number (Voir Annexe 3 : Pays et États/Provinces)

balance

Balance de l’inscription

(Type Number)

authorizationStatus

Enum AuthorizationStatus:

  • 0 = Authorized
  • 1 = Refused
  • 2 = WaitingAuthorization

 

paymentStatus

Enum PaymentStatus:

  • 0 = None
  • 1 = PaymentPending
  • 2 = PaymentDone
  • 3 = Canceled
  • 4 = RefundPending
  • 5 = Refund

billingType

Enum BillingType :

  • 0 = None
  • 1 = Billed

userID

Identifiant de l’utilisateur associé à la transaction 

(Type string)

providerId

Identifiant du fournisseur de services associé à la transaction (Type String)

workspaceId

Identifiant de la formation associée à la transaction (Type String)

workspaceInstanceId

Identifiant de la session associée à la transaction (Type String)

cohortId

Identifiant unique de la cohorte (Type String)
programIdIdentifiant unique du programme de formation (Type String)

onlinePaymentType

Retourné par le système de paiement, par exemple Moneris ou Braintree. Voir les valeurs de cartes possibles dans le tableau plus bas.

isExternal

Indique s’il s’agit d’un remboursement qui a eu lieu dans un autre système (Type Boolean)

taxes

(Taxes appliquées sur la transaction) Liste de taxes

promoCodes

(Codes promotionnels appliqués sur la transaction) Liste de code promotionnel

shoppingCartTransactionIDDans le cas où il y a un panier avec plusieurs articles, c'est l'identifiant de la "master" transaction qui regroupe les différentes inscriptions et sur laquelle la vraie transaction a été faite auprès du connecteur de paiement.
paymentTransactionIDL’identifiant de la transaction de paiement dont est issue une inscription ou un panier d'achats contenant plusieurs inscriptions.

Transaction : transaction/getlist

Permet d'obtenir des informations sur une liste de transactions de votre environnement.
Adresse de l'appel API : https://.../lmsapi/transaction/getlist

Requête

Exemple de contenu d'appel de requête des informations d'une liste de transactions :

{
  "filterDate": "2018-08-01T00:00:00Z",
  "filterDateMax": "2018-08-29T00:00:00Z",
  "filterTransactionType": 2
}

ATTENTION : La méthode nécessite des dates en UTC puisque la conversion sera faite côté serveur. Un maximum de 1000 transactions sera retourné pour une demande excédant une journée.

Description des champs

NomObligatoireCommentaires/description
filterDateXDate de début de la période. L'appel retournera toutes les transactions effectuées après ce moment.
(Type String YYYY-MM-DDTHH:MM:SSZ)
filterDateMax Date de fin de la période. Sera remplacée par la date actuelle si non présente.
(Type String YYYY-MM-DDTHH:MM:SSZ)
filterTransactionType Permet de ne retourner que les transactions du type spécifié. Voir les valeurs possibles du champ transactionType dans la description des champs de la réponse.
(Type Number)

Réponse

Exemple de contenu d'appel de réponse des informations d'une liste de transactions :

[
 {
  "id": "V3nIrMZqmh",
  "billingID": "vBW5xMw1VQ2A8DFaNy22zA%3d%3d",
  "billingReferenceNumber": 123,
  "billingFamily" : 1,
  "transactionDate": "2016-11-11T13:05:29.963",
  "priceName": "Prix 2(membre)",
  "currency": "cdn",
  "basePrice": 50.0,
  "subscribeDiscountPercent": 10.0,
  "lotPurchaseDiscountPercent": 0.0,
  "quantity": 1,
  "totalPrice": 52.49,
  "paymentMethodID": 5,
  "paymentMethodType": 0,
  "transactionType": 1,
  "comment": "Un commentaire",
  "onlineTransactionID": "mtp198yt",
  "billToName": "Joann Test 101",
  "billingAddress": "690, Saint-Joseph Est",
  "billingAddress2": "",
  "billingPostalCode": "G1K 3B9",
  "billingCity": "Quebec",
  "billingCountryID": 37,
  "billingStateID": 11,
  "balance": 0.0,
  "authorizationStatus": 0,
  "paymentStatus": 0,
  "billingType": 1,
  "userID": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
  "providerId": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
  "workspaceId": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
  "workspaceInstanceId": "RXsZEdyhO7LrjXr1%2bw1ySQ%3d%3d",
  "cohortId": "0ZmJHkU8UY9k2si1sOPcGg%3d%3d",
  "programId": "0ZmJHkU8UY9k2si1sOPcGg%3d%3d",
  "onlinePaymentType": "",
  "taxes": {"TPS":2.5,"TVQ":4.99},
  "promoCodes": 
    [  
      {
        "id": "O%2f9dsKKECyJSUWkOK37D8g%3d%3d",
        "amount": 32.1
      }
    ] ,
   "shoppingCartTransactionID": "",
  "isExternal": false,
  "paymentTransactionID": "V3nIrMZqmh"
 },
{...}
]

Description des champs

Chaque élément de la liste contient les champs suivants :

Nom 

Commentaires/description

id

Identifiant unique de la transaction. Une transaction est liée à une inscription (billingID).

billingID

Identifiant unique de l’inscription. Une inscription (billing) est potentiellement liée à plusieurs transactions.

billingReferenceNumber

Le numéro de référence de la facture émise pour cette transaction.

billingFamilyPrécise quelle composante du système touche l'inscription :
  • 1 = Inscription
  • 2 = Demande de dispense (règlement)
  • 3 = Achat en lot
  • 4 = Transaction par panier d'achat (plusieurs inscriptions)
  • 5 = Autodéclaration

transactionDate

Date à laquelle la transaction a été effectuée.

(Type String YYYY-MM-DDTHH:MM:SSZ)

priceName

Nom du tarif utilisé pour mener la transaction.

(Type String, entre 5 à 250 caractères) 

currency

Devise utilisée pour mener la transaction

(Type String).

basePrice

Montant avant les taxes.

(Type Number) 

subscribeDiscountPercent

Pourcentage de rabais appliqué à la transaction.

(Type Number)

lotPurchaseDiscountPercentPourcentage de rabais d'achat en lot appliqué à la transaction.

(Type Number)

quantityQuantité de places achetées.
(Type Number)

totalPrice

Montant total incluant les taxes et le ou les rabais.

 (Type Number)

paymentMethodID

Identifiant de la méthode de paiement de la transaction.

(Type Number)

paymentMethodType

Type de paiement de la transaction.

(Type Number)

  • 1 = Paiement en argent comptant
  • 2 = Paiement par chèque
  • 3 = Paiement par carte de crédit
  • 4 = Paiement par facturation

transactionType

Type de la transaction

(Type Number)

  • 0 = Inscription
  • 1 = Paiement en attente
  • 2 = Paiement
  • 3 = Annulation
  • 4 = Remboursement en attente
  • 5 = Remboursement
  • 6 = Paiement différé, utilisé pour les inscriptions utilisant la combinaison de l'approbation et du paiement par facturation
  • 7 = Paiement différé remboursé, utilisé lors du remboursement d'une transaction avec paiement par facturation

comment

Note administrative laissée sur la transaction.

(Type String)

onlineTransactionID

Identifiant unique de la transaction en ligne (fournisseur de paiement électronique).

(Type String)

billToNameChamp « Facturer au nom de » sur l'adresse de facturation.
(Type String)

billingAddress

Ligne 1 de l'adresse de facturation.

(Type String)

billingAddress2

Ligne 2 de l'adresse de facturation.

(Type String)

billingPostalCode

Code postal de l’adresse de la transaction 

(Type String)

billingCity

Ville de l’adresse de la transaction 

(Type String)

billingCountryID

Pays de l’adresse de la transaction – Type Number (Voir Annexe 3 : Pays et États/Provinces)

billingStateID

État ou province de l’adresse de la transaction – Type Number (Voir Annexe 3 : Pays et États/Provinces)

balance

Balance de l’inscription

(Type Number)

authorizationStatus

Enum AuthorizationStatus:

  • 0 = Authorized
  • 1 = Refused
  • 2 = WaitingAuthorization

 

paymentStatus

Enum PaymentStatus:

  • 0 = None
  • 1 = PaymentPending
  • 2 = PaymentDone
  • 3 = Canceled
  • 4 = RefundPending
  • 5 = Refund

billingType

Enum BillingType :

  • 0 = None
  • 1 = Billed

userID

Identifiant de l’utilisateur associé à la transaction 

(Type string)

providerId

Identifiant du fournisseur de services associé à la transaction (Type String)

workspaceId

Identifiant de la formation associée à la transaction (Type String)

workspaceInstanceId

Identifiant de la session associée à la transaction (Type String)

cohortId

Identifiant unique de la cohorte (Type String)
programIdIdentifiant unique du programme de formation (Type String)

onlinePaymentType

Retourné par le système de paiement, par exemple Moneris ou Braintree. Voir les valeurs de cartes possibles dans le tableau plus bas.

isExternal

Indique s’il s’agit d’un remboursement qui a eu lieu dans un autre système (Type Boolean)

taxes

(Taxes appliquées sur la transaction) Liste de taxes

promoCodes

(Codes promotionnels appliqués sur la transaction) Liste de code promotionnel

shoppingCartTransactionIDDans le cas où il y a un panier avec plusieurs articles, c'est l'identifiant de la "master" transaction qui regroupe les différentes inscriptions et sur laquelle la vraie transaction a été faite auprès du connecteur de paiement.
paymentTransactionIDL’identifiant de la transaction de paiement dont est issue une inscription ou un panier d'achats contenant plusieurs inscriptions.

Valeurs des types de cartes supportées par les connecteurs de paiements (onlinePaymentType)

Nom 

Types de cartes et leurs codes

Moneris

M = Mastercard

V = Visa

AX =  American Express

DC = Diners Card

NO = Novus / Discover

SE = Sears

Paysafe

AM = American Express
DI = Discover
JC = JCB
MC = Mastercard
MD = Maestro
SO = Solo
VI = Visa
VD = Visa Debit
VE = Visa Electron

Braintree

“American Express”
“Carte Blanche”
“China UnionPay”
“Discover”
“Elo”
“JCB”
“Laser”
“Maestro”
“MasterCard”
“Solo”
“Switch”
“Visa”
“Unknown”

Global Payments

VISA = Visa

MC = MasterCard

AMEX = American Express

DINERS = Diners

DISCOVER = Discover

JCB = JCB

UATP = UATP

Inscriptions et transactions - Webhook

L’objet transaction est retourné par les webhooks avec les données suivantes :

Réponse

{
  "notificationType": 1,
  "portal": {
    "id": "IW%2fU8RKO1T7UjasbUcn8rQ%3d%3d",
    "title": {
      "texts": [{
          "text": "Portail de formation",
          "languageId": 1
        }
      ],
      "IsHaveText": true
    },
    "subTitle": {
      "texts": [{
          "text": "Tellement le meilleur portail",
          "languageId": 2
        }
      ],
      "IsHaveText": true
    },  
    "description": {
      "texts": [{
          "text": "",
          "languageId": 1
        }  
      ],
      "IsHaveText": true
    },
    "coverID": 8,
    "allowNewAccount": true,
    "creationDate": "0001-01-01T00:00:00",
    "url": "portailpreprod.sviesolutions.com / JGTHINKWITHPORTALS",
    "name": "Votre portail de formation",
    "language": 1,
    "branchID": "vrj0IrWe0HF%2bK9OKGpDF5A%3d%3d",
    "hasCustomLogo": true,
    "lastModificationDate": "0001-01-01T00:00:00",
    "defaultBranchID": "vrj0IrWe0HF % 2bK9OKGpDF5A%3d%3d",
    "isDefaultPortal": true,
    "displayType": 1
  },
  "user": {
    "id": "czYuG21TjcY7hETmR3TQHg%3d%3d",
    "password": null,
    "login": "Brambo",
    "firstName": "Brent",
    "lastName": "Rambo",
    "language": 1,
    "email": "karl.bouchard @ sviesolutions.com",
    "companyName": null,
    "functionTitle": null,
    "phoneHome": null,
    "phoneMobile": null,
    "phoneWork": null,
    "phonePublic": 0,
    "timeZone": 10,
    "address": "690 Rue Saint - Joseph Est",
    "address2": null,
    "postalCode": "G1K 3B9",
    "city": "Québec",
    "countryId": 37,
    "stateId": 11,
    "customFields": {
      "Membre": null,
      "NbYearService": 0,
      "DateEmbauche": "0001-01-01T00:00:00",
      "IdUnique": null
    }
  },
  "workspaceInstance": {
    "id": "7Zi3zYvuHTZ7YLK7TQjdlQ%3d%3d",
    "name": "33434a",
    "creationDate": "0001-01-01T00:00:00",
    "startDate": "0001-01-01T00:00:00",
    "endDate": "0001-01-01T00:00:00",
    "minParticipants": 0,
    "maxParticipants": 0,
    "isOverBookingSubscription": false,
    "workspaceId": "vBW5xMw1VQ2A8DFaNy22zA%3d%3d",
    "nbUsersSubbed": -1,
    "nbUsersQueue": -1
  },
  "workspace": {
    "id": "vBW5xMw1VQ2A8DFaNy22zA%3d%3d",
    "creationDate": "2016-11-16T14:52:27.353",
    "name": "Ma formation",
    "categoryId": "",
    "visibilityType": 0,
    "maxParticipants": 0,
    "minParticipants": 0,
    "type": "vBW5xMw1VQ2A8DFaNy22zA%3d%3d",
    "providerId": "Mw1VQ2A8DFaNy22zA%3d%3d",
    "language": 1,
    "description": "",
    "subscriptionType": 0,
    "startDate": "0001-01-01T00:00:00",
    "endDate": "0001-01-01T00:00:00",
    "isOverBookingSubscription": true,
    "authorizationType": 0,
    "enrolmentType": 0,
    "externalLink": "monURL",
    "keywords": "mot, clef, formation",
    "showAvailableSubscriptions": true,
    "certificateId": "",
    "credits": 0.0,
    "nbUsersSubbed": -1,
    "nbUsersQueue": -1,
    "isAutodeclaration": true,
    "accreditationNumber": "12345-e",
    "autodeclarationEndDate": "0001-01-01T00:00:00",
    "customFields": {
      "Champ1": "Snow",
      "Test": ""
    }
  },
  "transaction": {
    "id": "Y2E5wzApua",
    "billingID": "YxLO % 2fUEIoCFRX7S3vH0Yyw%3d%3d",
    "transactionDate": "0001-01-01T00:00:00",
    "priceName": "",
    "currency": "cdn",
    "basePrice": 5,
    "subscribeDiscountPercent": 0,
    "totalPrice": 0,
    "paymentMethodID": 21,
    "paymentMethodType": 0,
    "transactionType": 0,
    "comment": "",
    "onlineTransactionID": "",
    "billingAddress": "690 Rue Saint - Joseph Est",
    "billingAddress2": null,
    "billingPostalCode": "G1K 3B9",
    "billingCity": "Québec",
    "billingCountryID": 37,
    "billingStateID": null,
    "balance": 0,
    "authorizationStatus": 0,
    "paymentStatus": 0,
    "billingType": 1,
    "userID": "czYuG21TjcY7hETmR3TQHg%3d%3d",
    "taxes": {
      "TPS": 2.32,
      "TVQ": 3.35
    },
    "promoCodes": 
      [  
        {
          "id": "O%2f9dsKKECyJSUWkOK37D8g%3d%3d",
          "amount": 32.1
        }
      ]

  }
}

Description des champs

NomCommentaires/description
notificationTypeType de notification émise par le webhook.
(Type Number)
portalObjet représentant le portail sur lequel l'inscription a été effectuée. Voir l'article Portails pour le détail des champs.
(Type Objet)
userObjet représentant l'utilisateur concerné. Voir l'article Utilisateurs pour le détail des champs.
(Type Objet)
workspaceInstanceObjet représentant la session concernée. Voir l'article Sessions pour le détail des champs.
(Type Objet)
workspaceObjet représentant la formation ou l'événement concerné. Voir l'article Formations et événements pour le détail des champs.
(Type Objet)
transactionObjet représentant la transaction. Les champs sont les mêmes que ceux retournés par transaction/get.
(Type Objet)

Description des codes d’erreurs de transaction

Numéro

Message

Commentaires/description

600

Required id

Vous devez fournir un identifiant pour la transaction.

601

Invalid id

L’identifiant fourni pour la transaction est invalide.

Cette réponse a-t-elle été utile ? Oui Non

Envoyer vos commentaires
Désolés de n'avoir pu vous être utile. Aidez-nous à améliorer cet article en nous faisant part de vos commentaires.