# Reembolsar e cancelar pagamentos Saiba como cancelar ou reembolsar um pagamento. Você pode [cancelar um pagamento](https://docs.stripe.com/refunds.md#cancel-payment) antes de concluí-lo sem qualquer custo. Ou você pode reembolsar um pagamento, integralmente ou parcialmente, após a conclusão bem-sucedida, o que pode gerar uma tarifa. As tarifas de processamento da Stripe relacionadas à transação original não são devolvidas. Acesse nossa [página de preços](https://stripe.com/pricing/local-payment-methods) para mais informações. Reembolsos utilizam seu saldo disponível na Stripe (não incluindo valores pendentes). Se o saldo disponível não cobrir o valor do reembolso, a Stripe mantém o reembolso como pendente para transações com cartão (reembolsos de outros tipos de pagamento serão recusados) até que seu saldo na Stripe seja suficiente. Você pode resolver um saldo negativo na Stripe recebendo pagamentos ou *recarregando* (The act of adding funds to a Stripe account, typically through a transfer from a bank external to Stripe) o saldo da sua conta. Nas regiões aplicáveis, a Stripe pode debitar automaticamente suas contas bancárias para recuperar um saldo negativo. ## Solicitações de reembolso Enviamos solicitações de reembolso ao banco ou *emissor do cartão* (The entity that issued a payment card to a cardholder. This could be a bank, such as with the Visa or Mastercard network, or it could be the card network itself, such as with American Express) do seu cliente. Os reembolsos bem-sucedidos aparecem no extrato bancário dos seus clientes em tempo real, dependendo da bandeira do cartão e do banco emissor. Não é possível contestar e estornar cobranças de cartão de crédito totalmente reembolsadas. Também enviamos um e-mail de notificação do reembolso ao seu cliente quando todas estas condições são atendidas: - A cobrança original foi criada em um cliente na sua conta Stripe. - O cliente tem um e-mail armazenado. - Você habilitou **Enviar e-mails para os clientes sobre reembolsos** no [Dashboard](https://dashboard.stripe.com/account/emails). Você pode [visualizar seus pagamentos reembolsados no Dashboard](https://dashboard.stripe.com/test/payments?status%5B0%5D=refunded&status%5B1%5D=refund_pending&status%5B2%5D=partially_refunded). ## Emitir reembolsos Você pode emitir reembolsos usando a [API Refunds](https://docs.stripe.com/api/refunds.md) ou o [Dashboard](https://dashboard.stripe.com/test/payments). Você pode emitir mais de um reembolso para uma cobrança, mas não pode reembolsar um total superior ao valor da cobrança original. #### Dashboard Para reembolsar um pagamento usando o Dashboard: 1. Encontre o pagamento que deseja reembolsar na página [Payments](https://dashboard.stripe.com/payments). 1. Clique no menu de navegação (⋯) à direita do pagamento e selecione **Reembolsar pagamento**. 1. Por padrão, os reembolsos são integrais. Para fazer um reembolso parcial, informe um valor de reembolso diferente. 1. Escolha um motivo para o reembolso. Se você selecionar **Outro**, precisará adicionar uma anotação com o motivo do reembolso. Clique em **Reembolsar**. Como alternativa, você pode clicar em um pagamento específico e emitir um reembolso na página de detalhes. Também é possível enviar [recibos de reembolsos](https://docs.stripe.com/receipts.md#refund-receipts) automaticamente ou enviar manualmente para cada reembolso. > #### Reembolsos em lote > > O Dashboard permite reembolsar um lote de pagamentos integrais. Selecione os pagamentos a ser reembolsados marcando a caixa à esquerda de cada pagamento (não importa se os pagamentos estão em páginas de resultado diferentes). Clique em **Reembolsar** e selecione o motivo. Somente reembolsos integrais podem ser emitidos dessa forma. Reembolsos parciais devem ser emitidos individualmente. #### API Para reembolsar um pagamento usando a API, [crie um reembolso](https://docs.stripe.com/api.md#create_refund) informando o ID ou o [PaymentIntent](https://docs.stripe.com/api/payment_intents.md) da cobrança. Quando você usa um PaymentIntent para recolher um pagamento, a Stripe cria um objeto [charge](https://docs.stripe.com/api/charges/object.md). Para reembolsar um pagamento após o sucesso do PaymentIntent, crie um reembolso usando o PaymentIntent, que é o mesmo que reembolsar o charge subjacente. Se você estiver usando as APIs do Stripe Tax para registrar vendas, será necessário [registrar os reembolsos](https://docs.stripe.com/tax/custom.md#reversals). ```curl curl https://api.stripe.com/v1/refunds \ -u "<>:" \ -d payment_intent=pi_Aabcxyz01aDfoo ``` Você também pode reembolsar apenas parte de um PaymentIntent especificando um valor. Para fazer isso, forneça um parâmetro `amount` como um número inteiro em centavos (ou na menor unidade monetária da moeda da cobrança). ```curl curl https://api.stripe.com/v1/refunds \ -u "<>:" \ -d payment_intent=pi_Aabcxyz01aDfoo \ -d amount=1000 ``` Se você quiser separar a [autorização e a captura](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md) de um charge e reembolsar um PaymentIntent com status `requires_capture`, o processo de reembolso é diferente. Nesse caso, o charge associado ao PaymentIntent permanece não capturado e não pode ser reembolsado diretamente. Você deve [cancelar o PaymentIntent](https://docs.stripe.com/api/payment_intents/cancel.md). ### Reembolsos por meio de uma plataforma Connect O comportamento do reembolso depende do [tipo de cobrança do Connect](https://docs.stripe.com/connect/charges.md#refund-creation) usado na sua integração. - A Stripe debita diretamente da conta conectada reembolsos para pagamentos de [cobranças diretas](https://docs.stripe.com/connect/direct-charges.md#issue-refunds). - A Stripe debita sua plataforma pelos reembolsos para[destino de cobranças](https://docs.stripe.com/connect/destination-charges.md#issue-refunds) ou[separar cobrança e transferir](https://docs.stripe.com/connect/separate-charges-and-transfers.md#issue-refunds) (com ou sem`on_behalf_of`) pagamentos. Reverta as transferências associadas a esses tipos de cobrança para recuperar o valor do reembolso das suas contas conectadas. As plataformas Connect podem permitir que suas contas conectadas forneçam reembolsos aos clientes do seu site usando componentes integrados do Connect, como o componente [pagamentos](https://docs.stripe.com/connect/supported-embedded-components/payments.md) ou o componente [detalhes de pagamento](https://docs.stripe.com/connect/supported-embedded-components/payment-details.md). ## Destinos dos reembolsos Os reembolsos somente podem ser enviados para a forma de pagamento original da cobrança. Você não pode enviar um reembolso para um destino diferente, como outro cartão ou conta bancária. Os reembolsos para cartões expirados ou cancelados são processados pelo emissor do cartão do cliente e, na maioria dos casos, creditados na nova via do cartão do cliente. Quando não há uma nova via, o emissor costuma reembolsar o cliente usando outra forma de pagamento (como cheque ou depósito em conta bancária). Em casos raros, um reembolso para um cartão pode [falhar](https://docs.stripe.com/refunds.md#failed-refunds). Para outras formas de pagamento, como [ACH](https://docs.stripe.com/payments/ach-direct-debit.md) e [iDEAL](https://docs.stripe.com/payments/ideal.md), o processamento dos reembolsos varia de banco para banco. Se um cliente fechar a forma de pagamento, o banco pode devolver o reembolso para nós, e nesse momento ele é marcado como [malsucedido](https://docs.stripe.com/refunds.md#failed-refunds). ## Gerenciar reembolsos com falha Um reembolso pode falhar se o banco do cliente ou o emissor do cartão não puder processá-lo. Por exemplo, uma conta bancária fechada ou um problema com o cartão pode causar falha no reembolso. Quando isso acontece, o banco nos devolve o valor reembolsado e nós o adicionamos ao saldo da sua conta Stripe. Esse processo pode demorar até 30 dias a partir da data de publicação. Ao usar a API, o status do objeto [Refund](https://docs.stripe.com/api.md#refund_object) muda para `failed` e inclui estes atributos: - `failure_balance_transaction`: o ID da [transação de saldo](https://docs.stripe.com/api.md#balance_transaction_object) que representa o valor devolvido ao seu saldo da Stripe. - `failure_reason`: o motivo da falha do reembolso. Esses motivos incluem: | Motivo da falha | Descrição | | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `charge_for_pending_refund_disputed` | Um cliente contestou a cobrança enquanto o reembolso estava pendente. Nesse caso, recomendamos [aceitar ou desafiar](https://docs.stripe.com/disputes/responding.md#decide) a contestação em vez de reembolsar para evitar reembolsos duplicados ao cliente. | | `declined` | Reembolso recusado por nossos parceiros financeiros. | | `expired_or_canceled_card` | A forma de pagamento foi cancelada por um cliente ou expirou pelo parceiro. | | `insufficient_funds` | O reembolso está pendente devido a fundos insuficientes e ultrapassou a janela de validade de reembolso pendente. | | `lost_or_stolen_card` | O reembolso falhou devido à perda ou roubo do cartão original. | | `merchant_request` | Falha no reembolso durante solicitação da empresa. | | `unknown` | O reembolso falhou por um motivo desconhecido. | Para algumas formas de pagamento, o código de recusa fornecido por nossos parceiros financeiros, que indica o motivo da falha do reembolso, está disponível no campo `network_decline_code` do hash `destination_details`: ``` { id: "pyr_1234", destination_details: { blik: { network_decline_code: "decline_code" }, type: 'blik', } } ``` Nas raras situações em que ocorre uma falha em um reembolso, notificamos você usando o `refund.failed` *evento* (A tool to send events to your application via webhook or directly to your cloud infrastructure) (consulte [todos os eventos relacionados a reembolsos](https://docs.stripe.com/refunds.md#refund-events)). Se isso ocorrer, você precisará encontrar uma forma alternativa de fornecer um reembolso ao cliente. Se a sua plataforma usa o [Connect com Destination Charges](https://docs.stripe.com/connect/destination-charges.md#issue-refunds), os fundos de um depósito de reembolso não realizado são depositados no saldo da conta da plataforma na Stripe . ## Cancelar um reembolso Dependendo do tipo de reembolso, pode ser possível cancelá-lo antes que ele chegue ao cliente. Alguns reembolsos de cartão aceitam cancelamento por um curto período de tempo. O reembolso não pode ter sido processado como anulação de cobrança. Somente cancelamentos do Dashboard são aceitos para reembolsos de cartão. Para algumas [formas de pagamento](https://docs.stripe.com/payments/bank-transfers.md#refunds), a Stripe entra em contato com o cliente para coletar dados bancários antes de processar o reembolso. Você pode cancelar esses reembolsos enquanto os dados bancários são coletados. Os cancelamentos por API e Dashboard são aceitos para esse tipo de reembolso. Reembolsos cancelados passam para o status `cancelado`. Como os cancelamentos são um tipo de falha de reembolso, os atributos `failure_reason` e `failure_balance_transaction` são incluídos no objeto [Refund](https://docs.stripe.com/api.md#refund_object). Se a sua plataforma utiliza [Connect with destination charges](https://docs.stripe.com/connect/destination-charges.md#issue-refunds), os fundos de um reembolso cancelado são depositados no saldo Stripe da conta da sua plataforma. To cancel a refund using the Dashboard: 1. Find the payment associated with the refund in the [Payments](https://dashboard.stripe.com/payments) page. 1. Click the overflow menu (⋯) to the right of the payment, then select **Cancel refund**. 1. If there are multiple partial refunds, select the correct refund in the dropdown. 1. Confirm the refund cancellation by selecting **Yes, cancel refund**. Alternatively, you can click a specific payment and cancel the refund from its details page. ## Reembolso e anulação Alguns reembolsos, os emitidos logo após a cobrança original, aparecem na forma de um estorno de *estorno* (A reversal is the cancellation of a transaction. Stripe doesn't withhold any fees for payment reversals) em vez de um reembolso. No caso de um estorno, a cobrança original não aparece no extrato do cliente e um crédito separado não é emitido. Usuários do *IC+*, podem ver uma diferença de custo entre anulações e reembolsos, porque anulações costumam incorrer em tarifas de bandeira mais baixas. #### Dashboard Para verificar se um reembolso foi enviado como anulação no Dashboard: 1. Abra a página de detalhes do pagamento do pagamento associado ao reembolso. 1. No cronograma, clique em **Ver detalhes** na entrada do reembolso. 1. Se for uma anulação, a mensagem correspondente é exibida. #### API Para verificar se um reembolso é enviado como uma anulação usando a API: 1. Consuma o [evento](https://docs.stripe.com/refunds.md#refund-events) `refund.updated` ou [recupere o reembolso](https://docs.stripe.com/api/refunds/retrieve.md) com a API. 1. Se for uma anulação, retorna `destination_details[card][type] = 'reversal'`. ## Rastrear um reembolso Quando você inicia um reembolso, a Stripe envia solicitações de reembolso ao banco ou emissor do cartão do cliente. O cliente recebe o crédito do reembolso em 5 a 10 dias úteis depois, dependendo do banco. Um cliente pode entrar em contato com você se não vir o reembolso. Um reembolso pode não ser visível para o cliente por vários motivos: - Reembolsos emitidos logo depois da cobrança original aparecem como reversão em vez de reembolso. Nas reversões, a cobrança original é eliminada do extrato do cliente e nenhum crédito separado é emitido. - Os reembolsos podem falhar se o banco ou emissor do cartão do cliente não conseguem processá-los corretamente. O banco devolve o valor reembolsado para a Stripe, que credita esse valor no saldo da sua conta Stripe. Esse processo pode levar até 30 dias após a solicitação do reembolso. Se um cliente estiver fazendo perguntas sobre um reembolso, pode ser útil informar o número de referência principal desse reembolso. Para reembolsos por cartão, pode ser um **Número de referência de adquirente (ARN)**, um **Número de auditoria de rastreamento de Sistema (STAN)** ou um **Número de referência de recuperação (RRN)**. O ARN, STAN ou RRN é o número de referência atribuído a uma transação por cartão processada em um fluxo de pagamento. Para reembolsos de formas de pagamento locais, pode ser um número de referência gerado pela Stripe ou nossos parceiros financeiros e que é propagado aos bancos ou instituições beneficiários. O cliente pode levar essa referência ao banco, que poderá fornecer mais informações sobre quando o reembolso estará disponível. Ter um número de referência também pode aumentar a confiança do seu cliente de que o reembolso foi iniciado. As referências de reembolso estão disponíveis nas seguintes condições: - Eles são aceitos para alguns parceiros financeiros e marcados como indisponíveis para alguns parceiros. - Após o início do reembolso, pode demorar até 7 dias para receber o ARN dos parceiros bancários envolvidos na transação. - O ARN não está disponível no caso de uma anulação, pois a cobrança original não é processada. Para bandeiras de cartão que não aceitam ARNs, tentamos fornecer outras referências, como Número de auditoria de rastreamento de sistema (STAN) ou Número de referência de recuperação (RRN). #### Dashboard Para encontrar a referência de um reembolso usando o Dashboard: 1. Abra a página de detalhes do pagamento do pagamento associado ao reembolso. 1. No cronograma, clique em **Ver detalhes** na entrada do reembolso. 1. Quando disponível, a Stripe exibe o ARN ou STAN na área de transferência. #### API Para encontrar a referência de um reembolso usando a API: 1. Consuma o [evento](https://docs.stripe.com/refunds.md#refund-events) `refund.updated` ou [recupere o reembolso](https://docs.stripe.com/api/refunds/retrieve.md) com a API. 1. Quando disponível, a Stripe exibe a referência de reembolso do cartão no seguinte formato de resposta da API: ``` { id: "re_1234", destination_details: { card: { reference: "123456", reference_status: "available", reference_type: "acquirer_reference_number", type: "refund" }, type: "card", } } ``` Ou a referência para formas de pagamento locais selecionadas no seguinte formato de resposta da API: ``` { id: "pyr_1234", destination_details: { eu_bank_transfer: { reference: "123456", reference_status: "available" }, type: "eu_bank_transfer", } } ``` ## Cancelar um pagamento Somente pagamentos com status `uncaptured` podem ser cancelados usando o Dashboard. Para cancelar pagamentos com outros status, é preciso usar a API. #### Dashboard Para cancelar pagamentos não capturados usando o Dashboard: 1. Encontre o pagamento que deseja cancelar na página [Payments](https://dashboard.stripe.com/payments). 1. Clique no pagamento e selecione **Cancelar**. 1. Selecione um motivo para cancelar e clique em **Sim**. Se você selecionar **Outros**, é preciso adicionar uma nota explicando o motivo do cancelamento do pagamento. #### API Se não pretende mais receber um pagamento, você pode [cancelar um PaymentIntent](https://docs.stripe.com/api/payment_intents/cancel.md). É possível manter um PaymentIntent em um status incompleto, como `requires_confirmation` ou `requires_payment_method`, já que PaymentIntents incompletos ajudam a entender a taxa de conversão no checkout. O exemplo de código a seguir mostra a solicitação de cancelamento de um PaymentIntent: ```curl curl -X POST https://api.stripe.com/v1/payment_intents/pi_32AkjQ5H4Bas2eAolX13/cancel \ -u "<>:" ``` Você só pode cancelar um PaymentIntent quando ele estiver em um dos seguintes status: - `requires_payment_method` - `requires_capture` - `requires_confirmation` - `requires_action` - `processing` (somente quando a forma de pagamento associada for conta bancária dos EUA) Não é possível cancelar um PaymentIntent bem-sucedido. Um PaymentIntent cancelado não pode ser usado para realizar outras cobranças. Qualquer operação tentada pelo aplicativo em um PaymentIntent cancelado falhará com um erro. ## Eventos de reembolso A Stripe aciona [eventos](https://docs.stripe.com/api/events.md#events) sempre que um reembolso é criado ou alterado. Algumas outras ações, como o fechamento de análises, também acionam eventos relevantes para os reembolsos. Certifique-se de que sua integração esteja configurada para [lidar com eventos](https://docs.stripe.com/webhooks/handling-payment-events.md) e que você [verifique as assinaturas de Webhook](https://docs.stripe.com/webhooks.md#verify-events) para confirmar que os eventos recebidos são da Stripe. Você também deve criar uma lógica interna para notificar clientes ou sua equipe sobre o estado do processo de reembolso. No mínimo, a Stripe recomenda que você monitore o evento `refund.created`. A tabela a seguir descreve os eventos mais comuns relacionados a reembolsos. | Evento | Descrição | | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `refund.created` | Enviado quando um reembolso é criado. | | `refund.updated` | Enviado quando o reembolso é atualizado. As atualizações incluem adicionar metadados e fornecer detalhes como o [ARN como um número de referência para rastrear reembolsos](https://docs.stripe.com/refunds.md#tracing-refunds). | | `refund.failed` | Enviado quando um [reembolso falha](https://docs.stripe.com/refunds.md#failed-refunds). | | `charge.dispute.funds_reinstated` | Enviado quando fundos são reintegrados à sua conta após o encerramento de uma contestação, incluindo [pagamentos parcialmente reembolsados](https://docs.stripe.com/disputes/best-practices.md#partial-refund-bp). | | `charge.refunded` | Enviado quando uma cobrança é reembolsada, incluindo reembolsos parciais. Escute `refund.created` para obter informações sobre o reembolso. | | `review.closed` | Enviado quando uma [revisão](https://docs.stripe.com/api/events/types.md#review_object) é encerrada. Consulte o campo `reason` para entender por que ela foi encerrada, uma das opções: `approved`, `disputed`, `canceled`, `refunded`, ou `refunded_as_fraud`. | | `source.refund_attributes_required` (Deprecated) | Enviado quando a fonte recebedora exige atributos de reembolso para processar um reembolso ou pagamento incorreto. | | `charge.refund.updated` (Deprecated) | Enviado quando o reembolso é atualizado, somente para reembolsos com uma cobrança correspondente. Em vez disso, ouça `refund.updated` para obter atualizações sobre todos os reembolsos. | ## Otimização de custos Se a sua empresa processa um grande volume de reembolsos próximo ao momento da transação, recomendamos usar [autorização e captura manuais](https://docs.stripe.com/payments/place-a-hold-on-a-payment-method.md) para reduzir seus custos com reembolsos. A autorização e a captura manuais permitem controlar melhor os custos ao cancelar pagamentos antes da captura ou reduzir o valor capturado em vez de processar um reembolso. ## See also - [Adicionar fundos ao seu saldo da Stripe](https://docs.stripe.com/get-started/account/add-funds.md) - [Adicionar fundos ao saldo da plataforma](https://docs.stripe.com/connect/top-ups.md) - [Localizar preços](https://docs.stripe.com/payments/currencies/localize-prices.md)