Pular para o conteúdo principal

Certification checklist

The formal acceptance criteria for production access. Work through every item and confirm it against your own implementation — each links to the guide that explains it.

Validating this checklist is the third gate before credentials are released. Once it is accepted, follow Production access.

There are 27 items across six areas.

Authentication and connectivity​

#CriterionGuide
1OAuth 2.0 flow — access tokens are generated from client_id and client_secretAuthentication
2Token management — tokens renew automatically before the 2-hour expiryAuthentication
3mTLS — certificates generated and tested successfullymTLS Onboarding

Deposits (Pix-In)​

#CriterionGuide
4QR Code generation — immediate charges are created successfullyDeposits
5Metadata — the player id or internal transaction id is sent in externalId or metadata for reconciliationDeposits
6Expiration — the EXPIRED status is handled when the player does not pay in timeDeposits
7Payment simulation — /v1/pix/mock/simulate-payment was used to validate the credit pathQuickstart
8Multiple attempts — a FAILED payment does not cancel the QR Code; repeated attempts against one charge are handledDeposits
9Ownership — the rejection scenario was tested when the payer CPF differs from the player CPF (IGAMING_CPF_MISMATCH)Ownership rules

Withdrawals (Pix-Out)​

The most critical area for iGaming.

#CriterionGuide
10PIX key withdrawal — sending to CPF, e-mail and phone keys was validatedWithdrawals
11Manual withdrawal — sending via ISPB + branch + account was validatedWithdrawals
12Idempotency — resending the same externalId after a network error returns the original transaction instead of paying twiceIdempotency
13Ownership — the rejection scenario was tested when the receiver CPF differs from the player CPFOwnership rules
14Statuses — the request → processing → final status flow is understood and implementedStatus Machine — Pix Out

Webhooks and notifications​

#CriterionGuide
15Configuration — the webhook endpoint was configured and validatedWebhooks overview
16Security — authentication (Bearer/Basic) of incoming notifications is validatedWebhooks overview
17pixChargePaid — the player balance is credited immediately after this eventEvents
18pixWithdrawFailed — balance is returned to the player wallet when a withdrawal is returned by the destination bankWithdrawals
19Webhook idempotency — duplicate notifications with the same endToEndId are ignoredCredit exactly once

Reconciliation and financials​

#CriterionGuide
20Balance inquiry — /v1/balance/realtime is queried to validate cash flowBalance
21Detailed statement — specific transactions are fetched via GET /v1/statement using the endToEndIdStatement
22Refunds — refunding a received PIX was tested for fraud or error scenariosRefunds

Error handling and edge cases​

#CriterionGuide
23Timeouts — network timeouts are not treated as definitive failures; a subsequent GET confirms the statusRetries and timeouts
24Insufficient balance — the error response is handled when the merchant balance is below the requested amountBalance
25Contingency polling — a sweeping job queries old PENDING or INITIATED transactions in case the webhook failsContingency polling
26ID mapping — the endToEndId of every transaction is storedGlossary
27Error 500 — a 500 returned directly in the response is treated as a confirmed failure and the transaction is closed as failedRetries and timeouts

Cross-cutting requirements​

Beyond the numbered items, homologation also reviews:

  • Credential segregation between staging and production, with documented rotation — Environments

  • Webhook response time under 5 seconds, with events queued before processing — Webhooks overview

  • externalId unique per operation (UUID v4 recommended, 100 characters maximum), persisted before sending, reused across retries of the same operation — Idempotency

  • Amounts handled as integer cents end to end, never as decimals — Glossary

  • No action taken on transitional statuses (INITIATED, PENDING, PROCESSING) — Status Machine

  • 422 treated as definitive, with no automatic retries — Errors

  • expiresIn aligned with the interface countdown, at least 600 s — Deposits

  • Refund control via leftAmount and canBeReversedUntil — Refunds

  • Withdrawals are never cancelled without a GET confirming the current status — Critical warnings

  • A payment error does not close the charge: pixChargeRejected arrives with a non-final status and the system keeps waiting for pixChargePaid or pixChargeExpired — Deposits

Next​

When every item is satisfied, request production access — Production access.