{
"primaryAccountId": "<GOWD_BRL_PRIMARY_ACCOUNT_ID>",
"currency": "BRL",
"accountSubType": "STATIC",
"userType": "Corporate",
"accountName": "Example Pagamentos LTDA",
"cnpj": "<COMPANY_CNPJ>",
"kycFormData": {
"legal_name": "Example Pagamentos LTDA",
"cartao_cnpj": "0f6c8a52-3c1e-4d7a-9b5e-2a1f7c9d4e01",
"contrato_social": "5b2e9d14-7a3f-4c8b-a1d6-9e0f3b7c2a55",
"ubo_full_name": "Example Beneficial Owner",
"ubo_id_type": "passport",
"ubo_id_document": "9c4d1e7a-2b6f-4a3e-8d5c-1f0e9a7b3c22",
"pep_declaration_type": "PEP_NON_DECLARATION"
}
}
primaryAccountId: use the GOWD BRL primary account confirmed by BPN. This guide requires an explicit account to avoid selecting another BRL channel through default routing.
currency=BRL, accountSubType=STATIC, userType=Corporate. CorporateSlave remains accepted for compatibility; use Corporate for new integrations. Individual, Business and DYNAMIC are not supported by this flow.
accountName or companyName: use the legal company name; keep them consistent if sending both.
cnpj: the actual company CNPJ. Do not supply it only as companyInfo.taxIdNumber. Formatting punctuation and whitespace are removed; there is no BPN length/check-digit restriction in this flow. Channel validation still applies.
kycFormData.legal_name: legal company name. Send it explicitly; companyName/accountName can supply the value if omitted.
kycFormData.ubo_full_name: UBO full name.
kycFormData.ubo_id_type: one of passport, national_id, rg, cin, rnm_rne, drivers_license, professional_registration, pr_card.
The three file fields and pep_declaration_type are required.
INIT / PROCESSING: wait; do not present the account as ready to receive funds.
SUCCESS: read the actual pixKey, pixKeyType, accountNumber, bankName, bankBranchCode and bankIspb fields returned. QR code and QR image are not guaranteed for GOWD.
FAIL: inspect failReason and retain the virtualAccountId and traceId for support.
Missing field, document or conditional PEP detail: correct the application before resubmitting.
Missing/unuploaded file or file belonging to another merchant: complete the proper upload or request a new fileId.
Invalid primary account: ask BPN to confirm the account, channel and merchant access.
Same-name account still processing: query the existing application. Do not create parallel applications under different names to force a retry.
Same-name account already successful: reuse the existing account; duplicate creation is rejected.
Failed application: investigate and correct the reason before resubmitting. A same-name failed record can be reused; always use the ID returned by the latest response.
Network timeout or unknown submission result: reconcile the application before retrying. Do not assume a caller-supplied external ID provides universal idempotency.
File metadata query failure or prolonged PROCESSING: contact BPN with traceId and virtualAccountId.