Aceitar um pagamento
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. Veja como essa integração se compara a outros tipos 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
Configurar a StripeLado do servidor
Primeiro, cadastre-se para obter uma conta Stripe.
Use nossas bibliotecas oficiais para acessar a API da Stripe no seu aplicativo:
Redirecione seu cliente para o Stripe CheckoutLado do clienteLado do servidor
Adicione um botão de checkout ao seu site para chamar um endpoint do lado do servidor e criar uma Sessão do Checkout.
<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 cobrar
- Moedas a usar
Você deve preencher o success_url
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_url
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.
Depois de criar uma Sessão do Checkout, redirecione o cliente ao URL retornado na resposta.
Observação
Por padrão, a Stripe ativa cartões e outras formas de pagamento predominantes que podem ajudar você a alcançar mais clientes. Você pode ativar ou desativar as formas de pagamento no Stripe Dashboard. A Stripe avalia as restrições de moeda e forma de pagamento e mostra dinamicamente o conjunto de formas de pagamento aceitas no Checkout.
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.log(session)
dentro de seu ouvinte de clique do botão para confirmar se os dados corretos são retornados.
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.
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 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.
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 Pagamentos. 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 mais sobre 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_funds . |
Apple Pay e Google Pay
Você pode ativar o Apple Pay e o Google Pay nas configurações de formas de pagamento. O Apple Pay é habilitado por padrão.
As páginas do Checkout hospedadas pela Stripe não precisam de mudanças na integração para habilitar Apple Pay ou Google Pay. A Stripe gerencia esses pagamentos da mesma forma que os outros pagamentos com cartão.
Agora que sua integração básica está funcionando, veja como receber uma notificação programaticamente sempre que um cliente pagar.