Entrar no painel
Índice

(06) Receber pagamentos

Modo teste

Pagar sem dinheiro, com os botões aprovar e recusar do checkout.

Pagar sem dinheiro

Uma sessão criada com uma chave sk_test_ abre o mesmo checkout que o comprador vai ver em produção, com a faixa Modo teste por cima. Não há banco nenhum do outro lado: depois de escolher o método e carregar em pagar, aparece um quadro "Modo teste: decida o resultado", com dois botões.

BotãoO que acontece
AprovarO pagamento fica confirmado, a sessão passa a complete, o livro regista bruto, taxa e líquido no teu saldo de teste, e recebes payment.succeeded no endpoint de teste.
RecusarA tentativa falha, recebes payment.failed com o motivo, e a sessão continua open: o comprador pode tentar outra vez.

Os botões aparecem no Multicaixa Express, na referência, na transferência e no débito direto, os métodos em que, a sério, o comprador (ou o banco) confirma depois. Com Visa e Mastercard não há espera: o pagamento de teste fica aprovado logo, como quando o Stripe aceita o cartão; para ensaiar uma recusa, usa um dos outros métodos. Onde o checkout pede um telemóvel, serve qualquer número angolano válido (9 dígitos a começar por 9, por exemplo 923456789). Nada sai para fora: nenhum SMS, nenhum pedido ao banco, nenhum cartão cobrado.

A transferência e o débito direto em teste

Numa sessão de teste que peça bank_transfer, o checkout mostra a tua conta (a mesma de produção, escolhida em Contas de transferência), um aviso de que é teste e não se transfere dinheiro, e o descritivo. Os botões Aprovar e Recusar fazem de ti a ver o extrato; a transferência de teste também aparece no painel em Transferências, no modo teste, e confirmá-la lá dá o mesmo resultado: a taxa sai do teu saldo de teste.

No direct_debit há três botões. Ativar o mandato faz de titular que vai ao banco: a cobrança apresenta-se logo, com a data de cobrança. Depois, Aprovar faz de banco que liquida, e Recusar de banco que recusa. Sem tocar em nada, a tarefa do relógio (debitos-diretos, de minuto a minuto) liquida sozinha as cobranças de teste que chegaram à data de cobrança: é assim que uma subscrição por débito direto renova em teste sem ninguém. Para ensaiar o banco a recusar a renovação, usa o IBAN de recusa AO06 0099 0000 0000 0000 0138 0 no mandato: as cobranças dele são recusadas, e a subscrição passa a past_due com o aviso e o link.

Uma subscrição por cartão em teste renova sozinha como em produção: no início de cada ciclo o motor cobra o cartão de ensaio, sem link, e recebes subscription.renewed.

O que vale a pena ensaiar

  • O caminho feliz: criar a sessão, aprovar, receber payment.succeeded, e ver a encomenda marcada como paga pelo webhook (e não pelo regresso).
  • A recusa e a segunda tentativa: recusar, ver payment.failed, tentar outra vez e aprovar.
  • O comprador que desiste: carregar em "Cancelar e voltar" e chegar ao cancel_url.
  • O teu servidor em baixo: responder 500 ao webhook e ver as retentativas chegarem, ou reenviar o evento do painel (Eventos, Reenviar).
  • O estorno: estornar o pagamento aprovado com POST /v1/refunds e receber refund.created.

No painel

O painel tem uma faixa no topo que diz o modo e o muda. Em modo teste vês as sessões (Pagamentos), o saldo de teste, os eventos enviados e as chaves e endpoints de teste. Nada disto se mistura com produção.

O que o modo teste não prova

O modo teste prova a tua integração, e não o gateway: o tempo de confirmação do Multicaixa Express, a app da PayPay ou a página do Stripe só se veem em produção. O código é o mesmo nos dois modos; muda a chave (ver Chaves e modos).