Recursos para IA

Reembolsos de transações com Pix

Ao receber pagamentos com Pix, é possível que surja a necessidade de realizar operações de reembolso. Caso seja necessário, é possível que os reembolsos permaneçam em processo (contingência) devido a algum erro durante o processamento da transação, por exemplo, na comunicação com o Bacen.

Por padrão, esses erros são reportados a quem fez a requisição como um 400 - Bad Request, o que pode dificultar a compreensão sobre o status em que se encontra o reembolso até que o pagamento passe ao status refunded (caso seja aprovado).

Para obter uma resposta mais clara, basta enviar o header X-Render-In-Process-Refunds: true junto da requisição de criação do reembolso, dessa forma, a resposta incluirá o status 201 - Created e o campo status com valor in_process.

O header também pode ser incluído em requisições para obter a lista de reembolsos e para a busca de um reembolso específico. Nesses casos, quando for aplicável, a resposta trará o mesmo valor de status mencionado anteriormente.

<?php
  use MercadoPago\Client\Payment\PaymentRefundClient;
  MercadoPagoConfig::setAccessToken("YOUR_ACCESS_TOKEN");
  
  $client = new PaymentRefundClient();
  $refund = $client->refund($payment_id, 20);
  echo $refund->id;
?>

Exemplo de resposta (alguns campos foram omitidos)

Json
{
 "id": 1150873004,
 "payment_id": 23443394602,
 "amount": 20,
 "metadata": {},
 "source": {
     "id": "475845652",
     "name": "Test Test",
     "type": "collector"
 },
 "date_created": "2022-06-24T16:09:03.944-04:00",
 "unique_sequence_number": null,
 "refund_mode": "standard",
 "adjustment_amount": 0,
 "status": "in_process",
 "reason": "1",
 "labels": [
     "hidden",
     "contingency"
 ],
 "amount_refunded_to_payer": 20,
 "e2e_id": "D00000000202312220000abcdefghijklm",
 "partition_details": []
}