- JSON representation
- TaxInfo
- BrazilTaxInfo
- BankAccountIdentifier
- BrazilBankAccountInfo
- PayerFundingSourceIdentifier
- BankAccount
- InstitutionCode
- WalletAccount
- SharedAccount
Information about the person making the payment.
| JSON representation |
|---|
{ "payerTaxInfo": { object ( |
| Fields | |
|---|---|
payerTaxInfo |
OPTIONAL: Tax-related information about the payer, such as tax ID or orther relevant identifiers. |
| OPTIONAL: The account the payer paid from. At most one may be set. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
payerBankAccountIdentifier |
Banking details of the payer, potentially including bank name, account number, or other identifying information. For integrators that can disclose raw account details. |
payerFundingSourceIdentifier |
Privacy-preserving identifier of the payer's funding source, for integrators that cannot disclose raw account details. |
| End of mutually exclusive fields. | |
TaxInfo
Tax-related information about the payer.
| JSON representation |
|---|
{
// The following is a list of mutually exclusive fields. At most one of the
// fields will be set in a response:
"brazil": {
object ( |
| Fields | |
|---|---|
| REQUIRED: Country-specific tax details for the payer. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
brazil |
Specific tax details for Brazil. |
| End of mutually exclusive fields. | |
BrazilTaxInfo
Tax-related information about the payer specific to Brazil.
| JSON representation |
|---|
{ // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "cnpj": string, "cpf": string // End of mutually exclusive fields. } |
| Fields | |
|---|---|
| REQUIRED: The payer's Brazilian tax ID (CNPJ or CPF). The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
cnpj |
Cadastro Nacional da Pessoa Jurídica (CNPJ), an identification number issued to Brazilian companies. |
cpf |
Cadastro de Pessoas Físicas (CPF), the Brazilian individual taxpayer registry identification. |
| End of mutually exclusive fields. | |
BankAccountIdentifier
Unique identifier of a bank account.
| JSON representation |
|---|
{
// The following is a list of mutually exclusive fields. At most one of the
// fields will be set in a response:
"brazilBankAccount": {
object ( |
| Fields | |
|---|---|
| REQUIRED: Country-specific bank account details. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
brazilBankAccount |
An account with a bank in Brazil. |
| End of mutually exclusive fields. | |
BrazilBankAccountInfo
Details of a user's bank account in Brazil.
| JSON representation |
|---|
{ "bankCode": string, "branchCode": string, "accountNumber": string } |
| Fields | |
|---|---|
bankCode |
REQUIRED: The unique code identifying the bank associated with the payer's account. |
branchCode |
REQUIRED: The specific code representing the branch where the payer's account is held. |
accountNumber |
REQUIRED: The unique number identifying the payer's bank account. |
PayerFundingSourceIdentifier
A privacy-preserving, integrator-supplied identifier for the payer's funding source, for integrators that cannot disclose raw account details.
Sources are classified by the guarantees their identifier carries, not by who holds the account. bankAccount and walletAccount MUST only be used when the identifier is BOTH stable over time AND never shared between payers. If the identifier is stable but may be shared between payers, sharedAccount MUST be used. Otherwise, including when the integrator cannot determine the source, unknownSource MUST be used.
Identifiers MUST be stable across all of the integrator's payment integrator accounts. Because integrators hash with their own keys, identifiers from different integrators are not expected to match.
| JSON representation |
|---|
{ // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "bankAccount": { object ( |
| Fields | |
|---|---|
| REQUIRED: The kind of funding source the payer paid from. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
bankAccount |
The payer paid from a bank account. |
walletAccount |
The payer paid from a wallet account (e.g. the integrator's own wallet). |
sharedAccount |
The payer paid through an account shared by many payers (e.g. a third-party wallet paying from its own settlement account). The identifier is stable but does not identify an individual payer. |
unknownSource |
The integrator cannot determine the funding source, or cannot provide a stable identifier for it. |
| End of mutually exclusive fields. | |
BankAccount
A bank account held by the payer.
| JSON representation |
|---|
{
"institution": {
object ( |
| Fields | |
|---|---|
institution |
OPTIONAL: The institution that holds the account. SHOULD be sent when the integrator knows it. Google uses the code as sent and does not convert between schemes. |
| REQUIRED: Identifies the account. Only a hashed identifier is supported today. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
hashedAccountIdentifier |
Deterministic, non-reversible identifier, unique per bank account and never shared between payers. MUST be identical for the same account across all payments and all of the integrator's payment integrator accounts. MUST NOT contain per-transaction data (e.g. transaction ID, order ID, timestamp, amount). At most 128 characters. |
| End of mutually exclusive fields. | |
InstitutionCode
Identifies a financial institution under a named coding scheme.
| JSON representation |
|---|
{ "code": string, // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "integratorAssigned": { object (Empty) } // End of mutually exclusive fields. } |
| Fields | |
|---|---|
code |
REQUIRED: The institution code in that scheme. |
| REQUIRED: The scheme the code is expressed in. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
integratorAssigned |
The code comes from the integrator's own code list, not from a national scheme (e.g. an integrator's own bank BIN). It only has meaning together with the integrator that sent it. |
| End of mutually exclusive fields. | |
WalletAccount
A wallet account held by the payer. One payer may hold more than one.
| JSON representation |
|---|
{ // The following is a list of mutually exclusive fields. At most one of the // fields will be set in a response: "hashedAccountIdentifier": string // End of mutually exclusive fields. } |
| Fields | |
|---|---|
| REQUIRED: Identifies the wallet account. Only a hashed identifier is supported today. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response: | |
hashedAccountIdentifier |
Deterministic, non-reversible identifier (e.g. a hashed wallet user ID), stable over time and never shared between payers. MUST be identical for the same wallet account across all payments and all of the integrator's payment integrator accounts. MUST NOT contain per-transaction data. If the integrator sends identifiers from more than one wallet provider, they MUST be unique across all those providers. At most 128 characters. |
| End of mutually exclusive fields. | |