Transactions Issuing
Comment utiliser Issuing pour gérer des transactions.
Une fois qu’une autorisation est approuvée et capturée, le status de l’autorisation est défini sur closed, et un objet Transaction est créé. Cela survient généralement sous 24 heures. Cependant, les hôtels, les compagnies aériennes et les sociétés de location de voiture peuvent capturer une autorisation jusqu’à 31 jours plus tard.
Lorsqu’une autorisation est capturée, deux choses surviennent.
- Le
statusde l’autorisation est défini surclosed, libérant le montant de l’achat maintenu pour cette autorisation. Une transaction de solde de typeissuing_est créée pour représenter cette action.authorization_ release - Un nouvel objet de transaction de type
captureest créé. Le montant de l’achat est déduit du solde utilisé pour Issuing.
Les contrôles des dépenses, les contrôles des autorisations en temps réel et les contrôles d’état de la carte (si elle est active ou non) ne s’appliquent pas à la capture. Ceux-ci peuvent être utilisés pour déterminer si les autorisations sont approuvées, mais les captures pour les autorisations approuvées aboutissent toujours.
Traitement d’autres transactions
En plus des autorisations régulières, il existe d’autres cas que vous devriez savoir gérer.
Un remboursement est une transaction de type refund.
Lorsque nous créons une transaction correspondant à un remboursement ou à un avoir, nous tentons de l’associer à l’autorisation de paiement initiale. Comme les remboursements ne sont pas systématiquement rattachés à la transaction de paiement ou à l’autorisation d’origine, cette association reste approximative. Il peut donc arriver qu’une transaction soit associée à une autorisation non pertinente ou qu’aucune association ne soit possible (par exemple, lorsqu’un crédit est appliqué à la carte bancaire sans être lié à un remboursement). Dans ces situations, le champ authorization de la transaction est défini sur null et aucun lien n’est établi avec une autorisation. Tous les remboursements et avoirs sont traités de la même manière, qu’ils soient ou non associés à une autorisation de paiement.
Remarque
Les remboursements seront toujours traités et crédités auprès de vous même si le status de votre carte bancaire est inactive ou canceled.
Exemple de remboursement standards
{ "id": "ipi_1GTG10EEsyYlpYZ9VJn2xV3B", "object": "issuing.transaction", "amount": 100, "authorization": "iauth_1GBZQyEEsyYlpYZ9255L8GQC", "balance_transaction": null, "card":, "cardholder": null, "created": 1585783834, "currency": "eur", "livemode": false, "merchant_amount": 100, "merchant_currency": "eur", "merchant_data": { "category": "taxicabs_limousines", "city": "Berlin", "country": "DE", "name": "Rocket Rides", "network_id": "1234567890", "postal_code": "45276", "url": null }, "metadata": {}, "type": "refund" }"{{CARD_ID}}"
Annulations de remboursement
Dans de rares cas, un remboursement peut avoir besoin d’être annulé. Cela se produit généralement lorsque des remboursements ont été traités en double et qu’un remboursement doit être annulé. Les annulations de remboursement sont représentées par des transactions dont le type est défini sur refund et dont le champ amount est négatif (le champ amount est positif pour les remboursements standards).
Par exemple, si un marchand traite accidentellement deux remboursements de 17,70 USD pour la même transaction, le système crée une transaction d’annulation de remboursement d’un montant de -17,70 USD (ou un montant similaire, compte tenu des différences de change) pour annuler l’un des remboursements en double.
{ "id": "ipi_1SftmD05sFo7Lo8prb0oyBgc", "object": "issuing.transaction", "amount": -1770, "authorization": "iauth_1GBZQyEEsyYlpYZ9255L8GQC", "balance_transaction": null, "card":, "cardholder": null, "created": 1585783834, "currency": "eur", "livemode": false, "merchant_amount": -1770, "merchant_currency": "eur", "merchant_data": { "category": "taxicabs_limousines", "city": "Berlin", "country": "DE", "name": "Rocket Rides", "network_id": "1234567890", "postal_code": "45276", "url": null }, "metadata": {}, "type": "refund" }"{{CARD_ID}}"
Tester les remboursements
Pour simuler la création d’une transaction de remboursement, vous pouvez utiliser l’API Transaction Refund dans les assistants de test d’Issuing.
Pour créer une transaction de remboursement qui ne soit pas liée à une autorisation, utilisez l’API Create Unlinked Refund dans les assistants de test d’Issuing.
Transactions
Les transactions capturées sur un FinancialAccount ou remboursées vers celui-ci disposent également d’un ReceivedDebit ou d’un ReceivedCredit correspondant, associé sous le champ treasury.
{ "id": "ipi_1GTG10EEsyYlpYZ9VJn2xV3B", "object": "issuing.transaction", "type": "capture", "treasury": { "received_debit": "rd_1KsVPhACgxNDEoMCiKgN6Fm4" } }
L’impact de ces captures et remboursements sur les FinancialAccounts se reflète dans les transactions. Il n’y a pas de BalanceTransactions.