Ambiente de testes
A homologação (https://pay-api.staging.bloomx.cloud, chaves wp_test) funciona como a produção,
mas usa o ambiente de testes da rede de cartões: nada é cobrado e só cartões de teste são
aceitos. Em homologação, GET /v1/capabilities devolve key_environment: test e
tokenization.sandbox: true.
Cartões de teste
Use estes números nos campos do cartão. O ambiente de testes decide o resultado pelo último dígito do número.
| Cartão | Final | Resultado esperado |
|---|---|---|
5555555555550020 |
0 | aprovado (captured ou pre_authorized) |
5555555555550012 |
2 | recusado pelo emissor: 422 card_declined |
5555555555550053 |
3 | recusa por cartão vencido: 422 card_expired (pode vir como card_declined) |
Para todos: qualquer validade futura (por exemplo 12/2030), qualquer CVV (por exemplo 170) e
qualquer nome.
Recusa na captura: capturar uma pré-autorização com amount_cents: 991 (R$ 9,91) simula uma
recusa da rede de cartões: 422 provider_rejected, e o pagamento continua em pre_authorized.
Dados de teste do comprador
| Campo | Valor de teste |
|---|---|
customer.document |
12345678909 (CPF de exemplo, com dígitos verificadores válidos) |
customer.phone |
11999999999 |
customer.email |
maria@example.com |
customer.address |
CEP 01001000, Rua Teste, 100, Centro, Sao Paulo, SP |
Em homologação, nunca use dados reais de pessoas.
Checklist de homologação
Antes de pedir a chave wp_live, confirme em homologação:
GET /v1/capabilitiescom a chavewp_testdevolvetokenization.available: trueetokenization.sandbox: true.- A sua página monta os quatro campos do cartão e
tokenize()devolve umtokenIdcom o cartão final 0. POST /v1/paymentscom essetoken_idresponde 201 com o pagamento emcaptured.- O cartão final 2 responde 422
card_declined, e a sua página pede outro cartão. capture: false→pre_authorized→POST /v1/payments/{id}/capture→captured→POST /v1/payments/{id}/cancelcom parte do valor →partially_refunded.- Repetir um
POST /v1/paymentscom a mesmaIdempotency-Keye o mesmo corpo devolve 200 com o mesmo pagamento, sem cobrar de novo. - O seu endpoint recebe o webhook de cada mudança de status, valida a assinatura e responde 2xx.
- O seu servidor trata a resposta 202 (
unknown) sem reenviar com outra chave. - A chave fica só no servidor: nada da chave aparece no navegador, em logs ou no repositório.
Concluído o checklist, peça a chave wp_live ao seu contato comercial e troque a base da API para
https://pay-api.bloomx.cloud.