Extensões herdadasObsoleto
O Stripe Apps substitui as extensões
Você não pode mais criar extensões da Stripe. O Stripe Apps substitui extensões para desenvolvimento na Stripe. No entanto, as extensões existentes continuarão funcionando até 2024. Se você já tiver uma extensão, recomendamos migrá-la para o Stripe Apps.
Observação
Agora você pode enviar automaticamente seus dados da Stripe e relatórios para Snowflake ou Amazon Redshift em alguns cliques com o Stripe Data Pipeline. Saiba mais.
Os produtos e recursos da Stripe permitem às empresas aceitar pagamentos online, mas também há outros motivos para fazer a integração. Empresas como a Baremetrics e Segment baseiam-se na Stripe para fornecer seus serviços a contas Stripe com um Dashboard padrão.
A criação de uma extensão na Stripe consiste em quatro etapas:
- Configure o OAuth e especifique um URI de redirecionamento.
- Ajuste as configurações de marca.
- Crie um link OAuth para os seus usuários.
- Use a API em nome de contas conectadas.
Você também precisa adicionar detalhes comerciais para ativar sua conta, se já não o tiver feito.
Para começar, acesse a página Extensões localizada na guia Desenvolvedores do Stripe Dashboard.
Configure o OAuth e especifique o URI de redirecionamento
Ajuste esta configuração na seção Integração da página Configurações de extensões.
Inicie sua integração acionando o botão para habilitar o onboarding de contas Standard.
A Stripe fornece um identificador único para sua extensão chamado client_id
. Defina o redirect_uri
, e os usuários serão direcionados para essa página após conectarem suas contas. É preciso especificar todos os URIs de redirecionamento nas configurações de extensão. As versões de desenvolvimento e produção desses dois valores facilitam a realização de testes. Anote esses valores para criar um link de OAuth na terceira etapa.
Ajuste as configurações de marca
Personalize a forma como sua empresa aparece para os usuários na seção Marca da página Configurações de extensões.
Os usuários veem seu logotipo quando vinculam as contas da Stripe ao seu aplicativo. Após a vinculação das contas, seu ícone é exibido na lista de aplicativos conectados.
Crie um link do OAuth para os usuários
A Stripe oferece um fluxo padrão de OAuth 2.0 para conexão com as contas Stripe. Usando os valores client_id
e redirect_uri
da etapa um, você pode criar um link de OAuth com o qual seus usuários podem fazer o onboarding. Recomendamos mostrar esse link com um botão Conectar com a Stripe que envia os usuários para o endpoint authorize_url
:
https://connect.stripe.com/oauth/authorize?response_type=code&client_id=ca_FkyHCg7X8mlvCUdMDao4mMxagUfhIwXb&scope=read_only
Aqui está um exemplo de como você pode exibir o link acima ao seu usuário, junto com o botão Conectar com a Stripe:
Conectar comDepois de clicar no link no seu site, o usuário é redirecionado a uma página para permitir ou recusar a conexão com sua extensão. O fluxo de autorização da Stripe o direciona para escolher uma conta existente para conectar com sua extensão ou criar outra.
Depois de conectar a conta existente ou recém-criada à sua extensão, o usuário é redirecionado de volta para o URL definido por você como o redirect_uri
da sua extensão.
No final do fluxo de trabalho do OAuth, você recebe credenciais de autorização para a conta do usuário:
{ ... "stripe_user_id": "acct_0123456789", ... }
É necessário armazenar o stripe_user_id
para que seja possível identificar as contas do usuário.
Use a API em nome de contas conectadas
Após os usuários vincularem contas Stripe ao seu aplicativo, é possível fazer solicitações de API em nome deles. Para realizar solicitações de API, você precisa da chave secreta da conta da sua extensão e de um cabeçalho Stripe-Account
que identifique a conta para a qual você está fazendo a solicitação. Todas as bibliotecas da Stripe aceitam esse estilo de autenticação mediante solicitação.
Obter dados armazenados
Os dados armazenados incluem informações como dados de cobrança e do cliente. Com acesso read_only
, você pode fazer a maioria das solicitações GET
com a API da Stripe. É possível recuperar um único objeto (por exemplo, recuperar um Payment Intent) ou uma lista de objetos (por exemplo, listar todos os Payment Intents).
Embora a API atue em alto nível, a obtenção de grandes conjuntos de dados de forma repetida causa lentidão na resposta do aplicativo. Recomendamos armazenar os dados obtidos por você para análise e emissão de relatórios.
Escutar dados em tempo real
Além de armazenar dados, você pode acessar dados em tempo real por meio de webhooks. Após ter definido um endpoint de webhook de extensão na sua conta, a Stripe envia notificações de evento ao seu endpoint para cada conta conectada. A propriedade account
do objeto do evento identifica a conta na qual o evento ocorreu.
Por exemplo, o evento abaixo mostra que um cliente foi criado na conta acct_0123456789
. Recomendamos sempre que você armazene esses dados para análise e emissão de relatórios. Ao observar eventos à medida que ocorrem, seu aplicativo pode responder mais rapidamente e você não precisará fazer tantas chamadas de API.
{ "id": "evt_UybeSrj5tr75y8", "livemode": true, "object": "event", "type": "customer.created", "account": "acct_0123456789", "pending_webhooks": 2, "created": 1349654313, "data": {...} }
Cobrar pelo seu aplicativo
A conta da Stripe da sua extensão pode processar as próprias cobranças, de modo que você possa cobrar por seu aplicativo com acesso read_only
. Quando os clientes conectarem as contas da Stripe, peça os dados de pagamento e crie uma assinatura para eles em sua conta da Stripe. Armazene o ID do cliente criado com o ID da conta da Stripe associada, para acompanhar quais usuários são pagos e ativos e quais não são.
Se você criar assinaturas, também é possível especificar um application_fee_percent
como tarifa para o seu aplicativo. Essa cobrança é feita além de qualquer tarifa da Stripe. Leia a documentação das Assinaturas para obter mais informações.
Contas desconectadas
Os usuários podem desconectar as contas de sua integração a qualquer momento. Quando isso ocorrer, a Stripe envia um webhook account.application.deauthorized
. Você pode usar essa notificação para acionar a remoção, como desativar a conta do usuário em seu site ou remover dados.
Você também pode desconectar contas de sua integração fazendo um pedido ao endpoint de desautorização da OAuth.