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.

Integre a IU de pagamento incorporada da Stripe no checkout do seu aplicativo Android com a classe PaymentSheet.
Configurar a StripeLado do servidorLado do cliente
Primeiro, você precisa de uma conta Stripe. Cadastre-se agora.
Lado do servidor
Esta integração exige que os endpoints do seu servidor se comuniquem com a API da Stripe. Use as bibliotecas oficiais para acessar a API da Stripe pelo seu servidor:
Lado do cliente
O SDK da Stripe para Android é de código aberto e totalmente documentado.
Para instalar o SDK, adicione stripe-android
ao bloco dependencies
do arquivo app/build.gradle:
Observação
Veja mais informações sobre o último lançamento de SDK e as versões anteriores na página Lançamentos no GitHub. Para receber notificações quando um novo lançamento for publicado, assista aos lançamentos do repositório.
Configure o SDK com sua chave publicável da Stripe, de modo que seja possível fazer solicitações à API Stripe, como em sua subcategoria Application
:
Observação
Use suas chaves de teste enquanto testa e desenvolve, e suas chaves de modo de produção quando publicar seu aplicativo.
Adicionar um endpointLado do servidor
Nota
Para exibir o PaymentSheet antes de criar um PaymentIntent, consulte Colete os dados de pagamento antes de criar um Intent.
Esta integração usa três objetos da API da Stripe:
PaymentIntent: A Stripe usa isso 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.
(Opcional) Customer: Para configurar uma forma de pagamento para pagamentos futuros, vincule-a a um Customer. Crie um objeto Customer quando o cliente abrir uma conta na sua empresa. Se o cliente pagar como convidado, você pode criar o objeto Customer antes do pagamento e associá-lo à sua representação interna da conta do cliente, mais tarde.
(Opcional) Chave Efêmera de Cliente: as informações sobre o objeto Customer são confidenciais e não podem ser obtidas diretamente por um apliativo. Uma Chave Efêmera concede acesso temporário ao Cliente para o SDK.
Observação
Se você nunca salva cartões para um cliente e não permite que clientes retornando reutilizem cartões salvos, é possível omitir os objetos cliente e Ephemeral Key da sua integração.
Por motivos de segurança, seu aplicativo não pode criar esses objetos. Em vez disso, adicione um endpoint ao seu servidor que:
- Recuperar ou criar um Customer.
- Criar uma chave efêmera para o Customer.
- Cria um PaymentIntent com o valor, a moeda e o cliente. Também é possível incluir opcionalmente o parâmetro
automatic_
. A Stripe habilita sua funcionalidade por padrão na versão mais recente da API.payment_ methods - Retorna o segredo do cliente do Payment Intent, o
secret
da chave efêmera, o id do cliente e sua chave publicável ao aplicativo.
As formas de pagamento mostradas aos clientes durante o processo de checkout também são incluídas no PaymentIntent. Você pode permitir que a Stripe obtenha as formas de pagamento das configurações do Dashboard ou listá-las manualmente. Independentemente da opção escolhida, saiba que a moeda passada no PaymentIntent filtra as formas de pagamento mostradas para o cliente. Por exemplo, se você passar EUR no eur
e a OXXO estiver ativada no Dashboard, a OXXO não será exibida ao cliente porque a OXXO não aceita pagamentos em eur
.
Se sua integração não exige uma opção baseada em código para oferecer formas de pagamento, a Stripe recomenda a opção automática. Isso ocorre porque a Stripe avalia a moeda, as restrições de forma de pagamento e outros parâmetros para determinar a lista de formas de pagamento aceitas. Priorizamos as formas de formas de pagamento que aumentam a conversão e que são mais relevantes para a moeda e a localização do cliente.
Integrar a descrição da compraLado do cliente
Antes de exibir o Element Pagamento para dispositivos móveis, a página de checkout deve:
- Mostrar os produtos sendo comprados e o valor total
- Colete todas as informações de envio necessárias usando o Address Element
- Incluir um botão de checkout para apresentar a IU da Stripe
Configurar allowsDelayedPaymentMethods
como verdadeiro permite formas de pagamento de notificação assíncrona como contas bancárias dos EUA. Para essas formas de pagamento, o status final do pagamento não é conhecido quando o PaymentSheet
é concluído, sendo efetivado ou não posteriormente. Se você aceitar esses tipos de formas de pagamento, informe o cliente que seu pedido está confirmado e somente processe o pedido (por exemplo, fazendo o envio do produto) quando o pagamento for bem-sucedido.
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.
OpcionalAtivar Google Pay
Configurar a integração
Para usar o Google Pay, habilite a API Google Pay adicionando o seguinte à <application>
tag do seu AndroidManifest.xml:
<application> ... <meta-data android:name="com.google.android.gms.wallet.api.enabled" android:value="true" /> </application>
Veja mais detalhes na Configuração da API Google Pay do Google Pay para Android.
Adicionar Google Pay
Para adicionar o Google Pay à sua integração, passe uma PaymentSheet.GooglePayConfiguration com seu ambiente do Google Pay (produção ou teste) e o código do país da sua empresa quando inicializar PaymentSheet.Configuration.
Testar Google Pay
O Google permite que você faça pagamentos de teste por meio do Test Card Suite. O conjunto de testes aceita o uso de cartões de teste da Stripe.
Você pode testar o Google Pay usando um dispositivo Android físico. Verifique se você tem um dispositivo em um país onde o Google Pay é aceito e faça login em uma conta do Google no dispositivo de teste com um cartão real salvo na Google Wallet.
OpcionalPersonalizar a descrição
Toda personalização é configurada usando o objeto PaymentSheet.Configuration.
Aparência
Personalize cores, fontes e outros atributos de acordo com a aparência do aplicativo usando a API Appearance.
Layout da forma de pagamento
Configure o layout das formas de pagamento na planilha usando paymentMethodLayout. Você pode exibi-los horizontalmente, verticalmente ou deixar a Stripe otimizar o layout automaticamente.

Coletar endereços de usuários
Colete endereços de entrega ou cobrança locais e internacionais de seus clientes usando o Address Element.
Nome de exibição da empresa
Especifique o nome da empresa exibido para o cliente definindo merchantDisplayName. Por padrão, esse é o nome do seu aplicativo.
Modo escuro
Por padrão, o PaymentSheet
se adapta automaticamente às configurações de aparência do sistema do usuário (modo claro e escuro). É possível alterar isso configurando modo claro ou escuro no seu aplicativo:
Dados de faturamento padrão
Para definir valores padrão para dados de faturamento coletados na descrição da compra, configure a propriedade defaultBillingDetails
. A PaymentSheet
preenche previamente seus campos com os valores que você informou.
Configurar coleta de dados de cobrança
Usar BillingDetailsCollectionConfiguration
para especificar como você deseja coletar dados de cobrança no PaymentSheet.
Você pode coletar o nome, e-mail, número de telefone e endereço do cliente.
Se quiser anexar detalhes de cobrança padrão ao objeto PaymentMethod mesmo quando esses campos não forem coletados na IU, defina billingDetailsCollectionConfiguration.
como true
.
Observação
Consulte seu jurídico sobre as leis que se aplicam à coleta de dados. Só colete números de telefone se precisar deles para a transação.
OpcionalConclua o pagamento em sua IU
Você pode exibir a Payment Sheet apenas para coletar dados da forma de pagamento e concluir o pagamento na IU do aplicativo. Isso é útil quando você tem um botão de compra personalizado ou precisa de mais etapas após a coleta dos dados do pagamento.

Observação
Um exemplo de integração está disponível no nosso GitHub.
- Primeiro, inicialize PaymentSheet.FlowController em vez de
PaymentSheet
usando um dos métodos do Builder.
- Em seguida, chame
configureWithPaymentIntent
com as chaves do objeto Stripe recuperadas do backend e atualize a IU no callback usando getPaymentOption(). Isso contém uma imagem e um rótulo que representam a forma de pagamento selecionada atualmente pelo cliente.
- Em seguida, chame presentPaymentOptions para coletar os detalhes do pagamento. Quando o cliente termina, a descrição da compra é descartada e chama o paymentOptionCallback passado anteriormente em
create
. Implemente essa forma para atualizar a IU com opaymentOption
retornado.
- Por fim, chame confirm para finalizar o pagamento. Quando o cliente termina, a descrição da compra é descartada e chama o paymentResultCallback passado anteriormente em
create
.
Configurar allowsDelayedPaymentMethods
como verdadeiro permite formas de pagamento de notificação assíncrona como contas bancárias dos EUA. Para essas formas de pagamento, o status final do pagamento não é conhecido quando o PaymentSheet
é concluído, sendo efetivado ou não posteriormente. Se você aceitar esses tipos de formas de pagamento, informe o cliente que seu pedido está confirmado e somente processe o pedido (por exemplo, fazendo o envio do produto) quando o pagamento for bem-sucedido.
OpcionalHabilitar formas de pagamento adicionais
Navegue para Gerenciar formas de pagamento para suas contas conectadas no Dashboard para configurar quais formas de pagamento suas contas conectadas aceitam. As alterações nas configurações padrão se aplicam a todas as contas conectadas novas e existentes.
Consulte os seguintes recursos para obter informações sobre formas de pagamento:
- Um guia de formas de pagamento para ajudar você a escolher as formas de pagamento corretas para sua plataforma.
- Funções da conta para assegurar que as formas de pagamento escolhidas funcionem para suas contas conectadas.
- Tabelas de suporte a formas de pagamento e produtos para assegurar que suas formas de pagamento escolhidas funcionem para seus produtos da Stripe e fluxos de pagamento.
Para cada forma de pagamento, você pode selecionar uma das seguintes opções no menu suspenso:
Ativadas por padrão | Suas contas conectadas aceitam esta forma de pagamento durante o checkout. Algumas formas de pagamento podem ser desativadas ou bloqueadas. Isso ocorre porque suas contas conectadas com acesso ao Stripe Dashboard precisam ativá-las em sua página de configurações. |
Desativadas por padrão | Suas contas conectadas não aceitam esta forma de pagamento durante o checkout. Se você permitir que contas conectadas com acessem o Stripe Dashboard para gerenciar suas próprias formas de pagamento, elas podem ativar esse recurso. |
Bloqueadas | Suas contas conectadas não aceitam esta forma de pagamento durante o checkout. Se você permitir que contas conectadas com acessem o Stripe Dashboard para gerenciar suas próprias formas de pagamento, elas não têm a opção para ativar esse recurso. |

Opções de formas de pagamento
Se fizer uma alteração em uma forma de pagamento, você deve clicar em Revisar alterações na barra inferior da tela e em Salvar e aplicar para atualizar suas contas conectadas.

Salvar diálogo
Permitir que contas conectadas gerenciem formas de pagamento
A Stripe recomenda permitir que as contas conectadas personalizem suas próprias formas de pagamento. Esta opção permite que cada conta conectada com acesso ao Stripe Dashboard para ver e atualizar sua página de formas de pagamento. Somente os proprietários das contas conectadas podem personalizar as formas de pagamento. O Stripe Dashboard exibe o conjunto de padrões de forma de pagamento que você aplicou a todas as contas conectadas novas e existentes. Suas contas conectadas podem sobrepor esses padrões, excluindo as formas de pagamento que você bloqueou.
Marque a caixa de seleção Personalização da conta para habilitar essa opção. Você deve clicar em Revisar alterações na barra inferior da tela e selecionar Salvar e aplicar para atualizar essa configuração.

Caixa de seleção de personalização da conta
Funções das formas de pagamento
Para permitir que suas contas conectadas aceitem outras formas de pagamento, é preciso verificar se as contas conectadas têm funções ativas para cada forma de pagamento. A maioria das formas de pagamento tem os mesmos requisitos de verificação da função card_
, com algumas restrições e exceções. A tabela de funções das formas de pagamento lista as formas de pagamento que exigem verificação adicional para cartões.
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 inferior ao o valor da cobrança. A tarifa da plataforma recolhida é 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.
Componentes integrados do Connect
Componentes integrados do Connect suportam direct charges. Ao usar o componente integrado de pagamentos, você pode permitir que suas contas conectadas visualizem informações de pagamento, capturem cobranças e gerenciem contestações pelo seu site.
Os seguintes componentes exibem informações sobre Direct Charges:
Componente de pagamentos: Exibe todos os pagamentos e contestações de uma conta.
Detalhes dos pagamentos: Exibe informações de um pagamento específico.
Componente de lista de contestações: Exibe todas as contestações de uma conta.
Disputas para um componente de pagamento: Exibe as contestações para um único pagamento especificado. Você pode usá-lo para incluir a função de gerenciamento de contestação em uma página com sua IU de pagamentos.