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
status
de l’autorisation est défini sur closed
, libérant le montant de l’achat maintenu pour cette autorisation. Une transaction de solde de type issuing_authorization_release
est créée pour représenter cette action. - Un nouvel objet de transaction de type
capture
est 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 représentant un remboursement ou un crédit, nous essayons de la lier à l’autorisation de paiement initiale. Cependant, les remboursements ne sont pas toujours liés à ce paiement ou à cette autorisation d’origine, des erreurs peuvent donc se produire. Il se peut que nous l’associons à une autorisation sans rapport ou qu’il nous soit impossible de l’associer à l’autorisation correspondante (par exemple, si la carte est créditée au lieu d’être remboursée). Dans ce cas, le champ authorization
de la transaction est défini sur null
et la transaction ne sera pas liée à l’autorisation. Nous traitons tous les remboursements et crédits de la même manière, indépendamment de leur lien avec une autorisation de paiement.
{
"id": "ipi_1GTG10EEsyYlpYZ9VJn2xV3B",
"object": "issuing.transaction",
"amount": 100,
"authorization": "iauth_1GBZQyEEsyYlpYZ9255L8GQC",
"balance_transaction": null,
"card": "ic_1GBZQJEEsyYlpYZ99v6rq38S",
"cardholder": null,
"created": 1585783834,
"currency": "usd",
"livemode": false,
"merchant_amount": 100,
"merchant_currency": "usd",
"merchant_data": {
"category": "taxicabs_limousines",
"city": "San Francisco",
"country": "US",
"name": "Rocket Rides",
"network_id": "1234567890",
"postal_code": "94111",
"state": "CA",
"url": null
},
"metadata": {},
"type": "refund",
}
Tests
Pour simuler la création d’une transaction de remboursement, vous pouvez utiliser l’API Transaction Refund dans les assistants de test d’Issuing.
curl -X POST https://api.stripe.com/v1/test_helpers/issuing/transactions//refund \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:"
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.
curl https://api.stripe.com/v1/test_helpers/issuing/transactions/create_unlinked_refund \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d card= \
-d amount=1000