- HTTP request
- Request body
- Response body
- UpiDetails
- DisburseFundsResult
- DisburseFundsResultCode
- RawResult
Initiates money movement between the payment processor and the customer's account. The combination of requestId
within the header and paymentIntegratorAccountId
is the idempotency key and uniquely identifies this transaction. All mutations on this transaction populate the requestId
value in the disburseFundsRequestId
field.
If the endpoint encounters an error while processing the request, the response body from this endpoint should be of type
.ErrorResponse
An example request looks like:
{
"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"
}
An example response looks like:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA",
"disburseFundsResult": {
"disburseFundsResultCode": "SUCCESS"
}
}
HTTP request
POST https://www.integratorhost.example.com/v1/disburseFunds
Request body
The request body contains data with the following structure:
JSON representation |
---|
{ "requestHeader": { object ( |
Fields | |
---|---|
requestHeader |
REQUIRED: Common header for all requests. |
paymentIntegratorAccountId |
REQUIRED: This is the payment integrator account identifier that identifies contractual constraints around this transaction. |
transactionDescription |
REQUIRED: This is the description of the transaction that can be put on the customer's statement. Localized to the userLocale found in the |
currencyCode |
REQUIRED: ISO 4217 3-letter currency code |
amount |
REQUIRED: The amount of the purchase, in micros of the currency unit. |
Union field
|
|
upiDetails |
OPTIONAL: Payment details specific to UPI instruments. |
Response body
Response object for the disburse funds method.
If successful, the response body contains data with the following structure:
JSON representation |
---|
{ "responseHeader": { object ( |
Fields | |
---|---|
responseHeader |
REQUIRED: Common header for all responses. |
paymentIntegratorTransactionId |
REQUIRED: This identifier is specific to the integrator and is generated by the integrator. This is the identifier that the integrator knows this transaction by. For convenience, this identifier is included with in the remittance details |
disburseFundsResult |
REQUIRED: The result of the disburse funds call. |
UpiDetails
Details about the UPI account to disburse to.
JSON representation |
---|
{ "vpa": string } |
Fields | |
---|---|
vpa |
REQUIRED: The user's Virtual Payment Address (VPA) used for moving money using the UPI protocol. For example foo@icici. |
DisburseFundsResult
Information about the final result of a disbursement.
JSON representation |
---|
{ "disburseFundsResultCode": enum ( |
Fields | |
---|---|
disburseFundsResultCode |
REQUIRED: Result code of this disbursement. |
rawResult |
OPTIONAL: Raw result of this disbursement. Used to help inform Google's risk engine and analytics. In decline code–mapping situations, data is sometimes lost. The integrator can choose to give Google a raw code. For example, a credit card gateway (the integrator) may use this field to communicate to Google the exact decline code that was received from the VISA network. In that case, the This value is required if the |
Union field
|
|
transactionMaxLimit |
OPTIONAL: If This amount is micros of the same |
transactionMinLimit |
OPTIONAL: If This amount is micros of the same |
DisburseFundsResultCode
Result codes for a disburse funds call.
Enums | |
---|---|
UNKNOWN_RESULT |
Do not ever set this default value! |
SUCCESS |
Disbursement successful. |
DISBURSEMENT_UNDER_TRANSACTION_LIMIT |
Requested disbursement amount does not meet the integrator's minimum per-transaction amount. If this code is used, populate the transactionMinLimit field with the minimum transaction amount for user messaging purposes. |
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT |
Requested disbursement amount exceeds the integrator's maximum per-transaction limit. If this code is used, populate the transactionMaxLimit field with the transaction limit for user messaging purposes. |
ACCOUNT_CLOSED |
User's account held with the integrator has been closed. This return value will cause the user's instrument to be closed with Google. The user will be forced to add a new instrument. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
User's account with the integrator has been closed, suspected account take over. This return value will cause the user's instrument to be closed with Google. The user will be forced to add a new instrument. |
ACCOUNT_CLOSED_FRAUD |
User's account held with the integrator has been closed because of fraud. This return value will cause the user's instrument to be closed with Google. The user will be forced to add a new instrument. |
ACCOUNT_ON_HOLD |
User's account is on hold. |
RawResult
Raw result object.
JSON representation |
---|
{ "scope": string, "rawCode": string } |
Fields | |
---|---|
scope |
OPTIONAL: Scope of the rawCode, can be empty. |
rawCode |
REQUIRED: Raw code from the integrator or subsystems within it. |