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になった場合はどのようにすればよいですか?