Transactions (Lära)

Table des matières

TRANSACTIONS
    Transaction : transaction/get
    Transaction : transaction/getlist
Inscriptions et transactions - Webhook
Description des codes d’erreurs de transaction

TRANSACTIONS

L’API regroupe les notions de transaction et d’inscription.

Transaction : transaction/get

https://www.domaine.com/lmsapi/transaction/get

/transaction/get (request) - Requête une transaction et son paiement

}
"id": "V3nIrMZqmh" (Obligatoire)
}

/transaction/get (response) – Retourne le détail d'une transaction et son paiement (s’il y a lieu)

{
"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

ATTENTION : La méthode nécessitent uniquement la valeur ‘’id’’ comme obligatoire. Les champs passés sont mis à jour, les champs qui ne sont pas renseignés ne sont simplement pas mis à jour.

Nom 

Obligatoire

Commentaires/description

id

Il s’agit de l’identifiant unique de la transaction. Une transaction est liée à une inscription (billingID)

billingID

 

Il s’agit de l’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

billingFamily
Précise à quelle famille de transaction appartient la facture :
Enum BillingFamily
  • 1 = Subscription
  • 2 =  CycleExemption
  • 3 = LotPurchase
  • 4 = ShoppingCart

transactionDate

 

Date à laquelle la transaction s’effectue

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

priceName

 

Nom du prix de la transaction (ex. tarif Membre)

(Type string –entre 5 à 250 caractères) 

currency

 

Devise de la transaction 

 (Type string)

basePrice

 

Tarif avant les taxes 

(Type Number) 

subscribeDiscountPercent

 

Pourcentage de rabais de la transaction 

(Type string – Number)

lotPurchaseDiscountPercent

Pourcentage de rabais appliqué à la transaction

(Type string – Number)

quantity

Quantité de places achetées

(Type integer)

totalPrice

 

Tarif total incluant les taxes et rabais 

 (Type string – Number)

paymentMethodID

 

Identifiant de la méthode de paiement de la transaction 

(Type integer)

paymentMethodType

 

 Type paiement de la transaction 

(Type Integer)

Enum PaymentType:

  • 1 = Cash
  • 2 = Cheque
  • 3 = Paiement par carte de crédit
  • 4 = Deferred

transactionType

 

Type de la transaction

(type String)

Enum TransactionType:

  • 0 = Subscription
  • 1 = PaymentPending
  • 2 = Payment
  • 3 = Cancel
  • 4 = RefundPending
  • 5 = Refund
  • 6 = Deferred
  • 7 = DeferredRefund

comment

 

 Commentaire sur la transaction

(type String)

onlineTransactionID

 

Identifiant de la transaction en ligne – paiement électronique.

(type String)

billToName

Nom sur l'adresse de facturation
(type string)

billingAddress

 

Adresse de la transaction 

(type String)

billingAddress2

 

Information additionnel sur l’adresse (app, boite à lettre, étage)

(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 service associé à la transaction (type string)

workspaceid

 

Identifiant de la formation associé à la transaction (type string)

workspaceInstanceId

 

Identifiant de la session associé à la transaction (type string)

cohortId


Identifiant unique de la cohorte (type string)
programId

Identifiant unique du programme de formation (type string)

onlinePaymentType

 

Retourner par le système de paiement 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 sytè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

shoppingCartTransactionID
Dans 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.
paymentTransactionID
L’identifiant de la transaction de paiement dont est issue une inscription ou un panier d'achats contenant plusieurs inscriptions.

Transaction : transaction/getlist

https://www.domaine.com/lmsapi/transaction/getlist

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.

/transaction/getlist (request) - Requête d’une liste de transactions

}
"filterDate": "2018-08-01 00:00:00" (Obligatoire),
"filterDateMax": "2018-08-29" (Sera remplacée par la date actuelle si non présent),
"filterTransactionType": "2"
}

/transaction/getlist (response) – Retourne la liste des transactions. (voir transaction/get pour le format)


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 webhook avec les données suivantes :

{
"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 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.