RIVOX

Visão geral

O payment intent é o objecto principal da Rivox: modelo, estados, endpoints e níveis de integração.

O payment_intent é o objecto principal de integração da Rivox. Representa a intenção de receber um valor e acompanha todo o ciclo de vida do pagamento. O charge é a consequência: cada tentativa de execução sobre essa intenção.

Modelo

POST /v1/payment_intents
        ↓
   Payment Intent criado
        ↓
POST /v1/payment_intents/:id/confirm
        ↓
      Payment Core
        ↓
    Provider Registry
        ↓
M-Pesa · e-Mola · mKesh · Cartão (Stripe Sandbox)
        ↓
      Charge → Ledger → Eventos → Webhooks
  • payment_intent — o objecto financeiro que cria e confirma.
  • charge — a tentativa de execução gerada pela confirmação. Consulta-se, não se cria.
  • O routing entre provedores é decidido pela Rivox e nunca é exposto na API.

Níveis de integração

NívelEstadoDescrição
Payment Intents (custom)DisponívelControlo total do fluxo: criar, confirmar e consultar via API.
Checkout Session (low-code)Ainda não disponível na APIPágina de pagamento alojada pela Rivox. Ver Roadmap.

Um único core

Quando a Checkout Session for exposta, corre exactamente sobre este Payment Core: os mesmos objectos, os mesmos estados e os mesmos eventos.

Estados

Payment IntentSignificado
requires_payment_methodCriado; aguarda confirmação com um método.
processingA autorização está em curso no provedor.
succeededPagamento concluído. Estado final.
failedFalha técnica, recusa ou expiração. Estado final.
canceledCancelado antes de existir decisão. Estado final.
ChargeSignificado
pendingPedido aceite; push enviado para o telemóvel do cliente.
processingO provedor está a processar a autorização.
succeededCobrança concluída. Estado final.
declinedO cliente recusou ou não autorizou. Estado final.
failedFalha técnica ou do provedor. Estado final.
expiredSem resposta dentro da janela permitida. Estado final.
canceledCancelado antes de existir decisão. Estado final.

Estados finais

Estados finais nunca mudam. Trate succeeded como única confirmação de recebimento — nunca um 200 OK do pedido de criação.

Endpoints

MétodoEndpointScope
POST/v1/payment_intentspayments:write
GET/v1/payment_intents/:idpayments:read
POST/v1/payment_intents/:id/confirmpayments:write
GET/v1/payment_methodspayments:read
GET/v1/charges/:idpayments:read