Permitir que outras empresas aceitem pagamentos diretamente
Este guia abrange a permissão para seus usuários aceitarem pagamentos, transferir uma parte das receitas dos usuários para o seu saldo e repassar o restante para as contas bancárias dos usuários. Para ilustrar esses conceitos, usaremos um exemplo de plataforma que permite que as empresas criem suas próprias lojas online.
Pré-requisitos
- Registre sua plataforma.
- Adicione dados da empresa para ativar sua conta.
- Conclua seu perfil da plataforma.
- Customize your brand settings. Add a business name, icon, and brand color.
Configurar a StripeLado do servidor
Instale as bibliotecas oficiais da Stripe para acessar a API no seu aplicativo:
Criar uma conta conectada
Quando um usuário (vendedor ou provedor de serviços) se registra na sua plataforma, crie uma Conta de usuário (chamada de conta conectada) para que você possa aceitar pagamentos e mover fundos para a conta bancária dele. Contas conectadas representam seu usuário na API da Stripe e ajudam a facilitar a coleta de requisitos de onboarding para que a Stripe possa verificar a identidade do usuário. No nosso exemplo do criador de lojas, a conta conectada representa a empresa que está configurando a loja online.
Crie uma conta conectada e preencha os dados
Use a API /v1/accounts
para criar uma conta conectada. Você pode criar a conta conectada usando os parâmetros de conta conectada padrão ou especificando o tipo de conta.
Se você já coletou dados de suas contas conectadas, pode usá-los para preencher o objeto da conta. Você pode preencher quaisquer dados de conta, incluindo dados pessoais e comerciais, dados de contas externas e muito mais.
O Connect Onboarding não solicita os dados preenchidos. No entanto, ele solicita que o titular da conta confirme as informações pré-preenchidas antes de aceitar o Contrato de serviços do Connect.
Ao testar sua integração, preencha antecipadamente os dados da conta usando dados de teste.
Criar um link da conta
Você pode criar um link de conta chamando a API Account Links com os seguintes parâmetros:
account
refresh_url
return_url
type
=account_onboarding
Redirecione o usuário para o URL do link da conta
A resposta à solicitação da API Account Links inclui um valor para a chave url
. Redirecione para esse link para enviar o usuário ao fluxo. Esses links são temporários e podem ser usados somente uma vez, porque concedem acesso aos dados pessoais do usuário da conta conectada. Autentique o usuário no aplicativo antes de redirecioná-lo para o URL. Se quiser preencher as informações, faça-o antes de gerar o link da conta. Após criar o link da conta, não será possível ler ou gravar informações na conta.
Dica de segurança
Não envie URLs de links de conta por e-mail, SMS ou outra maneira para fora do aplicativo da sua plataforma. Em vez disso, forneça-os ao titular da conta autenticado dentro do seu aplicativo.
Gerenciar o usuário que volta à plataforma
O Connect Onboarding exige que você passe um return_url
e refresh_url
para gerenciar todos os casos em que o usuário é redirecionado à sua plataforma. É importante implementá-los corretamente para proporcionar a melhor experiência ao usuário.
Observação
Para return_url
e refresh_url
, você pode usar HTTP enquanto estiver em modo de teste (por exemplo, para testar com localhost), mas o modo de produção só aceita HTTPS. Não se esqueça de trocar os URLs de teste para HTTPS antes de entrar em modo de produção.
return_url
A Stripe emite um redirecionamento para este URL quando o usuário conclui o fluxo do Connect Onboarding. Isso não significa que todas as informações foram coletadas ou que não há requisitos pendentes na conta. Significa somente que a entrada e saída do fluxo foram normais.
Nenhum estado é passado por este URL. Após o redirecionamento de um usuário para o return_url
, verifique o estado do parâmetro details_submitted
na conta dele realizando uma das seguintes ações:
- Escutar webhooks
account.updated
- Chamar a API Accounts e inspecionar o objeto retornado
refresh_url
O usuário é redirecionado para refresh_url
nestes casos:
- O link expirou (alguns minutos se passaram desde a criação do link)
- O usuário já acessou o link (atualizou a página ou clicou em Voltar ou Avançar no navegador).
- Sua plataforma não consegue mais acessar a conta
- A conta foi recusada
O refresh_url
deve acionar um método no servidor para chamar novamente a API Account Links com os mesmos parâmetros e redirecionar o usuário ao fluxo do Connect Onboarding para criar uma experiência ideal.
Gerenciar usuários que não concluíram o onboarding
Um usuário que é redirecionado para o seu return_url
pode não ter concluído o processo de onboarding. Use o endpoint /v1/accounts
para recuperar a conta do usuário e verificar charges_enabled
. Se a conta não estiver totalmente integrada, forneça solicitações de IU para permitir que o usuário continue o onboarding mais tarde. O usuário pode concluir a ativação da conta por meio de um novo link de conta (gerado por sua integração). Verifique o estado do parâmetro details_submitted
na conta dele para ver se o processo de onboarding foi concluído.
Ativar formas de pagamento
Veja as configurações de formas de pagamento e ative as que pretende aceitar. Os pagamentos com cartão ficam ativados por padrão, mas você pode ativar e desativar as formas de pagamento conforme a necessidade. Este guia supõe que as formas de pagamento Bancontact, cartões de crédito, EPS, giropay, iDEAL, Przelewy24, débito automático SEPA e Sofort estão ativadas.
Antes da exibição das formas de pagamento, a Stripe avalia a moeda, as restrições e outros parâmetros dessas formas de pagamento para criar a lista das que são aceitas. Priorizamos as que aumentam a conversão e são mais relevantes para a moeda e a localização do cliente. As formas de pagamento de menor prioridade são ocultas em um menu de estouro.
Beta
The embedded payment method settings component allows connected accounts to configure the payment methods they offer at checkout without the need to access the Stripe Dashboard. Request access and learn how to integrate with Payment Method Configurations.
Aceitar um pagamento
Incorpore o Stripe Checkout como forma de pagamento para diretamente no seu site ou redirecione os usuários para uma página hospedada pela Stripe para aceitar pagamentos. O Checkout aceita várias formas de pagamento e automaticamente mostra as mais relevantes ao cliente. Você também pode usar o Payment Element, um componente de IU pré-criado e integrado como iframe ao seu formulário de pagamento, para aceitar várias formas de pagamento com uma só integração de front-end.
Testes
Crie contas e use OAuth para testar o fluxo de criação de contas. Teste as configurações das formas de pagamento das contas conectadas: entre em uma das contas de teste e acesse as configurações das formas de pagamento. Teste o fluxo de checkout com suas chaves de teste e uma conta de teste. É possível usar nossos cartões de teste para testar seu fluxo de pagamentos e simular vários resultados de pagamento.
Repasses
Por padrão, qualquer cobrança criada por você para uma conta conectada fica acumulada no saldo da Stripe da conta conectada e é repassada diariamente. As contas conectadas podem gerenciar seus próprios cronogramas de repasses no Stripe Dashboard.