Method: asynchronousCapture

お客様のアカウントと事業者間での金銭移動オペレーションの開始をトリガーします。インテグレータはリクエストを確認し、キャプチャを完了するために必要なすべてのアクション(ユーザーからの PIN の収集など)を行う必要があります。インテグレータは、CaptureResultNotification API を呼び出して、回収の最終結果を Google に通知します。

ヘッダー内の requestIdpaymentIntegratorAccountId の組み合わせがべき等性キーであり、このトランザクションを一意に識別します。このトランザクションのすべてのミューテーション(払い戻し)で、captureRequestId フィールドに requestId 値が入力されます。

リクエストの処理中にエンドポイントでエラーが発生した場合、このエンドポイントからのレスポンス本文は ErrorResponse 型にする必要があります。

リクエストの例を次に示します。


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
    "requestTimestamp": "1502220196077"
  },
  "paymentIntegratorAccountId": "InvisiCashIN_INR",
  "upiDetails": {
      "vpa": "foo@icici"
  },
  "transactionDescription": "Google - Music",
  "currencyCode": "INR",
  "amount": "728000000"
}

レスポンスの例を次に示します。


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "ACKNOWLEDGED",
  "paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}

HTTP リクエスト

POST https://www.integratorhost.example.com/v1/asynchronousCapture

リクエスト本文

リクエストの本文には、次の構造のデータが含まれます。

JSON 表現
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "transactionDescription": string,
  "currencyCode": string,
  "amount": string,

  // Union field fopDetails can be only one of the following:
  "upiDetails": {
    object (UpiDetails)
  },
  "tokenizedInstrumentDetails": {
    object (TokenizedInstrumentDetails)
  }
  // End of list of possible types for union field fopDetails.
}
フィールド
requestHeader

object (RequestHeader)

必須: すべてのリクエストに共通のヘッダー。

paymentIntegratorAccountId

string

必須: これは、この取引に関する契約上の制約を識別する、決済インテグレータのアカウント ID です。

transactionDescription

string

必須: お客様の明細書に記載できる取引の説明です。requestHeader にある userLocale に合わせてローカライズされます。この形式は予告なく変更されることがあり、解析されることはありません。

currencyCode

string

必須: ISO 4217 の 3 文字の通貨コード

amount

string (Int64Value format)

必須: 購入金額(通貨のマイクロ単位)。

共用体フィールド fopDetails

fopDetails は次のいずれかになります。

upiDetails

object (UpiDetails)

省略可: UPI お支払い方法に固有のお支払いの詳細。

tokenizedInstrumentDetails

object (TokenizedInstrumentDetails)

省略可: トークン化された支払い方法に固有の支払いの詳細。

レスポンスの本文

キャプチャ メソッドのレスポンス オブジェクト。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

JSON 表現
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorTransactionId": string,
  "result": enum (AsynchronousCaptureResultCode)
}
フィールド
responseHeader

object (ResponseHeader)

必須: すべてのレスポンスに共通のヘッダー。

paymentIntegratorTransactionId

string

必須: この識別子はインテグレータに固有のものであり、インテグレータによって生成されます。これは、インテグレータがこの取引を把握するための識別子です。

便宜上、この識別子は送金の詳細に含まれています。

result

enum (AsynchronousCaptureResultCode)

必須: 非同期キャプチャ呼び出しの結果。

UpiDetails

取得元の UPI アカウントの詳細。

JSON 表現
{
  "vpa": string
}
フィールド
vpa

string

必須: UPI プロトコルを使用して送金するために使用するユーザーの仮想支払い先住所(VPA)。(例: foo@icici)。

TokenizedInstrumentDetails

取得元のアカウントの詳細。

JSON 表現
{
  "googlePaymentToken": string
}
フィールド
googlePaymentToken

string

必須: 両社が購入用のアカウントを識別するために双方の会社が使用するトークンです。

AsynchronousCaptureResultCode

asyncCapture の結果コード。

列挙型
UNKNOWN_RESULT このデフォルト値は設定しないでください。
ACKNOWLEDGED 回収がリクエストされました。インテグレータは追加の手順を行い、回収が成功したか却下したかを判断します。インテグレータはキャプチャの結果を把握したら、captureResultNotification API を呼び出して Google に結果を通知します。
ACCOUNT_CLOSED

インテグレータが保持していたユーザーのアカウントが閉鎖されました。

この値が返されると、ユーザーの支払い方法が Google でクローズされます。ユーザーは、関連付けフローをもう一度実行して、新しい楽器を追加せざるを得なくなります。

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

インテグレーターと取引したユーザーのアカウントは閉鎖されています。アカウントが乗っ取られた疑いがあります。

この値が返されると、ユーザーの支払い方法が Google でクローズされます。ユーザーは、関連付けフローをもう一度実行して、新しい楽器を追加せざるを得なくなります。

ACCOUNT_ON_HOLD アカウントは保留中です。
ACCOUNT_CLOSED_FRAUD

インテグレータが保持しているユーザーのアカウントは、不正行為のため閉鎖されています。

この値が返されると、ユーザーの支払い方法が Google でクローズされます。ユーザーは、関連付けフローをもう一度実行して、新しい楽器を追加せざるを得なくなります。