Method: disburseFunds

決済代行業者とお客様のアカウント間での金銭の移動を開始する。ヘッダー内の requestIdpaymentIntegratorAccountId の組み合わせがべき等性キーであり、このトランザクションを一意に識別します。このトランザクションのすべてのミューテーションにより、disburseFundsRequestId フィールドに requestId 値が入力されます。

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "liUrreQY233839dfFFb24gaQM",
    "requestTimestamp": "1502220434778"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "upiDetails": {
      "vpa": "foo@icici"
  },
  "transactionDescription": "Google - Music",
  "currencyCode": "INR",
  "amount": "208000000"
}

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


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA",
  "disburseFundsResult": {
    "disburseFundsResultCode": "SUCCESS"
  }
}

HTTP リクエスト

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

リクエスト本文

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

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

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

object (RequestHeader)

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

paymentIntegratorAccountId

string

必須: このトランザクションに関する契約上の制約を識別する、決済インテグレーターのアカウント ID です。

transactionDescription

string

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

currencyCode

string

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

amount

string (Int64Value format)

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

共用体フィールド destinationFopDetails

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

upiDetails

object (UpiDetails)

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

レスポンスの本文

disburse Funds メソッドのレスポンス オブジェクト。

成功すると、レスポンスの本文に次の構造のデータが含まれます。

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

object (ResponseHeader)

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

paymentIntegratorTransactionId

string

必須: この識別子はインテグレータに固有であり、インテグレータによって生成されます。これは、インテグレータがこのトランザクションを認識するための識別子です。

便宜上、この ID は送金の詳細に含まれています

disburseFundsResult

object (DisburseFundsResult)

必須: 資金提供の呼び出しの結果。

UpiDetails

支払い先の UPI アカウントの詳細。

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

string

必須: UPI プロトコルを使用した送金に使用する、お客様の仮想支払い住所(VPA)。(例: foo@ici)。

DisburseFundsResult

支払いの最終結果に関する情報。

JSON 表現
{
  "disburseFundsResultCode": enum (DisburseFundsResultCode),
  "rawResult": {
    object (RawResult)
  },

  // Union field FailureDetail can be only one of the following:
  "transactionMaxLimit": string,
  "transactionMinLimit": string
  // End of list of possible types for union field FailureDetail.
}
フィールド
disburseFundsResultCode

enum (DisburseFundsResultCode)

必須: このお支払いの結果コード。

rawResult

object (RawResult)

省略可: この支払いの未加工の結果。Google のリスクエンジンと分析への情報提供に使用されます。不承認のコードがマッピングされている状況では、データが失われることがあります。インテグレータは Google に未加工のコードを渡すこともできます。たとえば、クレジット カードのゲートウェイ(インテグレータ)は、このフィールドを使用して、VISA ネットワークから受信した正確な不承認コードを Google に伝えることができます。この場合、scope は「visa」で、rawCode は VISA ネットワークから返されたものになります。

resultSUCCESS でない場合、この値は必須です。

共用体フィールド FailureDetail

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

transactionMaxLimit

string (Int64Value format)

省略可: disburseFundsResultCodeDISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT の場合、これは許容される最大トランザクションの値です。これは、構造化されたユーザー向けのメッセージや不承認率の分析に使用されます。

この値は、元の disburseFunds メソッド呼び出しと同じ currencyCodeマイクロ倍です。

transactionMinLimit

string (Int64Value format)

省略可: disburseFundsResultCodeDISBURSEMENT_UNDER_TRANSACTION_LIMIT の場合、これは最小許容トランザクションの値です。これは、構造化されたユーザー向けのメッセージや不承認率の分析に使用されます。

この値は、元の disburseFunds メソッド呼び出しと同じ currencyCodeマイクロ倍です。

DisburseFundsResultCode

支払い資金呼び出しの結果コード。

列挙型
UNKNOWN_RESULT このデフォルト値は決して設定しないでください。
SUCCESS 支払いが完了しました。
DISBURSEMENT_UNDER_TRANSACTION_LIMIT リクエストされた支払い額が、インテグレータのトランザクションあたりの最小金額を満たしていません。このコードを使用する場合は、ユーザーにメッセージを表示するために、transactionMinLimit フィールドに最小取引金額を入力します。
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT リクエストされた支払い額が、インテグレータのトランザクションごとの上限を超えています。このコードを使用する場合は、ユーザーにメッセージを送るために、transactionMaxLimit フィールドにトランザクションの上限を入力します。
ACCOUNT_CLOSED インテグレータが保持しているユーザーのアカウントは閉鎖されています。この戻り値により、ユーザーの支払い方法が Google で終了されます。ユーザーは新しい支払い方法を追加するよう求められます。
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER インテグレータのユーザーのアカウントは閉鎖されています。アカウントの乗っ取りが疑われる。この戻り値により、ユーザーの支払い方法が Google で終了されます。ユーザーは新しい支払い方法を追加するよう求められます。
ACCOUNT_CLOSED_FRAUD インテグレータが保持しているユーザーのアカウントは、不正行為のため閉鎖されています。この戻り値により、ユーザーの支払い方法が Google で終了されます。ユーザーは新しい支払い方法を追加するよう求められます。
ACCOUNT_ON_HOLD お客様のアカウントは保留中です。

RawResult

未加工の結果オブジェクト。

JSON 表現
{
  "scope": string,
  "rawCode": string
}
フィールド
scope

string

省略可: rawCode のスコープ。空にすることもできます。

rawCode

string

必須: インテグレータまたはその中のサブシステムからの未加工のコード。