- HTTP リクエスト
- リクエストの本文
- レスポンスの本文
- MandateDetails
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- MandateWithNotificationDetails
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- CaptureContext
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表現
- 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 |
必須: ISO 4217 の 3 文字の通貨コード |
amount |
必須: 購入金額(通貨の マイクロ単位)。 |
captureContext |
必須: このキャプチャに関するコンテキスト。 |
共用体フィールド fopDetails 。必須: このキャプチャ トランザクションの FOP の詳細。fopDetails は次のいずれかになります。 |
|
googlePaymentToken |
両社が購入時のアカウントを識別するために両社が使用するトークン。 |
mandateDetails |
委任に固有の支払いの詳細。 |
mandateWithNotificationDetails |
委任に固有の支払いの詳細( |
共用体フィールド
|
|
authenticationRequestId |
省略可: 関連する認証リクエストの これがある場合、ユーザーはこの呼び出しの直前に認証されているか、自動支払いスケジュールの設定で認証されています。 |
otpVerification |
省略可: |
レスポンスの本文
キャプチャ メソッドのレスポンス オブジェクト。
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
JSON 表現 |
---|
{ "responseHeader": { object ( |
フィールド | |
---|---|
responseHeader |
必須: すべてのレスポンスに共通のヘッダー。 |
paymentIntegratorTransactionId |
省略可: この識別子はインテグレータに固有で、インテグレータによって生成されます。これは、インテグレータがこの取引を把握するための識別子です。 便宜上、この識別子は送金の詳細に含まれています。 |
userMessage |
DEPRECATED: 結果が |
result |
必須: このキャプチャの結果。 |
rawResult |
省略可: このキャプチャの未加工の結果。Google のリスクエンジンと分析への情報提供に使用されます。不承認コードがマッピングされている場合、データが失われることがあります。インテグレータは、Google に未加工のコードを渡すこともできます。たとえば、クレジット カード ゲートウェイ(インテグレータ)は、このフィールドを使用して、VISA ネットワークから受け取った正確な不承認コードを Google に伝えることができます。その場合、
|
transactionLimit |
省略可: 結果が これは、リクエストの |
currentBalance |
省略可: 結果が この値は、リクエストの |
MandateDetails
取得元の委任に関する詳細。
JSON 表現 |
---|
{ "mandateId": string } |
フィールド | |
---|---|
mandateId |
必須: |
MandateWithNotificationDetails
取得元の委任に関する詳細と、必要な通知の詳細。
JSON 表現 |
---|
{ "mandateId": string, "upcomingTransactionNotificationId": string } |
フィールド | |
---|---|
mandateId |
必須: |
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 |
1 か月の上限を超えているため、このアカウントは現在購入に使用できません。 |
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 |
定期的なマンデートの支払いについてユーザーに送信された通知の期限が切れています。 |