Processar pagamentos
Para continuar com a integração, você deverá integrar o processamento de pagamentos através da API de Orders. Isso permitirá receber pagamentos sem fricção iniciados pelo cliente (CIT) ou pagamentos iniciados pelo comerciante (MIT) sem a necessidade de reinserir dados.
Com Pagamentos automáticos, é possível processar dois tipos de pagamento com base em sua recorrência:
- Pagamentos com recorrência programada: são pagamentos que têm uma periodicidade pré-estabelecida, como assinaturas, pagamentos recorrentes ou renovações.
- Pagamentos únicos com cartões salvos (Card on File): são pagamentos pontuais para os quais não é necessário reinserir os dados dos cartões, mas sim reutilizar o meio de pagamento registrado anteriormente para processar transações. Estes podem ser CIT, no caso de pagamentos one-click ou recompras, ou MIT, no caso de débitos por consumo.
flowchart TD
A[Processar pagamento] --> B{É um pagamento programado?}
%% Pagamentos recorrentes
B -- Sim --> C[Pagamento com recorrência programada]
C --> C1{É o primeiro pagamento da cadeia?}
C1 -- Sim --> RCIT[CIT
Customer Initiated Transaction]
C1 -- Não --> RMIT[MIT
Merchant Initiated Transaction]
%% Pagamentos UCOF
B -- Não --> U[Pagamento com cartão salvo
UCOF]
U --> P{O usuário está presente?}
P -- Sim --> UCIT[CIT
Customer Initiated Transaction]
P -- Não --> UMIT[MIT
Merchant Initiated Transaction]
%% Exemplos
RCIT --> RCIT1[Alta de assinatura / Primeiro pagamento recorrente]
RMIT --> RMIT1[Pagamentos seguintes da cadeia / Renovações automáticas]
UCIT --> UCIT1[One-click / Recompra]
UMIT --> UMIT1[Débitos por consumo]
Adicionalmente, a API de Orders permite escolher o modo no qual é possível processar Pagamentos Automáticos.
Modos de processamento de Orders
Uma order de Pagamentos Automáticos pode ser criada para ser processada em dois modos principais: Modo síncrono e Modo assíncrono.
A definição do modo de processamento é feita no momento de criar a order, através do parâmetro processing_mode. Seu valor deverá ser automatic para processamentos síncronos, ou automatic_async para processar a order de maneira assíncrona.
O modo síncrono permite que a transação seja completada em uma única etapa. Através deste modo, o pagamento é processado de maneira imediata e a resposta é recebida em tempo real.
Para criar a order em modo síncrono, o campo processing_mode, responsável por definir o formato de criação e processamento da transação, deve estar como automatic.
As operações permitidas são:
- Criar e processar orderAPI: responsável pela criação da order e o processamento da transação simultaneamente.
- Obter orderAPI: permite obter informações sobre uma order, incluindo seu status em tempo real.
- Cancelar orderAPI: responsável pelo cancelamento de uma order já existente, mas que ainda não foi processada.
- Reembolsar orderAPI: permite o reembolso total ou parcial de um pagamento realizado com cartão de crédito. A order será reembolsada totalmente se todas as transações forem reembolsadas por completo.
- Reembolso total: não se deve indicar um valor a reembolsar no body da solicitação, que deve ir vazio.
- Reembolso parcial: deve-se especificar a quantia a reembolsar no body da solicitação, junto com o ID da transação. Todas as outras transações permanecerão como estão e apenas a transação modificada será reembolsada.
Regras para Pagamentos automáticos no modo síncrono
- Só permite processar pagamentos com cartões (crédito, débito ou pré-pago).
- O processamento de intenções de pagamento com perfis que contenham mais de um cartão não é permitido. Nesses casos, o sistema impede o pagamento síncrono e retorna o erro
invalid_payment_methods. - Por este mesmo motivo, o modo síncrono só permite a lógica de tentativas com um único meio de pagamento, que pode ser definida através do campo
max_day_overduena criação do perfil de pagamento do cliente.
