Analisar pagamentos não capturados
Saiba como usar análises se sua integração da Stripe usar autenticação e captura.
Por padrão, você cria pagamentos na Stripe em uma etapa e não precisa fazer mais nada para enviar os fundos à sua conta bancária.
No entanto, a Stripe aceita pagamentos em duas etapas, também conhecidos como autenticação e captura. Se sua integração usar essa técnica, lembre-se de que aprovar uma análise e capturar um pagamento são ações separadas.
Analisar pagamentos não capturados no Dashboard
Quando a Stripe envia um pagamento não capturado para revisão, o Dashboard exibe um botão Capturar além do conjunto de botões para fechar a revisão por aprovação ou reembolso. Além disso, como o reembolso de pagamentos não capturados costuma ser chamado de “liberação” ou “anulação”, os pagamentos não capturados têm um botão Cancelar em vez de um botão Reembolsar.
Observação
A aprovação da análise não captura automaticamente a cobrança. Você precisa clicar em Capturar.
Usar a API para capturar automaticamente pagamentos aprovados
Na API, você pode configurar a integração para:
- Capturar imediatamente pagamentos não enviados para
review
- Deixar os pagamentos enviados para
review
sem captura - Capturar o pagamento após a aprovação da análise
Capturar imediatamente pagamentos não enviados para análise
Para criar um pagamento não capturado, configure o comportamento de captura na solicitação da API. Se a solicitação for bem-sucedida, confira o atributo review da intenção de pagamento. Se o atributo estiver vazio, capture a cobrança.
Capturar um pagamento após a aprovação da análise
Por projeto, a etapa anterior deixa os pagamentos em review
sem captura. Nesta etapa, use webhooks para automatizar o processo de captura desses pagamentos após sua aprovação.
Comece configurando os webhooks para ouvir o evento review.
. Os dados do evento incluem o objeto review, e o atributo reason
desse objeto indica se a análise foi aprovada ou fechada por outro motivo (por exemplo, o pagamento foi reembolsado).
// Review object included in review.closed event webhook. { "id": "prv_08voh1589O8KAxCGPcIQpmkz", "object": "review", "payment_intent": "pi_1D0CsEITpIrAk4QYdrWDnbRS", "created": 1474379631, "livemode": false, "open": false, "reason": "approved" }
Se reason
for approved
, capture a cobrança.
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
post "/my/webhook/url" do event_json = JSON.parse(request.body.read) event = Stripe::Event.retrieve(event_json["id"]) if event.type == 'review.closed' review = event.object if review.reason == 'approved' pi = Stripe::PaymentIntent.retrieve(review.payment_intent) pi.capture end end status 200 end'sk_test_4eC39HqLyjWDarjtT1zdp7dc'
Para capturar pagamentos aprovados, o processo de análise precisa ser concluído em 7 dias. Caso contrário, assim como acontece com qualquer outro pagamento não capturado, a autorização expira automaticamente e você não precisa mais capturar o pagamento.