Pular para o conteúdo principal

Devolução

Criar fatura

Primeiro, crie a fatura indicando que é uma devolução de pagamento. Indique a parcela e o valor que será devolvido.

curl --request POST \
--url https://api.base39.io/v1/invoices \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"type": "pay_off",
"items": [
{
"installment": "inst_...",
"amount": -1000
}
],
"autoFinalize": true,
"dueDate": "2023-11-15",
"payer": "cust_...",
"beneficiary": "fund_...",
"description": "Devolução de pagamento duplicado"
}'
  • type: Tipo da fatura (neste exemplo, pay_off indica um acerto de contas).
  • items: Detalhes da devolução.
  • autoFinalize: Indica se a fatura deve ser finalizada automaticamente após sua criação.
  • dueDate: Data de vencimento da fatura (pode ser a data limite de devolução).
  • payer: Identificador do pagador.
  • beneficiary: Identificador do beneficiário.
  • description: Descrição da fatura.

Criar intenção de pagamento

Você deve criar uma intenção de pagamento para identificar para qual conta bancária ou PIX que será feito a devolução. Isso ajuda a garantir que os fundos sejam transferidos de volta para a conta correta.

curl --request POST \
--url 'https://api.base39.io/v1/payment-intents?invoice=inv...' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"method": "payment_method",
"methodData": {
"type": "payment_method",
"paymentMethod": "pm_...",
"description": "Conta bancária"
},
"amount": -1000,
"expireAt": "2023-10-31"
}'

Parâmetros do corpo da requisição:

  • method: Método de pagamento.
  • methodData.type: Tipo de método de pagamento.
  • methodData.paymentMethod: ID do método de pagamento.
  • methodData.description: Descrição do método de pagamento.
  • amount: Quantidade a ser reembolsada. (Note que é um valor negativo para indicar devolução.)
  • expireAt: Data de validade da intenção de pagamento.

Atualizar status da intenção de pagamento

Após criar a intenção de pagamento, você deve efetuar a transferência de devolução e atualizar o status.

curl --request POST \
--url https://api.base39.io/v1/payment-intents/pi_../pay \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '
{
"amountPaid": -1000,
"paidAt": "2023-10-18"
}'

Parâmetros do corpo da requisição:

  • amountPaid: Quantidade reembolsada. (Novamente, o valor é negativo para indicar devolução.)
  • paidAt: Data em que o reembolso foi realizado.