Amazon Pay FAQ

OneTime(都度支払い)で、注文確定後の増額・減額の処理方法を知りたいです。

増額をする場合は、Amazon Payボタンの描画時に下記パラメーターをPayloadに設定頂く事で増額機能をご利用いただけます。
paymentDetails.allowOvercharge = true
※ボタン描画時にPayloadに当項目を設定していない場合は、増額機能はご利用頂けませんのでご留意下さい。

増額設定時の請求上限は、70000円かUpdateCheckoutSessionで指定した金額の900%の高い方までとなっています。
(増額可能な金額は、請求上限-注文金額(UpdateCheckoutSessionで指定した金額)となります)
ChargePermissionオブジェクトのlimits.amountLimit.amount/ limits.amountBalance.amount項目にて増額可能な金額(総額・残額)をご確認いただけます。

APIでの処理方法

注文確定後の増額の処理方法

注文金額で取得したオーソリを取り消して、増額後の総額でオーソリすることで処理できます。
(または、増額分だけ追加でオーソリすることも可能です)

例:10,000円の注文だったが、離島送料の追加で11,500円になった場合

処理概要 a) 増額後の総額でオーソリし、売上請求する b)増額分だけ追加でオーソリし、売上請求する
1)注文確定時 ・Update Checkout Session Details API を呼び出す(Payment intent = Authorize , Charge Amount=10000を設定) ・Update Checkout Session Details API を呼び出す(Payment intent = Authorize, Charge Amount=10000を設定)
2)増額決定時 ・Create Charge API を呼び出す(Amount=11500を設定)
・Cancel Charge API を呼び出す(1.で取得したオーソリ10000を開放)
・Create Charge API を呼び出す(Amount=1500を設定)
3)売上請求時 ・Capture Charge API を呼び出す(Amount=11500を設定) ・1)で生成したオーソリに対してCapture Charge API を呼び出す(Amount=10000を設定)
・2)で生成したオーソリに対してCapture Charge API を呼び出す(Amount=1500を設定)
4)売上請求が全て完了した時 ・Close Charge Permission API を呼び出す ・Close Charge Permission API を呼び出す 

※留意点その1:aの方法は、2)のCreate Charge APIを呼び出したときにオーソリ失敗する可能性がbの方法よりも上回ります。
※留意点その2:aの方法は、デビットカード決済の場合、一時的に「増額前の金額+増額後の金額」が引き落とされます。増額前の金額の返金は後日行われます。
※留意点その3:bの方法は、Chargeオブジェクトが複数となって、それぞれに対してCapture Charge API を呼び出すことになります。
※留意点その4:処理概要4のClose Charge Permissionは、実行すると以降の追加請求(Create Charge)は実施いただけません。予定している全ての請求が完了した後に実行してください。

注文確定後の減額の処理方法

減額後の金額で売上請求することで処理できます。また減額下限値は1円となります。
(または、減額後の金額でオーソリし直してから売上請求することも可能です)

例:10,000円の注文だったが、一部キャンセルが発生して7,000円になった場合

処理概要 a)減額後の金額で売上請求する b)減額後の金額でオーソリし直してから売上請求する
1)注文確定時 ・Update Checkout Session Details API を呼び出す(Payment intent = Authorize , Charge Amount=10000を設定) ・Update Checkout Session Details API を呼び出す(Payment intent = Authorize, Charge Amount=10000を設定)
2)減額決定時 (処理不要) ・Cancel Charge API を呼び出す
・Create Charge API を呼び出す(Amount=7000を設定)
3)売上請求時 ・Capture Charge API を呼び出す(Amount=7000を設定) ・Capture Charge API を呼び出す(Amount=7000を設定)
4)売上請求が全て完了した時 ・Close Charge Permission API を呼び出す ・Close Charge Permission API を呼び出す 

※留意点その1:bの方法は、2)のCreate Charge APIを呼び出したときにオーソリ失敗する可能性があります。
※留意点その2:処理概要4のClose Charge Permissionは、実行すると以降の追加請求(Create Charge)は実施いただけません。予定している全ての請求が完了した後に実行してください。
※下限は1円まで可能です。

増額の処理フロー

image

※HTTPステータスコード 2xx 正常系 ベースの処理フローでの記載です。
Amazon Pay APIのレスポンス受信後、HTTPステータスコードが正常系であることを確認後に、処理フローへ進むよう実装してください。

増額の処理フロー例(上記aのケース)

image

※HTTPステータスコード 2xx 正常系 ベースの処理フローでの記載です。
Amazon Pay APIのレスポンス受信後、HTTPステータスコードが正常系であることを確認後に、処理フローへ進むよう実装してください。

セラーセントラルでの処理方法

増額請求の処理方法

増額設定された場合、セラーセントラルで請求処理を行いましたら、下記スクリーンショットのように「追加請求金額」欄が表示されます。
上の請求金額欄に注文金額を、下の「追加請求金額」に増額分を入れていただき、「確認する」ボタンを押したら処理できます。

image

減額請求の処理方法

減額後の金額を請求金額欄に入れてから処理ください。

(補足)Amazonギフトカードについて

Amazonギフトカードの場合については Amazonギフトカードの利用について注意点を知りたいです。 をご参照ください。

参考

CloseChargePermissionを実行した際に、status: 422 InvalidChargePermissionStatusエラーが返却されます。