A API SourcesObsoleto
Conheça as diferentes formas de pagamento e mecanismos disponíveis na API Sources.
Aviso
We deprecated the Sources API and plan to remove support for local payment methods. If you currently handle any local payment methods using the Sources API, you must migrate them to the Payment Methods API.
While we don’t plan to remove support for card payments, we recommend replacing any use of the Sources API with the PaymentMethods API, which provides access to our latest features and payment method types.
Os objetos Source (fonte) permitem aceitar diversas formas de pagamento com uma única API. Uma fonte representa o instrumento de pagamento de um cliente e pode ser usada com a API da Stripe para criar pagamentos. Fontes podem ser cobradas diretamente ou vinculadas a clientes para uso posterior.
Cada forma de pagamento aceita pela API Sources é definida por quatro características importantes. A combinação dessas características determina como tornar uma fonte cobrável e como é utilizada em uma solicitação de cobrança para concluir um pagamento.
- Pull ou push: como os fundos para a forma de pagamento são transferidos do seu cliente
- Fluxo: o tipo de ação que o seu cliente deve realizar para autenticar o pagamento
- Uso: a
Source
é reutilizável ou não? - Síncrono ou assíncrono: a cobrança resultante pode ser confirmada de forma imediata ou somente após um atraso?
Para um exemplo completo ilustrando como aceitar qualquer forma de pagamento usando a API Sources, confira esta loja de e-commerce de amostra e procure o código-fonte no GitHub.
Formas de pagamento aceitas
Você pode habilitar qualquer forma de pagamento disponível dentro do Dashboard. A ativação normalmente é instantânea e não exige contratos adicionais nem inclui um processo demorado. Veja uma lista detalhada de formas de pagamento disponíveis e suas regiões geográficas aceitas.
A tabela a seguir conecta as características essenciais mencionadas anteriormente às formas de pagamento aceitas:
Transferência | Confirmação | Nenhuma | Redirecionar | Verificação de código | Favorecido |
---|---|---|---|---|---|
Pull | Síncrono | Cartões | — | — | — |
Assíncrono | Débito automático SEPA (desativado) | Débitos ACH com autenticação | Débitos ACH com microdepósitos | — | |
Push | Síncrono |
| — | — | Multibanco (desativado) |
Assíncrono | — | Sofort com Sources (obsoleto) | — | — |
Pull ou push de fundos
Cada forma de pagamento é categorizada como pull ou push, dependendo de como os fundos são transferidos da forma de pagamento do cliente.
- Utilizando um método forma pull, você debita os fundos da conta do cliente após o cliente ter dado consentimento. Pagamentos com cartão são um exemplo de um método pull: o cartão do seu cliente é debitado quando um pagamento é feito e nenhuma interação com o cliente é necessária para débitos subsequentes.
- Nos métodos por push, o cliente envia os fundos para você. Transferências de crédito ACH são um exemplo de um método por push: seu cliente recebe números de conta e routing bancários aos quais deve enviar (push) o valor correto. Após a confirmação de que seu cliente enviou os fundos para você, a fonte passa a ser cobrável, e fica pronta para ser usada em uma solicitação de cobrança. Outros métodos de pagamento por push, como iDEAL ou Sofort, dependem de um redirecionamento para que o cliente envie o dinheiro a você diretamente de sua conta bancária online. Normalmente, métodos por push exigem uma interação do cliente em cada pagamento.
Fluxo para ação do cliente
Determinadas formas de pagamento exigem que seu cliente realize uma ação específica (fluxo) para que seja possível cobrar a fonte. O tipo de fluxo que se aplica a uma forma de pagamento é declarado dentro do parâmetro flow
do objeto Source
. Cada método é categorizado em um dos seguintes tipos de fluxo.
Assim que o fluxo necessário tiver sido concluído e uma fonte se tornar cobrável, a fonte deve ser usada para fazer uma solicitação de cobrança para que o pagamento seja concluído. Caso contrário, a fonte é cancelada e o pagamento autenticado do cliente é reembolsado automaticamente — nenhum valor é movido para sua conta.
Uso único ou reutilizável
Determinadas formas de pagamento permitem a criação de fontes que podem ser reutilizadas para pagamentos adicionais sem que seu cliente passe novamente pelo processo de pagamento. Fontes que podem ser reutilizadas têm o parâmetro usage
definido como reusable
.
Por outro lado, se uma fonte só puder ser usada uma vez, esse parâmetro é definido como single_
e é preciso criar uma fonte cada vez que o cliente fizer um pagamento. Essas fontes não devem ser vinculadas aos clientes, e sim cobradas diretamente. Elas só podem ser cobradas uma vez e seu status mudará para consumed
quando forem cobradas.
Fontes reutilizáveis devem ser vinculadas a um Cliente para serem reutilizáveis. (Se forem cobradas diretamente, o status mudará para consumed
.) Para saber mais sobre como vincular Sources a Customers e para gerenciar uma lista de fontes de um Customer, consulte o guia Sources e Customers.
Confirmação síncrona e assíncrona
Assim que você usar uma forma de pagamento para criar um objeto Charge, o status dessa cobrança pode ser confirmado imediatamente (de forma síncrona) ou após um determinado período (de forma assíncrona).
Com uma forma de pagamento síncrona, o status da solicitação da cobrança pode ser imediatamente confirmado como
succeeded
oufailed
. Se a solicitação de cobrança for bem-sucedida, o pagamento é concluído — é considerado garantido que o cliente tenha sido cobrado e que você receberá os fundos. Pagamentos com cartão são um exemplo de uma forma de pagamento síncrona: há confirmação em tempo real do sucesso ou falha do pagamento.Para formas de pagamento assíncronas, pode demorar vários dias para confirmar se o pagamento foi bem-sucedido. Durante esse período, o pagamento não pode ser garantido. O status do objeto
Charge
do pagamento é inicialmente definido comopending
, até que o pagamento tenha sido confirmado como bem-sucedido ou malsucedido. Débitos ACH são um exemplo de um método assíncrono: com esses débitos, demora alguns dias para confirmar que o pagamento foi bem-sucedido.
A Stripe envia um evento de webhook assim que o status de uma cobrança é alterado. Ao aceitar qualquer forma de pagamento que seja assíncrona, sua integração precisa poder receber webhooks para poder receber essa notificação e confirmar se o pagamento do cliente foi funcionou ou falhou.