BankAccount

This scheme describes the standard for passing bank account information

KeyDescriptionTypeExample
bankIspbBank ISPB codestring00000000
bankCompeBank Compe codestring? 000
bankNameHuman-readable bank namestring?Banco LTDA
branchAccount branch (four digits only)string0123
accountAccount number, with checksum digit (optional hyphen)string12345-6, 100012345
holderNameAccount holder's full namestringJohn Doe
holderDocumentAccount holder's CPF or CNPJstring12345678910, 01.234.567/8910-11
isSavingsWhether the account is a savings account or not (checking otherwise)booleanfalse
pixAn object containing Pix key informationPixKey?{{"keyType":"cnpj","key":"12345678000110","qrCode":"000201010..."}}
pixqrThe Base64 URL for the PNG image of the QRCodestring? "`data:image/png;base64,..."

Remarks

1. Regarding bank ISPB code

In Brazil, two different code types are used when referring to banking institutions (banks or Brazilian EMI-like companies named "Payment Institutions"): ISPB and Compe.

ISPB (Brazilian Payment System Identifier) is a larger code which identifies the bank in SPB (Brazilian Payment System) and Sitraf (Funds Transfer System). Compe (Compensation System for Cheques and Other Businesses) is shorter, having 3 digits only, and is commonly used when telling banking details to someone else. While ISPB is mostly used only in system-to-system communications, Brazilians usually have memorized several Compe codes (or at least from the bank they use). However this is not always the case: it's obviously possible that someone does not know or forgot his bank's Compe code, therefore it's important to have both the options to select the banking institution searching for the institution name or typing a Compe code.

See Static > Banking Institutions to receive an updated list with all Brazilian Compe-registrated entities, its names and both Compe and ISPB codes. You should allow your user to choose one option from this list.

2. Regarding Pix QRCode and key

You may choose to render a QRCode on your side. In this case, simply get the "pixqr" contents and render it into a QRCode. You could also retrieve the "pixqr", which is available as an opt-in feature in the Create Order and Get Order requests. Choosing to render the QRCode on your side saves 5 KB in the request.

It is also useful to let the user know what is the key type (CNPJ, in our case) and the key itself, so users in desktop internet banking will not be affected due to not being able to read a QRCode.

📘

You should never use the "pix" property for performing withdrawals to a Pix key. Use the "PixKey" schema instead.