メインコンテンツまでスキップ

step5

手順5 - 売上、キャンセル、返金について

オーソリを取得する

処理は paymentIntentに設定した値 により異なりますので、以下をご確認ください。

ECサイト上で決済を完了した時点でオーソリを取得済みですので、特に作業は必要ありません。



売上請求する

処理は paymentIntentに設定した値 により異なりますので、以下をご確認ください。

Charge(オーソリ / 仮売上)のみ完了している状態ですので、商品の配送手続きが完了したら 売上請求のためのAPIを実行します。 売上請求には、Complete Checkout Session APIのレスポンスで返された chargeId をパラメータで指定してCapture Charge APIを実行します。


tip
  • Complete Checkout Session APIでCharge(オーソリ)を取得した後(またはCreate Charge APIで再オーソリ取得後)7日以上経ってから Capture Charge をした場合は、非同期処理となります。非同期処理はこちらを参照ください。
  • ただし・・・sandboxでは常に同期処理となってしまいます。もしも非同期での検証をしたい場合は、シミュレーション文字列を利用することで短時間ですが非同期を再現することができます。シミュレーション文字列に利用方法は以下のページを参照してください。
    インテグレーションガイド - シミュレーション文字列の使用
  • ChargeとCaptureには1:1の関係性があります。例えば、複数商品を一度のCheckout Sessionで決済したが、発送時期がバラバラになる(=Captureのタイミングが異なる)場合は、それぞれの商品ごとにChargeを生成し直してから Captureする必要があります(その場合は、すでに取得済みのChargeをCancel Chargeし、その後それそれの金額でCreate Chargeしてから、各ChargeごとにCapture Chargeします)。


オーソリをキャンセルする

売上請求前のCharge(オーソリ)はキャンセルすることができます。キャンセルする際には、chargeIdをパラメータに指定してCancel Charge APIを実行します。 ※ただし、Cancel Chargeではオーソリをキャンセルするだけで注文自体をキャンセルするわけでありません。注文自体をキャンセルする場合は「注文をキャンセルする」に記載の対応を実施してください。

すでに売上請求まで完了してる場合はキャンセルできませんので、代わりに「返金」することになります。 下段の「売上完了後の決済をキャンセルする = 返金する」を参照ください。



注文をキャンセルする

売上請求前は、注文自体をキャンセルすることができます。キャンセルする際には Complete Checkout Session APIのレスポンスに含まれる Charge Permission IDをパラメータに指定して Close Charge Permission APIを実行します。 この際、Close Charge Permission APIのリクエストボディに cancelPendingCharges = true をセットすると、生きている Charge (オーソリ)も同時にキャンセルすることができます。

売上請求まで完了している場合はキャンセルできません。 この場合は返金処理することになります。下段の「売上完了後の決済をキャンセルする = 返金する」を参照ください。



売上完了後の決済をキャンセルする = 返金する

売上請求が完了している決済は、"キャンセル" することはできません。 代わりに、返金することになります。 返金する場合は、chargeId をパラメータで指定して Create Refund APIを実行します。

info

返金処理は常に非同期処理となります。非同期処理はこちらを参照ください。
ただし・・・sandboxでは常に同期処理となってしまいます。もしも非同期での検証をしたい場合は、シミュレーション文字列を利用することで短時間ですが非同期を再現することができます。シミュレーション文字列に利用方法は以下のページを参照してください。
インテグレーションガイド - シミュレーション文字列の使用



再オーソリする

処理は paymentIntentに設定した値 により異なりますので、以下をご確認ください。

Complete Checkout Session API実行時に Charge(オーソリ)を生成しています。ただし、Chargeには有効期限があり30日間のみ有効です。 たとえば、Chargeを生成してから実売上(Capture Charge API実行)までに30日以上期間が空く場合は、新たなChargeを生成(再オーソリ)しないと売上請求ができません。 再オーソリする場合は、Complete Checkout Session APIのレスポンスに含まれる chargePermissionid をパラメータに指定し、貴社のタイミング(オーソリを取得したいタイミング)で Create Charge APIを実行しオーソリを取得します(場合により、売上請求も一気に行います)。
APIが成功すると、新たなchargeId が返りますので、これを注文情報に紐づけて保存してください。

info
  • Create Charge. API実行時にcaptureNowパラメータをtrueに設定すると、Charge(オーソリ)を生成するとともにCapture(売上請求)も同時に実行されます。
  • Create Charge API実行時に canHandlePendingAuthorizationパラメータをtrueに設定している場合は、オーソリ取得が非同期となります。非同期の場合の動きはこちらのFAQを参照してください。
    また非同期処理の詳細はこちらを参照ください。