Page Summary
-
Initiates money movement between a Google user's account and a payment processor using a unique
requestIdandpaymentIntegratorAccountIdcombination. -
The request body includes details like the transaction amount, description, payment token, and payee proxy information.
-
The response body indicates the transaction status, which can be either a success/failure result or an indication that the result is not yet known.
-
The API supports multiple response types, including a success response (HTTP 200) and error responses (HTTP 4XX/5XX) with detailed error information.
-
Payee proxy information is used to identify the recipient of the funds using various methods like QR codes, phone numbers, or national IDs.
Initiates money movement between a customer's account held with Google and the payment processor. The requestId within the header is the idempotency key and uniquely identifies this transaction.
An example request looks like:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "liUrreQY233839dfFFb24gaQM",
"requestTimestamp": "1502220434778"
},
"paymentIntegratorAccountId": "InvisiCash",
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ",
"transactionDescription": "Google - Music",
"amount": {
"amountMicros": "728000000",
"currencyCode": "INR"
},
"payeeProxy": {
"payeeProxyKey": {
"qrCode": "QrCode",
"networkId": "PaymentNetwork1"
}
}
}
An example response looks like:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": { "success": {} },
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
HTTP request
POST https://www.integratorhost.example.com/integrator-base-path/e-wallets-v1/transferFunds
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 |
amount |
REQUIRED: The amount of the transfer |
REQUIRED: This is the token that both companies will use to identify the tokenized account that was associated during the associateAccount method. This identifies the payer tokenized account in this call. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: |
|
googlePaymentToken |
|
| End of mutually exclusive fields. | |
| REQUIRED: The destination of the funds transfer. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
payeeProxy |
Payee that is referenced by a PayeeProxyKey |
| 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. | |
TransferFundsResponse
Response object for the funds transfer 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 funds transfer. 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 FundsTransfer 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. | |