Search Overlay

Traiter un achat par prélèvement automatique fractionné

POST /directdebit/v1/accounts/account_id/purchases

Le traitement d’un achat par paiements fractionnés est une variante du traitement d’un achat standard par prélèvement automatique, où une part du montant total de la transaction est transférée sur un ou plusieurs comptes liés.

Une requête d’achat vous permet de transférer de l’argent du compte bancaire d’un client sur votre compte marchand. Pour traiter un achat, vous devez adresser une requête POST au point d’extrémité des achats pour le type de compte bancaire concerné. Dans l’exemple ci-dessous, il s’agit d’un compte ACH. La transaction est effectuée en temps réel, mais le réseau bancaire prend généralement 3 à 5 jours pour transférer les fonds. La requête contient également un profil et des informations sur l’adresse de facturation. Vous pouvez effectuer une requête sans profil, sans adresse de facturation ou sans compte bancaire si vous utilisez un jeton de paiement de l’API Coffre-fort client Paysafe. Voir notre section Référence API pour de plus amples renseignements.

curl -X POST https://api.test.paysafe.com/directdebit/v1/accounts/89987201/purchases \
-u devcentre322:B-qa2-0-53625f86-302c021476f52bdc9deab7aea876bb28762e62f92fc6712d0214736abf501e9675e55940e83ef77f5c304edc7968 \
-H ’Content-Type: application/json’ \
-d ’ {
"merchantRefNum": "ORDER_ID:1231",
"amount":10098,
"ach": {
"accountHolderName": "XYZ Company",
"accountType": "CHECKING",
"accountNumber": "988772192",
"routingNumber": "211589828",
"payMethod": "WEB"
},
"customerIp": "192.0.126.111",
"profile": {
"firstName": "Joe",
"lastName" : "Smith",
"email": "Joe.Smith@hotmail.com"
},
"billingDetails": {
"street": "100 Queen Street West",
"city": "Los Angeles",
"state": "CA",
"country": "US",
"zip": "90210",
"phone": "3102649010"
},
"splitpay": [
{
"linkedAccount": "123124124",
"percent": 5
},
{
"linkedAccount": "767862873",
"amount": 500
}
]
}’

L’objet splitpay est un ensemble de comptes liés, dont chacun possède les attributs suivants :

ValeurTypeRequis?DescriptionExemple
linkedAccountstringOuiIl s’agit de l’identifiant du compte lié. Ce compte doit déjà être lié au compte du marchand.123124124
percentnumberLe pourcentage ou le montant est requis, mais pas les deux.

Le pourcentage du montant total de la transaction à transférer sur le compte lié, jusqu’à deux décimales. Le pourcentage total de tous les comptes liés ne peut dépasser 100 %.

5,31
montantintegerIl s’agit du montant à transférer sur le compte lié en unités monétaires mineures. Le montant total de tous les comptes liés ne peut dépasser le total de la transaction.500

Par défaut, le système de traitement des prélèvements automatiques vérifie qu’il n’y a pas de transactions en double. Vous pouvez ignorer la vérification des doublons en définissant le paramètre dupCheck sur « false », comme dans l’exemple suivant : "dupCheck": "false",

Dans le cas des paiements fractionnés, les éléments suivants sont également vérifiés :

  • Un pourcentage ou un montant, mais pas les deux, est spécifié pour chaque compte lié.
  • Le paiement fractionné est activé pour le compte du partenaire ou du marchand identifié dans la requête API POST ou GET.
  • Les comptes liés sont liés au compte du partenaire ou du marchand.
  • Le compte du partenaire/marchand ne fait pas partie des comptes liés.
  • La somme des montants alloués à tous les comptes liés ne dépasse pas le total de la transaction.

Avant d’essayer l’exemple ci-dessus, vous devez :

  • Fournir un numéro de référence de marchand unique pour chaque transaction (si cette valeur n’est pas unique et que le numéro a été utilisé au cours des 90 derniers jours, la requête sera considérée comme un doublon).
  • Remplacer le numéro de compte (89987201 dans l’exemple ci-dessus) dans l’URL par le numéro de compte de test que vous avez reçu.
  • Remplacer la clé API (après le -u) par la clé API que vous avez reçue.

{

"links": [
{
"rel": "self",
"href": "https://api.test.paysafe.com/directdebit/v1/accounts/89987201/purchases/a02e52c7-c991-4418-966a-b62989cb0eae"
}
],
"id": "a02e52c7-c991-4418-966a-b62989cb0eae",
"merchantRefNum": "ORDER_ID:1231",
"amount":10098,
"ach": {
"accountHolderName": "XYZ Company",
"accountType": "CHECKING",
"lastDigits": "92",
"routingNumber": "211589828",
"payMethod": "WEB"
},
"customerIp": "192.0.126.111",
"profile": {
"firstName": "Joe",
"lastName" : "Smith",
"email": "Joe.Smith@hotmail.com"
},
"billingDetails": {
"street": "100 Queen Street West",
"city": "Los Angeles",
"state": "CA",
"country": "US",
"zip": "90210",
"phone": "3102649010"
},
"txnTime": "2017-12-14T15:12:18Z",
"currencyCode": "USD",
"status": "PENDING",
"splitpay": [
{
"linkedAccount": "123124124",
"percent": 5,
"amount": 505
},
{
"linkedAccount": "767862873",
"amount": 500
}
]

}

La réponse renvoie une valeur d’identifiant et l’état indique si l’achat est terminé, en attente ou échoué. L’identifiant d’achat peut être utilisé pour rechercher ou annuler l’achat.

L’objet splitpay de la réponse est un tableau contenant un ou plusieurs objets de compte lié :

ValeurTypeRequis?DescriptionExemple
montantintegerOui

Il s’agit du montant à transférer sur le compte lié en unités monétaires mineures. Il s’agit soit du « montant » (s’il a été spécifié) dans la requête, soit – si « pourcentage » a été spécifié – du résultat du calcul du pourcentage.

505
linkedAccountstringOuiIl s’agit de l’identifiant du compte lié. Ce compte doit déjà être lié au compte du marchand.123124124
percentnumberNon

Le « pourcentage » (s’il est spécifié) dans la requête pour le compte lié, qui est le pourcentage du montant total de la transaction à transférer vers ce compte. Il n’est pas renvoyé si un « montant » a été spécifié dans la requête.

5,25
Sur cette page