Amazon Pay FAQ

CV1で作成したオブジェクトをCV2のAmazon Pay APIで扱うことができますか?

CV1(古いバージョン)で作成したOrderReferenceオブジェクト/Authorizationオブジェクト/Captureオブジェクト/BillingAgreementオブジェクトをCV2のAmazon Pay APIで再オーソリする/売上請求する/返金することが可能です。

CV2 APIを使用したCV1注文の管理

CV1で作成された古い注文に対してCV2 APIで処理する場合は、下記の対応表を参考に該当する処理を実行してください。
詳細は参考リンクにあるインテグレーションガイドの内容をご覧ください。

ワンタイムペイメントAPIからOneTime(都度支払い)API

CV1 API CV2移行手順
Authorize CV1のAmazonOrderReferenceIdを使用したCreate Charge。 Order Reference objectはOpen状態である必要があります。
同じトランザクションを使用して支払いを売上請求するするには、captureNowをtrueに設定します。
オーソリを同期にするか非同期にするかを指定するにはCanHandlePendingAuthorizationパラメータを使用してください。
Cancel Order Reference  CV1のAmazonOrderReferenceIdを使用したClose Charge Permission。cancelPendingChargesをTrueに設定します。
Capture 次の手順を実行します:
1. CV1のAmazonAuthorizationIdの21番目の文字を文字「A」から文字「C」に変更します。
例:S01-5797829-1888777-A043451からS01-5797829-1888777-C043451。
2. 変更された値を使用してCapture Chargeを実行します。
Close Authorization 次の手順を実行します:
1. CV1のAmazonAuthorizationIdの21番目の文字を文字「A」から文字「C」に変更します。
例:S01-5797829-1888777-A043451からS01-5797829-1888777-C043451。
2. 変更された値を使用してCancel Chargeを実行します。
Close Order Reference CV1のAmazonOrderReferenceIdを使用したClose Charge Permission。cancelPendingChargesをFalseに設定します。
Get Authorization Details 次の手順を実行します:
1. CV1のAmazonAuthorizationIdの21番目の文字を文字「A」から文字「C」に変更します。
例:S01-5797829-1888777-A043451からS01-5797829-1888777-C043451。
2. 変更された値を使用してGet Charge を実行します。

CV1 Authorizationの状態とCV2 Chargeの状態の対応は次の通りです:
Pending = AuthorizationInitiated
Open = Authorized
Closed = ReasonCodeがMaxAmountCapturedの場合はCaptured, その他の全てのReasonCodeの場合は、Canceled
Declined = Declined
Get Capture Details CV1のAmazonCaptureIdを使用したGet Charge。

CV1 Captureの状態とCV2 Chargeの状態の対応は次の通りです:
Pending = CaptureInitiated
Completed = Captured
Closed = Canceled
Declined = Declined
Get OrderReference Details  CV1のAmazonOrderReferenceIdを使用したGet Charge Permission。

CV1 ObjectReference状態とCV2 ChargePermisionの状態の対応は次の通りです:
CV1で作成したOrderReferenceをCV2 Get Charge Permission APIなどで取得するとCharge Permissionの状態はNonChargeableとなります。
Get Refund Details CV1のAmazonRefundIdを使用したGet Refund。

CV1 Refundの状態とCV2 Refundの状態の対応は次の通りです:
Pending = RefundInitiated
Completed = Refunded
Declined = Declined
Refund CV1のAmazonCaptureIdを使用したCreate Refund。 CaptureオブジェクトはCompleted状態である必要があります。

Auto Pay APIからRecurring(継続支払い)API

CV1 API CV2移行手順
AuthorizeOnBilling Agreement  CV1のAmazonBillingAgreementIdを使用したCreate Charge。Billing AgreementオブジェクトはOpen状態である必要があります。 

同じトランザクションを使用して支払いを売上請求するするには、captureNowをtrueに設定します。
オーソリを同期にするか非同期にするかを指定するにはCanHandlePendingAuthorizationパラメータを使用してください。
CloseBillingAgreement CV1のAmazonBillingAgreementIdを使用したClose Charge Permission。cancelPendingChargesをFalseに設定してください。
CreateOrderReferenceForId CV2では同等のAPIを提供していません。

このAPIを将来のオーソリ取得するためにOrder Reference objectの生成で利用している場合は、
CV1のAmazonBillingAgreementIdを使用したCreate Chargeを実行するようにコードをリファクタリングしてください。

このAPIを即時のオーソリや売上請求のために使用している場合は、AmazonBillingAgreementIdを使用した
Create Chargeを実行してください。
GetBillingAgreementDetails CV1の AmazonBillingAgreementIdを使用したGet Charge Permission。

CV1 Billing Agreementの状態とCV2 Charge Permisionの状態の対応は次の通りです:
Open = Chargeable
Closed = Closed
Canceled = Closed
Suspended = NonChargeable
SetBillingAgreementDetails CV1のAmazonBillingAgreementIdを使用したUpdate Charge Permission。
ValidateBillingAgreement CV2では同等のAPIを提供していません。 Amazon PayはCharge Permissionオブジェクトが作成されるときに、
それに関連付けられている支払い方法を自動的に検証します。このAPIリクエストはコードから削除する必要があります。

処理例

例えば、以下のような形でV2のAPIをご活用いただけます。

例1)CV1でauthorize APIまで実行し、Authorizationオブジェクトまで生成した場合
AmazonAuthorizationId (注1)に対してCaptureChargeを実行

注1: ただしCV1のAuthorizationオブジェクトをCV2で扱うには、S03-5797829-1888777-A043451 → S03-5797829-1888777-C043451 のように、"A" から "C" に変更していただく必要がございます。

例2)CV1でcapture APIまで実行し、Captureオブジェクトまで生成した場合
AmazonCaptureIdに対して、CreateRefundを実行

※CV2で作成したオブジェクトをV1のAPIで操作することについては、弊社は動作保証しておりません。
※CV2をリリースした際にCV1で作成した注文のオーソリが期限切れになった可能性があります。その際再オーソリ(Create Charge)を実行ください。

参考

Upgrading to V2 Checkout
OneTime(都度支払い)で、再オーソリの処理方法を教えてください。
再オーソリ(Create Charge)時・Recurring(継続支払い)の2回目以降の決済時などにオーソリがDeclinedになった場合はどのようにすればよいですか?