- HTTP リクエスト
- リクエストの本文
- レスポンスの本文
- MandateDetails
- MandateWithNotificationDetails
- CaptureContext
- CaptureResultCode
Google が所有するお客様のアカウントと決済代行業者の間での金銭の移動を開始する。ヘッダー内の requestId
と paymentIntegratorAccountId
の組み合わせがべき等性キーであり、このトランザクションを一意に識別します。このトランザクションのすべてのミューテーション(払い戻し)によって、captureRequestId
フィールドに requestId
値が入力されます。
リクエストの処理中にエンドポイントでエラーが発生した場合、このエンドポイントからのレスポンスの本文は
型になります。ErrorResponse
リクエストの例を次に示します。
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ",
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "728000000",
"captureContext": {}
}
レスポンスの例を次に示します。
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
HTTP リクエスト
POST https://www.integratorhost.example.com/v1/capture
リクエスト本文
リクエストの本文には、次の構造のデータが含まれます。
JSON 表現 |
---|
{ "requestHeader": { object ( |
フィールド | |
---|---|
requestHeader |
必須: すべてのリクエストに共通のヘッダー。 |
paymentIntegratorAccountId |
必須: このトランザクションに関する契約上の制約を識別する、決済インテグレーターのアカウント ID です。 |
transactionDescription |
必須: お客様の明細書に記載できる取引の説明です。 |
currencyCode |
必須: 3 文字の ISO 4217 通貨コード |
amount |
必須: 購入金額(通貨単位のマイクロ単位)。 |
captureContext |
必須: このキャプチャに関するコンテキスト。 |
共用体フィールド fopDetails 。必須: このキャプチャ トランザクションの FOP の詳細。fopDetails は次のいずれかになります。 |
|
googlePaymentToken |
両社が互いに購入用のアカウントを識別するために使用するトークン。 |
mandateDetails |
委任に固有の支払い詳細。 |
mandateWithNotificationDetails |
委任に特有の支払いの詳細( |
共用体フィールド
|
|
authenticationRequestId |
省略可: 関連する認証リクエストの このフィールドが存在する場合、ユーザーはこの呼び出しの直前に認証されているか、自動支払いスケジュールの設定時に認証されています。 |
otpVerification |
省略可: |
レスポンスの本文
キャプチャ メソッドに対するレスポンス オブジェクト。
成功すると、レスポンスの本文に次の構造のデータが含まれます。
JSON 表現 |
---|
{ "responseHeader": { object ( |
フィールド | |
---|---|
responseHeader |
必須: すべてのレスポンスに共通のヘッダー。 |
paymentIntegratorTransactionId |
省略可: この識別子はインテグレータに固有で、インテグレータによって生成されます。これは、インテグレータがこのトランザクションを認識するための識別子です。 便宜上、この ID は送金の詳細に含まれています |
userMessage |
非推奨: 結果が |
result |
必須: このキャプチャの結果。 |
rawResult |
省略可: このキャプチャの未加工の結果。Google のリスクエンジンと分析への情報提供に使用されます。不承認のコードがマッピングされている状況では、データが失われることがあります。インテグレータは Google に未加工のコードを渡すこともできます。たとえば、クレジット カードのゲートウェイ(インテグレータ)は、このフィールドを使用して、VISA ネットワークから受信した正確な不承認コードを Google に伝えることができます。この場合、
|
transactionLimit |
省略可: 結果が リクエストの |
currentBalance |
省略可: 結果が この値は、リクエストの |
MandateDetails
取得元となる委任状に関する詳細。
JSON 表現 |
---|
{ "mandateId": string } |
フィールド | |
---|---|
mandateId |
必須: Google が生成し、 |
MandateWithNotificationDetails
取得元となる委任状の詳細と、必要な通知の詳細。
JSON 表現 |
---|
{ "mandateId": string, "upcomingTransactionNotificationId": string } |
フィールド | |
---|---|
mandateId |
必須: Google が生成し、 |
upcomingTransactionNotificationId |
必須: この取引について事前通知するために行われた |
CaptureContext
このオブジェクトは、キャプチャがリクエストされた方法に関するコンテキストを提供します。
JSON 表現 |
---|
{ "userIpAddress": string } |
フィールド | |
---|---|
userIpAddress |
省略可: ユーザーがセッションで購入した場合は、ユーザーのデバイスの IP アドレスです。ユーザーがセッション中ではなかった場合は空になります。このフィールドの必要性が特定の契約で規定されていない場合は、常に空になります。 |
CaptureResultCode
キャプチャの結果コード。
列挙型 | |
---|---|
UNKNOWN_RESULT |
このデフォルト値は決して設定しないでください。 |
SUCCESS |
回収、荷物の配達。 |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
このキャプチャ リクエストの amount がトランザクションごとの上限を超えています。このコードを使用する場合は、ユーザーにメッセージを送るために transactionLimit フィールドに値を入力してください。 |
CHARGE_EXCEEDS_DAILY_LIMIT |
このアカウントは 1 日の利用時間の上限を超えているため、現在購入に使用できません。 |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
このアカウントは月間利用限度額を超えているため、現在購入に使用できません。 |
CHARGE_UNDER_LIMIT |
このキャプチャ リクエストの amount は最低取引額を満たしていません。 |
INSUFFICIENT_FUNDS |
このアカウントには、この回収を保証できるだけの十分な残高がありません。 |
ACCOUNT_DOES_NOT_SUPPORT_CURRENCY |
このアカウントではリクエストされた通貨に対応していません。 |
ACCOUNT_CLOSED |
インテグレーターが保持しているお客様のアカウントは閉鎖されています。 この値を返すと、ユーザーの支払い方法が Google によって終了されます。ユーザーは関連付けフローをもう一度行って、新しい支払い方法を追加するよう求められます。 |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
インテグレータのユーザーのアカウントは閉鎖されています。アカウントが乗っ取られた疑いがある。 この値を返すと、ユーザーの支払い方法が Google によって終了されます。ユーザーは関連付けフローをもう一度行って、新しい支払い方法を追加するよう求められます。 |
ACCOUNT_ON_HOLD |
アカウントは保留中です。 |
ACCOUNT_CLOSED_FRAUD |
インテグレータが保持しているお客様のアカウントは、不正行為のため閉鎖されています。 この値を返すと、ユーザーの支払い方法が Google によって終了されます。ユーザーは関連付けフローをもう一度行って、新しい支払い方法を追加するよう求められます。 |
GOOGLE_PAYMENT_TOKEN_INVALIDATED_BY_USER |
アカウントは有効ですが、GPT はインテグレータ側のユーザーによって無効にされています。 この値を返すと、ユーザーの支払い方法が Google によって終了されます。ユーザーは関連付けフローをもう一度行って、新しい支払い方法を追加するよう求められます。 |
TOKEN_REFRESH_REQUIRED |
これを返すには、ユーザーは更新フローを行う必要があります。 |
OTP_NOT_MATCHED |
OTP がインテグレータが送信したものと一致しません。 |
OTP_ALREADY_USED |
OTP はすでに使用されています。 |
RISK_DECLINED |
インテグレータ側のリスクチェックにより、取引が拒否されました。 これはこのお支払いに対する永続的な失敗となりますが、ユーザーの支払い方法が Google で閉鎖されることはありません。 |
NO_GOOD_FUNDING_SOURCE_AVAILABLE |
ユーザーのアカウントに、取引のお支払いが可能な有効な入金元を設定していません。 |
FUNDING_SOURCE_UNAVAILABLE |
基盤となるカード発行会社または資金源が利用できないため、この支払いを再試行しても、再試行しても成功しません。 パートナーから 4xx または 5xx レスポンス コードが返された場合、Google は支払いを再試行します。したがって、支払い元が再び利用可能になったときに同じ支払いの再試行が成功する場合、パートナー様は通常、これらのレスポンス コードのいずれかを返す必要があります。ただし、技術的な理由で Google による支払いの再試行が引き続き失敗する場合は、パートナーは「FUNDING_SOURCE_UNAVAILABLE」を返して、同じ支払いの再試行をすべきでないことを Google に伝えることができます。 注: Google は引き続きこのお支払いを再試行できますが、異なる requestId で再試行されますが、この支払いリクエストは不承認とマークされます。 |
MANDATE_NOT_ACTIVE |
このキャプチャに使用された委任は有効ではなくなりました。この戻り値により、ユーザーの委任支払い方法が Google に対してクローズされます。 |
UPCOMING_TRANSACTION_NOTIFICATION_EXPIRED |
定期的な委任の支払いについてユーザーに送信された通知が期限切れになりました。 |