Issuing の取引
Issuing を使用して取引を処理する方法をご紹介します。
オーソリが承認されてキャプチャーされると、オーソリの status
が closed
に設定され、Transaction (取引) オブジェクトが作成されます。これは通常 24 時間以内に行われます。ただし、ホテル、航空会社、レンタカー会社は、オーソリ後最大 31 日以内であればキャプチャーできます。
オーソリがキャプチャされると、2 つのことが起こります。
- オーソリの
status
が closed
に設定され、そのオーソリによって保留されている購入金額がリリースされます。これを示すために、タイプ issuing_authorization_release
の取引残高が作成されます。 - タイプ
capture
の新しい Transaction オブジェクトが作成されます。購入金額は Issuing に使用している残高から差し引かれます。
支出管理、リアルタイムのオーソリ管理、およびカードステータス (カードが有効かどうか) をキャプチャーに適用しないでください。これらはオーソリが承認されるかどうかの判断に使用できますが、承認されたオーソリを常に成功としてキャプチャーします。
その他の取引を処理する
通常の取引に加え、処理に対応できるようにする必要があるその他の取引もいくつか存在します。
返金は、type
が refund
の取引です。
返金や入金を表す取引を作成する場合、Stripe はその取引を元の支払いのオーソリに関連付けるようにします。返金は元の支払いの取引またはオーソリに関連付ける必要がないため、関連付けは厳密な決まりではありません。結果的に、無関係のオーソリに関連付けたり、まったくオーソリに関連付けできないことがあります (たとえば、カードに返金されるのではなく入金された場合など)。このような場合、取引の authorization
フィールドは null
に設定され、取引はオーソリに関連付けられません。Stripe は、支払いのオーソリとの連携関係にかかわらず、すべての返金と入金を同じ方法で処理します。
{
"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",
}
テスト
返金取引の作成をシミュレーションするには、Issuing テストヘルパーで Transaction Refund (返金取引) API を使用できます。
curl -X POST https://api.stripe.com/v1/test_helpers/issuing/transactions//refund \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:"
オーソリにリンクされない返金取引を作成するには、Issuing テストヘルパーで Create Unlinked Refund (リンクされない返金の作成) API を使用します。
curl https://api.stripe.com/v1/test_helpers/issuing/transactions/create_unlinked_refund \
-u "sk_test_4eC39HqLyjWDarjtT1zdp7dc
:" \
-d card= \
-d amount=1000