Aceitar um pagamento
Aceitar pagamentos online com segurança
Crie um formulário de pagamento ou use uma página de checkout pré-integrada para começar a aceitar pagamentos online.
Redirecione para uma página de pagamento hospedada pela Stripe usando o Stripe Checkout. Compare esta integração com as outras formas de integração da Stripe.
Esforço de integração
Tipo de integração
Redirecionar para a página de pagamento hospedada pela Stripe
Personalização da IU
First, register for a Stripe account.
Use our official libraries to access the Stripe API from your application:
Redirecione seu cliente para o Stripe CheckoutLado do clienteLado do servidor
Adicione um botão de checkout ao site para chamar um endpoint do lado do servidor e criar uma sessão do Checkout.
Também é possível criar uma sessão do Checkout para um cliente existente, permitindo preencher campos do Checkout com dados de contato conhecidos e unificar o histórico de compras desse cliente.
<html> <head> <title>Buy cool new product</title> </head> <body> <!-- Use action="/create-checkout-session.php" if your server is PHP based. --> <form action="/create-checkout-session" method="POST"> <button type="submit">Checkout</button> </form> </body> </html>
A Sessão de Checkout a representação programática do que seu cliente vê ao ser redirecionado a um formulário de pagamento. Você pode configurá-lo com opções como:
- Itens de linha a ser cobrado
- Moedas a usar
Você deve preencher o success_
com o valor do URL de uma página no seu site para a qual o Checkout envia o cliente após a conclusão do pagamento. Como opção, você pode informar um valor cancel_
de uma página no seu site para a qual o Checkout envia o cliente se ele encerrar o processo de pagamento antes da conclusão.
Observação
As Sessões do Checkout expiram 24 horas após a criação por padrão.
Depois de criar uma Sessão do Checkout, redirecione o cliente ao URL retornado na resposta.
formas de pagamento
Por padrão, a Stripe habilita cartões e outras formas de pagamento comuns. É possível ativar ou desativar formas de pagamento individuais no Stripe Dashboard. No Checkout, a Stripe avalia a moeda e as restrições e apresenta dinamicamente as formas de pagamento aceitas ao cliente.
Para ver como as formas de pagamento aparecem para os clientes, informe um ID de transação ou defina um valor e moeda de pedido no Dashboard.
Você pode ativar Apple Pay e Google Pay nas configurações de formas de pagamento. Por padrão, o Apple Pay fica ativado, e o Google Pay, desativado. No entanto, em alguns casos, a Stripe remove-os mesmo quando estão ativados. Removemos o Google Pay se você ativar o imposto automático sem coletar um endereço de entrega.
As páginas hospedadas na Stripe do Checkout não precisam de mudanças na integração para habilitar Apple Pay ou Google Pay. A Stripe trata esses pagamentos da mesma forma que os outros pagamentos com cartão.
Confirme seu endpoint
Confirme se o endpoint pode ser acessado iniciando seu servidor web (por exemplo, localhost:4242
) e executando o seguinte comando:
curl -X POST -is "http://localhost:4242/create-checkout-session" -d ""
Você deve ver uma resposta no seu terminal assim:
HTTP/1.1 303 See Other Location: https://checkout.stripe.com/c/pay/cs_test_... ...
Testes
Agora o botão de checkout já deve estar pronto para redirecionar seu cliente para o Stripe Checkout.
- Clique no botão de checkout.
- Você será redirecionado para o formulário de pagamento do Stripe Checkout.
Se a sua integração não estiver funcionando:
- Abra a guia Rede nas ferramentas de desenvolvedor do navegador.
- Clique no botão de checkout e confirme se uma solicitação de XHR foi enviada para o endpoint no lado do servidor (
POST /create-checkout-session
). - Verifique se a solicitação retorna um status 200.
- Use
console.
dentro de seu ouvinte de clique do botão para confirmar se os dados corretos são retornados.log(session)
Mostrar uma página de finalizaçãoLado do clienteLado do servidor
É importante que o cliente veja uma página de finalização depois de enviar o formulário de pagamento corretamente. Hospede essa página de finalização no seu site.
Criar uma página de finalização mínima:
<html> <head><title>Thanks for your order!</title></head> <body> <h1>Thanks for your order!</h1> <p> We appreciate your business! If you have any questions, please email <a href="mailto:orders@example.com">orders@example.com</a>. </p> </body> </html>
Em seguida, atualize o endpoint de criação da sessão do Checkout para usar essa nova página:
Observação
Se quiser personalizar a página de finalização, leia o guia sobre a página de finalização personalizada.
Testes
- Clique no botão do checkout.
- Preencha os dados de pagamento com os dados do cartão de teste:
- Informe o número do cartão
4242 4242 4242 4242
. - Informe uma data futura qualquer como validade do cartão.
- Informe qualquer número de 3 dígitos como CVC.
- Informe qualquer código postal de cobrança.
- Informe o número do cartão
- Clique em Pagar.
- Você será redirecionado para a nova página de finalização.
Em seguida, encontre o novo pagamento no Stripe Dashboard. Os pagamentos bem-sucedidos aparecem na lista de pagamentos. Quando você clicar em um pagamento, ele leva você até a página de detalhes do pagamento. A seção Resumo do checkout contém os dados de cobrança e a lista de itens comprados, que você pode usar para processar manualmente o pedido.
Processar eventos pós-pagamento
A Stripe envia um evento checkout.session.completed quando um cliente conclui o pagamento de uma sessão do Checkout. Use a ferramenta Dashboard webhook ou siga o guia de webhooks para receber e processar esses eventos, que podem levar você a:
- Envie um e-mail de confirmação do pedido ao cliente.
- Registre a venda em banco de dados.
- Inicie um fluxo de trabalho de envio.
Escute esses eventos em vez de esperar que o cliente seja redirecionado de volta ao seu site. Acionar a execução apenas na página inicial do Checkout não é confiável. Configurar sua integração para escutar eventos assíncronos permite aceitar diferentes tipos de formas de pagamento com uma única integração.
Saiba mais no nosso guia de execução para o Checkout.
Gerencie os seguintes eventos ao coletar pagamentos com o Checkout:
Evento | Descrição | Ação |
---|---|---|
checkout.session.completed | Enviado quando um cliente conclui uma sessão do Checkout. | Envie ao cliente uma confirmação de pedido e execute o pedido. |
checkout.session.async_payment_succeeded | Enviado quando um pagamento feito com uma forma de pagamento postergada, como débito automático ACH, é bem-sucedido. | Envie ao cliente uma confirmação de pedido e execute o pedido. |
checkout.session.async_payment_failed | Enviado quando ocorre uma falha em um pagamento feito com uma forma de pagamento postergada, como débito automático ACH. | Notifique o cliente sobre a falha e traga-o de volta à sessão para tentar pagar novamente. |
Teste sua integração
Para testar a integração do formulário de pagamento hospedado pela Stripe:
- Crie uma Sessão do Checkout.
- Preencha os dados de pagamento com um método da tabela a seguir.
- Informe uma data futura qualquer como validade do cartão.
- Informe qualquer número de 3 dígitos como CVC.
- Informe qualquer código postal de cobrança.
- Clique em Pagar. Você será redirecionado para
success_
.url - Acesse o Dashboard e procure o pagamento na página Transações. Se o seu pagamento for bem-sucedido, ele aparecerá na lista.
- Clique no pagamento para ver mais detalhes, como um resumo do Checkout com dados de faturamento e a lista de itens comprados. Você pode usar esses dados para executar o pedido.
Saiba como testar sua integração.
Consulte Testes para obter mais informações sobre como testar sua integração.
Cartões de teste
Número | Descrição |
---|---|
Finaliza e processa o pagamento imediatamente. | |
Exige autenticação 3D Secure 2 para um pagamento bem-sucedido. | |
Sempre falha, com o código de recusa insufficient_ . |