Method: disburse

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 (RequestHeader)
  },
  "sourceGoogleBankAccount": {
    object (GoogleBankAccount)
  },
  "amount": {
    object (Amount)
  },
  "transactionDescription": string,

  // Union field destination can be only one of the following:
  "destinationBankAccount": {
    object (DestinationBankAccount)
  },
  "payeeProxyKey": {
    object (PayeeProxyKey)
  }
  // End of list of possible types for union field destination.
}
Fields
requestHeader

object (RequestHeader)

REQUIRED: Common header for all requests.

sourceGoogleBankAccount

object (GoogleBankAccount)

The Google-owned bank account that will be used to fund this disburse.

amount

object (Amount)

REQUIRED: The amount of the transfer

transactionDescription

string

REQUIRED: This is the description of the transaction that can be put on the customer's statement. Localized to the userLocale found in the requestHeader. This format can be changed without notice and must never be parsed.

Union field destination. REQUIRED: The form of payment where money will be deposited. destination can be only one of the following:
destinationBankAccount

object (DestinationBankAccount)

The non-Google account that is the destination for this disburse.

payeeProxyKey

object (PayeeProxyKey)

Proxy Key that will be used for the Payee.

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

object (DisburseResponse)

HTTP 4XX / 5XX Status

object (ErrorResponse)

DisburseResponse

Response object for the disburse method.

JSON representation
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorTransactionId": string,

  // Union field transaction_status can be only one of the following:
  "result": {
    object (DisburseResult)
  },
  "resultNotKnownYet": {
    object (TransactionResultNotKnownYet)
  }
  // End of list of possible types for union field transaction_status.
}
Fields
responseHeader

object (ResponseHeader)

REQUIRED: Common header for all responses.

paymentIntegratorTransactionId

string

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

Union field transaction_status. REQUIRED: The result of this disbursement. transaction_status can be only one of the following:
result

object (DisburseResult)

Result of the banking-fop-v2.disburse operation.

resultNotKnownYet

object (TransactionResultNotKnownYet)

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.