Pular para o conteúdo
Criar conta
ou
Entrar
O logotipo da documentação da Stripe
/
Pergunte à IA
Criar conta
Login
Comece já
Pagamentos
Automação de finanças
Plataformas e marketplaces
Gestão de valores
Ferramentas para desenvolvedores
Comece já
Pagamentos
Automação de finanças
Comece já
Pagamentos
Automação de finanças
Plataformas e marketplaces
Gestão de valores
Visão geralExplore todos os produtos
Comece a criar
Comece a desenvolver
Projetos de exemplo
Sobre as APIs
    Explore as APIs
    API Payment Intents
    API Setup Intents
    Formas de pagamento
    APIs mais antigas
      Cobranças
        Migrar para as novas APIs
        Aceitar um pagamento por cartão
        Salvar um cartão
        Fazer uma reserva cartão
        Charges com Connect
      Fontes
    Fases da versão
Desenvolver com LLMs
Use a Stripe sem programação
Configurar a Stripe
Crie uma conta
Produtos e preços
Dashboard da web
Dashboard móvel
Migrar para a Stripe
Migrar dados do cliente
Migrar dados de pagamentos
Migrar assinaturas
Gerenciar risco de fraudes
Entenda as fraudes
Proteção contra fraudes do Radar
Gerenciar contestações
Verificar identidades
Suporte regulatório
Página inicialComece jáAbout the APIsOlder APIs

Pagamentos com cartão na API ChargesAntigo

Aprenda a cobrar, salvar e autenticar cartões com as APIs herdadas da Stripe.

Copiar página

API herdada

The content of this section refers to a Legacy feature. Use the Payment Intents API instead.

A API Charges não aceita os seguintes recursos, muitos deles obrigatórios para a conformidade com cartões de crédito:

  • Comerciantes na Índia
  • Bank requests for card authentication
  • Strong Customer Authentication

As APIs Charges e Tokens são APIs legadas usadas em integrações antigas da Stripe para aceitar pagamentos com cartão de débito e crédito. Nas novas integrações, use PaymentIntents.

A API Charges limita o aproveitamento de recursos da Stripe. Para usar os recursos mais avançados da Stripe, use o Stripe Checkout ou migre para a API Payment Intents.

Fluxo de pagamentos

Na maioria dos casos, a API PaymentIntents oferece mais flexibilidade e opções de integração.

API ChargesAPI Payment Intents
  1. Colete os dados de pagamento do cliente no navegador com o Elements.
  2. Crie tokens com dados de pagamento com Stripe.js.
  3. Faça uma solicitação para enviar o token ao seu servidor.
  4. Use o token para criar uma cobrança no seu servidor com o valor e moeda desejados.
  5. Execute o pedido do cliente se o pagamento for finalizado.
  1. Crie um PaymentIntent no seu servidor com o valor e moeda desejados.
  2. Envie o segredo do cliente do PaymentIntent para o lado do cliente.
  3. Colete os dados de pagamento do cliente no navegador com o Elements.
  4. Use Stripe.js ou o SDK para celular para gerenciar 3D Secure e finalizar o pagamento no cliente.
  5. Use webhooks para executar o pedido do cliente se o pagamento for finalizado.

Reembolsos

To refund a payment through the API, create a Refund and provide the ID of the charge to be refunded.

Command Line
cURL
curl https://api.stripe.com/v1/refunds \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d charge={{CHARGE_ID}}

Para reembolsar parte de um pagamento, forneça um parâmetro amount em forma de inteiro em centavos (ou o menor valor possível na moeda da cobrança).

Command Line
cURL
curl https://api.stripe.com/v1/refunds \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d charge={{CHARGE_ID}} \ -d amount=1000

Apple Pay

Quando o cliente aprova o pagamento, seu aplicativo recebe uma instância PKPayment com os dados do cartão criptografados, implementando os métodos de PKPaymentAuthorizationViewControllerDelegate.

  1. Use o método do SDK createTokenWithPayment para transformar o PKPayment em um Token da Stripe
  2. Use esse Token para criar uma cobrança.
CheckoutViewController.swift
Swift
extension CheckoutViewController: PKPaymentAuthorizationViewControllerDelegate { func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, handler: @escaping (PKPaymentAuthorizationResult) -> Void) { // Convert the PKPayment into a Token STPAPIClient.shared.createToken(withPayment: payment) { token, error in guard let token = token else { // Handle the error return } let tokenID = token.tokenId // Send the token identifier to your server to create a Charge... // If the server responds successfully, set self.paymentSucceeded to YES } } func paymentAuthorizationViewControllerDidFinish(_ controller: PKPaymentAuthorizationViewController) {

Descrição dinâmica no extrato

Por padrão, a descrição no extrato da sua conta Stripe aparece nos extratos do cliente sempre que você cobra o cartão. Também é possível configurar a descrição do extrato dinamicamente, em todas as solicitações de cobrança, com o argumento statement_descriptor no objeto Charge.

Command Line
curl
curl https://api.stripe.com/v1/charges \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=999 \ -d "currency"="usd" \ -d "description"="Example charge" \ -d "source"="tok_visa" \ -d "statement_descriptor"="Custom descriptor"

As descrições de extratos são limitadas a 22 caracteres, não podem usar os caracteres especiais <, >, ', " ou * e não devem consistir exclusivamente em números.

Para definir a descrição do extrato dinamicamente em cobranças em cartões de crédito e débito, a parte dinâmica é anexada ao descritor do comerciante da liquidação (separado por um * e um espaço em branco). Por exemplo, uma descrição no extrato de uma empresa chamada FreeCookies pode incluir o tipo de cookie comprado: FREECOOKIES* MORANGO.

O * e o espaço em branco são contabilizados nos 22 caracteres, e a Stripe automaticamente aloca 10 caracteres para a descrição dinâmica do extrato. Isso significa que a descrição do comerciante da liquidação pode ser truncada se tiver mais de 10 caracteres (considerando que a descrição dinâmica também tenha mais de 10 caracteres). Se a descrição dinâmica para o extrato também tiver mais de 10 caracteres, as duas serão cortadas para ficar só com 10.

Se tiver dificuldades com os limites de caracteres, crie uma descrição encurtada no Stripe Dashboard para reduzir a descrição do comerciante da liquidação. Com isso, sobra mais espaço para a descrição dinâmica. A descrição encurtada:

  • Substitui a descrição do extrato do comerciante da liquidação ao usar descrições dinâmicas.
  • Pode ter de 2 a 10 caracteres.

Observação

Se a descrição do extrato da sua conta tiver mais de 10 caracteres, defina uma descrição curta no Dashboard ou use statement_descriptor_prefix. Isso evita que a descrição do seu extrato fique truncada de forma imprevisível.

Se não souber como as descrições ficam quando são combinadas, consulte o Stripe Dashboard.

Armazenar informações em metadados

Usar Payment Intents

Para usar a API Payment Intents, acesse e atualize somente os campos metadata e description do objeto Payment Intent. Se estiver usando os objetos Payment Intent e também Charge, os valores desses campos nem sempre serão iguais.

A Stripe aceita metadados nas solicitações mais comuns, como processamento de cobranças. Os metadados não aparecem para o cliente nem são usados como referência para a recusa ou bloqueio de uma cobrança no nosso sistema de prevenção de fraudes.

Com metadados, é possível associar outras informações importantes para você às atividades da Stripe. Todos os metadados ficarão visíveis no Dashboard (por exemplo: ao analisar a página de uma cobrança específica) e também ficarão disponíveis nos relatórios e exportações comuns. Por exemplo, o ID do pedido da sua loja pode ser anexado à cobrança usada para pagar esse pedido. Dessa forma, você, seu contador ou equipe de finanças poderá reconciliar facilmente as cobranças da Stripe com os pedidos no seu sistema.

Se estiver usando o Radar, considere a possibilidade de enviar outros dados do cliente e do pedido como metadados. Assim, você pode gravar regras do Radar com atributos de metadados e ter mais informações sobre o pagamento disponível no Dashboard para agilizar seu processo de revisão.

Command Line
curl
curl https://api.stripe.com/v1/charges \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=999 \ -d "currency"="usd" \ -d "description"="Example charge" \ -d "source"="tok_visa" \ -d "metadata[order_id]"=6735

Cuidado

Não armazene dados sensíveis (informações que identifiquem uma pessoa, dados de cartão e assim por diante) como metadados ou no parâmetro description da cobrança.

Recusas

Para que a integração responda automaticamente a falhas de pagamento, você pode acessar o outcome de uma cobrança de duas formas.

  • Processe o erro de API retornado quando um pagamento falha. Para pagamentos bloqueados e recusados pelo emissor do cartão, o erro inclui o ID da cobrança, que pode ser usado para acessá-la.
  • Use webhooks para monitorar as atualizações de status. Por exemplo, o evento charge.failed é acionado quando um pagamento falha.
Esta página foi útil?
SimNão
Precisa de ajuda? Fale com o suporte.
Participe do nosso programa de acesso antecipado.
Confira nosso changelog.
Dúvidas? Fale com a equipe de vendas.
LLM? Read llms.txt.
Powered by Markdoc