Page Summary
-
This method facilitates disbursing funds from a Google-owned bank account to a specified external account.
-
The request body includes details like source and destination accounts, amount, and transaction description.
-
The response provides a transaction status, which can either be a success/failure result or an indication that the result is not yet known.
-
Integrators can use the
paymentIntegratorTransactionIdfor tracking and reconciliation purposes. -
This disbursement process uses a standardized HTTP request and response structure for seamless integration.
This method performs a disburse from a Google-owned bank account to an account specified in the request.
An example request looks like:
{
"requestHeader": {
"protocolVersion": {
"major": 2
},
"requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": {
"epochMillis": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD"
},
"sourceGoogleBankAccount": {
"bankAccountId": {
"usBankAccount": {
"accountNumber": {
"number": "9876-5432-19"
},
"bankIdentifier": {
"swiftBic": {
"value": "12ABDEFF478"
},
"usAbaRoutingNumber": {
"value": "874383657"
}
}
}
}
},
"amount": {
"amountMicros": "728000000",
"currencyCode": "INR"
},
"transactionDescription": "Google - Music",
"destinationBankAccount": {
"bankAccountId": {
"usBankAccount": {
"accountNumber": {
"number": "1234-5678-91"
},
"bankIdentifier": {
"swiftBic": {
"value": "XXXXSGS0XXX"
},
"usAbaRoutingNumber":{
"value": "206764189"
}
}
}
},
"bankAccountOwner": {
"name": "Sam User"
}
}
}
An example response looks like:
{
"responseHeader": {
"responseTimestamp": {
"epochMillis": "1481900013178"
}
},
"result": { "success": {} },
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
HTTP request
POST https://www.integratorhost.example.com/integrator-base-path/v2/disburse
Request body
The request body contains data with the following structure:
| JSON representation |
|---|
{ "requestHeader": { object ( |
| Fields | |
|---|---|
requestHeader |
REQUIRED: Common header for all requests. |
sourceGoogleBankAccount |
REQUIRED: The Google-owned bank account that will be used to fund this disburse. |
amount |
REQUIRED: The amount of the transfer |
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 |
| REQUIRED: The form of payment where money will be deposited. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
destinationBankAccount |
The non-Google account that is the destination for this disburse. |
payeeProxyKey |
Proxy Key that will be used for the Payee. |
| End of mutually exclusive fields. | |
Response body
This method supports multiple return types. For additional information about what 4XX or 5XX HTTP status code to return with an ErrorResponse, consult the ErrorResponse object and HTTP status codes documentation.
| Possible response messages | |
|---|---|
| HTTP 200 Status |
|
| HTTP 4XX / 5XX Status |
|
| End of mutually exclusive fields. | |
DisburseResponse
Response object for the disburse method.
| JSON representation |
|---|
{ "responseHeader": { object ( |
| Fields | |
|---|---|
responseHeader |
REQUIRED: Common header for all responses. |
paymentIntegratorTransactionId |
OPTIONAL: 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 |
| REQUIRED: The result of this disbursement. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
result |
Result of the banking-fop-v2.disburse operation. |
resultNotKnownYet |
Captures the scenario where the integrator itself doesn't have a definite status, maybe because they have not received it from the underlying payment network. |
| End of mutually exclusive fields. | |