Crie cobranças diretas
Crie cobranças diretamente na conta conectada e receba tarifas.
Crie cobranças diretas quando os clientes fazem transações diretamente com uma conta conectada e muitas vezes nem percebem a existência da sua plataforma. Com cobranças diretas:
- O pagamento aparece como cobrança na conta conectada, e não na conta da sua plataforma.
- O saldo da conta conectada aumenta a cada cobrança.
- O saldo da sua conta aumenta com as tarifas da plataforma de cada cobrança.
Esse tipo de cobrança é mais adequado para plataformas que fornecem software como serviço. A Shopify, por exemplo, oferece ferramentas para a criação de lojas online e a Worksify permite que professores vendam cursos online.
Observação
Recomendamos usar cobranças diretas para contas conectadas que têm acesso ao Stripe Dashboard completo.
Crie uma integração de pagamentos personalizada incorporando componentes de IU ao seu site usando o Stripe Elements. O código no lado do cliente e do servidor cria um formulário de checkout que aceita várias formas de pagamento. Compare esta integração com as outras formas de integração da Stripe.
Esforço de integração
Tipo de integração
Combine componentes de IU em um fluxo de pagamento personalizado
Personalização da IU
Personalização no nível de CSS com a API Appearance
Primeiro, cadastre-se para obter uma conta Stripe.
Use nossas bibliotecas oficiais para acessar a API da Stripe no seu aplicativo:
Criar um PaymentIntentLado do servidor
A Stripe usa um objeto PaymentIntent para representar sua intenção de coletar o pagamento de um cliente, acompanhando suas tentativas de cobrança e alterações no estado do pagamento durante todo o processo.
As formas de pagamento mostradas aos clientes durante o processo de checkout também estão incluídas no PaymentIntent. Você pode deixar que a Stripe obtenha automaticamente as formas de pagamento das configurações do Dashboard ou listá-las manualmente.
A menos que sua integração exija uma opção baseada em código para oferecer formas de pagamento, não liste as formas de pagamento manualmente. A Stripe avalia as restrições de moeda, forma de pagamento e outros parâmetros para determinar a lista de formas de pagamento aceitas. A Stripe prioriza as formas de pagamento que ajudam a aumentar a conversão e são mais relevantes para a moeda e a localização do cliente. A Stripe oculta as formas de pagamento de prioridade menor em um menu de navegação.
Recuperar o segredo do cliente
O PaymentIntent inclui um segredo do cliente que o lado do cliente usa para concluir com segurança o processo de pagamento. Você pode usar abordagens diferentes para enviar a senha do cliente ao lado do cliente.
Coletar dados de pagamentoLado do cliente
Colete dados de pagamento no cliente com o Payment Element. O Payment Element é um componente de IU que simplifica a coleta de dados de pagamento para uma ampla variedade de formas de pagamento.
O Payment Element contém um iframe que envia dados de pagamento com segurança à Stripe por uma conexão HTTPS. Evite colocar o Payment Element dentro de outro iframe porque algumas formas de pagamento exigem o redirecionamento para outra página para confirmação do pagamento. Se você optar por usar um iframe e quiser aceitar Apple Pay ou Google Pay, o iframe precisa ter o atributo permitir definido como "payment *"
igual.
O endereço da página de checkout deve começar com https://
em vez de http://
para que sua integração funcione. Você pode testar sua integração sem usar HTTPS, mas lembre-se de habilitá-la quando estiver pronto para aceitar pagamentos em tempo real.
Enviar o pagamento para a StripeLado do cliente
Use stripe.confirmPayment para concluir o pagamento utilizando os detalhes do Payment Element. Forneça um return_url a essa função para indicar para onde a Stripe deve redirecionar o usuário após a conclusão do pagamento. Seu usuário pode ser redirecionado primeiro para um site intermediário, como uma página de autorização bancária, antes de ser redirecionado para o return_
. Os pagamentos com cartão são redirecionados imediatamente para o return_
quando um pagamento é finalizado.
Se não quiser redirecionar pagamentos com cartão após a conclusão do pagamento, defina redirecionar como if_
. Isso somente redireciona os clientes que fazem checkout com formas de pagamento baseadas em redirecionamento.
Verifique se o return_
corresponde a uma página no seu site que fornece o status do pagamento. Quando a Stripe redireciona o cliente para o return_
, nós fornecemos os seguintes parâmetros de consulta de URL:
Parâmetro | Descrição |
---|---|
payment_ | O identificador único do PaymentIntent . |
payment_ | O segredo do cliente do objeto PaymentIntent . |
Cuidado
Se você tiver ferramentas que rastreiam a sessão do cliente no navegador, pode ser necessário adicionar o domínio stripe.
à lista de exclusão de referenciadores. Os redirecionamentos fazem com que algumas ferramentas criem novas sessões, o que impede que você rastreie a sessão completa.
Use um dos parâmetros de consulta para recuperar o PaymentIntent. Inspecione o status do PaymentIntent para decidir o que mostrar aos clientes. Você também pode anexar seus próprios parâmetros de consulta ao fornecer o return_
, que persiste durante o processo de redirecionamento.
Gerenciar eventos pós-pagamentoLado do servidor
Stripe envia um evento payment_intent.succeeded quando o pagamento é concluído. Use a ferramenta Dashboard webhook ou siga o guia de webhooks para receber esses eventos e executar ações, como enviar um e-mail de confirmação do pedido ao cliente, registrar a venda em um banco de dados ou iniciar um fluxo de trabalho de envio.
Escute esses eventos em vez de aguardar um retorno de chamada do cliente. No cliente, o consumidor pode fechar a janela do navegador ou sair do aplicativo antes da execução do retorno de chamada, o que permite que clientes mal-intencionados manipulem a resposta. Configurar sua integração para escutar eventos assíncronos é o que permite a você aceitar diferentes tipos de formas de pagamento com uma única integração.
Além de gerenciar o evento payment_
, recomendamos gerenciar esses outros eventos ao coletar pagamentos com o Element Pagamento:
Evento | Descrição | Ação |
---|---|---|
payment_intent.succeeded | Enviado quando um cliente conclui um pagamento com êxito. | Envie ao cliente uma confirmação de pedido e processe o pedido. |
payment_intent.processing | Enviado quando um cliente inicia um pagamento, mas o pagamento ainda precisa ser concluído. Esse evento costuma ser enviado quando um cliente inicia um débito bancário. Ele é seguido por um evento payment_ ou payment_ no futuro. | Envie ao cliente uma confirmação do pedido que indica que o pagamento está pendente. Para produtos digitais, pode ser necessário executar o pedido antes de aguardar a conclusão do pagamento. |
payment_intent.payment_failed | Enviado quando um cliente tenta fazer um pagamento, mas o pagamento falha. | Se um pagamento passa de processing para payment_ , ofereça ao cliente outra tentativa para pagar. |
Testar a integração
Consulte Testes para obter mais informações sobre como testar sua integração.
Coletar tarifas
Quando um pagamento é processado, sua plataforma pode receber uma parte da transação na forma de tarifas da plataforma. Você pode definir os preços da tarifa da plataforma de duas maneiras:
- Use a ferramenta de preços da plataforma para definir e testar regras de preços. No momento, esse recurso no-code no Stripe Dashboard só está disponível para plataformas responsáveis pelo pagamento das tarifas da Stripe.
- Defina internamente as regras de preços, especificando as tarifas da plataforma diretamente em um PaymentIntent. As tarifas definidas com esse método substituem a lógica de preços especificada na ferramenta de preços da plataforma.
Sua plataforma pode cobrar uma tarifa da plataforma com as seguintes limitações:
- O valor de
application_
deve ser positivo e menor que o valor da cobrança. A tarifa da plataforma cobrada é limitada ao valor capturado da cobrança.fee_ amount - Não há tarifas adicionais da Stripe sobre a própria tarifa da plataforma.
- De acordo com os requisitos regulatórios e de conformidade do Brasil, as plataformas de fora do Brasil com contas conectadas brasileiras não podem coletar tarifas da plataforma por meio da Stripe.
- A moeda de
application_
depende de alguns fatores de várias moedas.fee_ amount
A transação de saldo da cobrança resultante inclui um detalhamento das tarifas da Stripe e da plataforma. Para melhorar a experiência com os relatórios, é criado um objeto Application Fee após a coleta da tarifa. Use a propriedade amount
no objeto de tarifa do aplicativo para criar relatórios. Você pode acessar esses objetos com o endpoint Application Fees.
As tarifas da plataforma recebidas são adicionadas ao saldo disponível da sua conta no mesmo cronograma que os fundos das cobranças regulares da Stripe. Você pode consultá-las na seção Tarifas cobradas do Dashboard.
Cuidado
Por padrão, as tarifas da plataforma para cobranças diretas são criadas de forma assíncrona. Se você expandir o objeto application_
em uma solicitação de criação de cobrança, a tarifa da plataforma será criada de forma síncrona como parte dessa solicitação. Somente expanda o objeto application_
se for necessário, pois isso aumenta a latência da solicitação.
Para acessar os objetos de tarifa da plataforma para tarifas da plataforma criadas de forma assíncrona, escute o evento de webhook application_fee.created.
Fluxo de fundos com tarifas
Quando você especifica uma tarifa de plataforma sobre uma cobrança, o valor da tarifa é transferido para a conta da sua plataforma na Stripe. Ao processar uma cobrança diretamente na conta conectada, o valor da cobrança (menos as tarifas da Stripe e da plataforma) é depositado na conta conectada.
Por exemplo, se você fizer uma cobrança de US$ 10 com uma tarifa da plataforma de US$ 1,23 (como no exemplo anterior), US$ 1,23 será transferido para a conta da sua plataforma. US$ 8,18 (US$ 10 - US$ 0,59 - US$ 1,23) são depositados na conta conectada (considerando as tarifas padrão da Stripe dos EUA).

Se você processa pagamentos em várias moedas, veja como as moedas são gerenciadas no Connect.
Emitir reembolsos
Além de criar cobranças em contas conectadas, as plataformas também podem criar reembolsos de cobranças em contas conectadas. Crie um reembolso usando a chave secreta da sua plataforma, estando autenticado com as credenciais da conta conectada.
As tarifas da plataforma não são reembolsadas automaticamente quando um reembolso é emitido. Sua plataforma deve reembolsar explicitamente a tarifa da plataforma, caso contrário a conta conectada (a conta na qual a cobrança foi criada) perde esse valor. Você pode reembolsar uma tarifa de plataforma passando um valor refund_
de verdadeiro na solicitação de reembolso:
Por padrão, toda a cobrança é reembolsada, mas você pode criar um reembolso parcial definindo um amount
como um número inteiro positivo. Se o reembolso for ao valor total da cobrança, toda a tarifa da plataforma será reembolsada. Caso contrário, um valor proporcional da tarifa da plataforma será reembolsado. Como opção, você pode informar um valor refund_
de falso e reembolsar a tarifa da plataforma separadamente.