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
    Produtos e preços
    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
Build with LLMs
Use a Stripe sem programação
Configurar a Stripe
Crie uma conta
Dashboard da web
Dashboard móvel
Migrar para a Stripe
Gerenciar risco de fraudes
Entenda as fraudes
Proteção contra fraudes do Radar
Gerenciar contestações
Verificar identidades
Página inicialComece jáAbout the APIsOlder APIsCharges

Aceitar um pagamento usando Stripe Elements e a API ChargesAPI Charges

Receba pagamentos online de clientes dos EUA e do Canadá.

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

Use nossos componentes de IU pré-configurados para criar um formulário de pagamentos que permita coletar com segurança os dados do cartão do cliente, sem manipular dados confidenciais. Os dados do cartão serão convertidos em um token que você pode enviar com segurança para seus servidores. O servidor usa esse token para criar uma cobrança.

Observação

As etapas deste guia estão totalmente implementadas no GitHub. Faça um clone do repositório e siga as instruções para executar o aplicativo de demonstração.

Configurar a Stripe
Lado do cliente
Lado do servidor

No servidor

Esta integração exige que os endpoints do seu servidor se comuniquem com a API da Stripe. Use nossas bibliotecas oficiais para acessar a API da Stripe a partir do seu servidor:

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

Cliente

O SDK da Stripe para Android é de código aberto e totalmente documentado.

To install the SDK, add stripe-android to the dependencies block of your app/build.gradle file:

build.gradle.kts
Kotlin
plugins { id("com.android.application") } android { ... } dependencies { // ... // Stripe Android SDK implementation("com.stripe:stripe-android:21.13.0") // Include the financial connections SDK to support US bank account as a payment method implementation("com.stripe:financial-connections:21.13.0") }

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:

Kotlin
import com.stripe.android.PaymentConfiguration class MyApp : Application() { override fun onCreate() { super.onCreate() PaymentConfiguration.init( applicationContext,
"pk_test_TYooMQauvdEDq54NiTphI7jx"
) } }

Observação

Use your test keys while you test and develop, and your live mode keys when you publish your app.

Criar seu formulário de pagamento
Lado do cliente

Colete dados de cartão com segurança no cliente usando o CardInputWidget, um componente de IU inserível fornecido pelo SDK que coleta número do cartão, data de validade, CVC e código postal

O CardInputWidget executa validação e formatação imediatas.

Crie uma instância do componente de cartão e um botão Pagar, acrescentando o seguinte ao layout de sua página de checkout:

content_checkout.xml
Visualizar exemplo completo
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:showIn="@layout/activity_checkout" tools:context=".CheckoutActivity"> <!-- ... --> <com.stripe.android.view.CardInputWidget android:id="@+id/cardInputWidget" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginRight="20dp"/> <Button android:text="Pay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/payButton" android:layout_marginTop="20dp" app:layout_constraintTop_toBottomOf="@+id/cardInputWidget" app:layout_constraintStart_toStartOf="@+id/cardInputWidget" app:layout_constraintEnd_toEndOf="@+id/cardInputWidget"/> <!-- ... --> </androidx.constraintlayout.widget.ConstraintLayout>

Execute seu aplicativo e verifique se sua página de checkout mostra o componente de cartão e o botão de pagamento.

Criar um token
Lado do cliente

Quando o usuário toca no botão de pagamento, converta os dados do cartão coletados pelo CardInputWidget em um token da Stripe. A “tokenização” garante que nenhum dado confidencial do cartão chegue ao seu servidor, mantendo sua integração compatível com PCI.

O código a seguir mostra como usar Stripe#createToken(). O método usa uma instância de Card como primeiro parâmetro. O segundo parâmetro é uma instância de ApiResultCallback<Token> que o cliente invoca quando o pedido funciona ou falha. Quando a tokenização é concluída corretamente, envie o ID do token devolvido para seu servidor.

CheckoutActivityKotlin.kt
Kotlin
Visualizar exemplo completo
// Hook up the pay button to the card widget and Stripe instance val payButton: Button = findViewById(R.id.payButton) val weakActivity = WeakReference<Activity>(this@CheckoutActivityKotlin) payButton.setOnClickListener { // Get the card details from the card widget val cardInputWidget = findViewById<CardInputWidget>(R.id.cardInputWidget) cardInputWidget.card?.let { card -> // Create a Stripe token from the card details stripe = Stripe(applicationContext, PaymentConfiguration.getInstance(applicationContext).publishableKey) stripe.createToken(card, object: ApiResultCallback<Token> { override fun onSuccess(result: Token) { val tokenID = result.id // Send the Token identifier to the server... } override fun onError(e: java.lang.Exception) { // Handle error } }) } }

Envie o ID do token para o seu servidor a partir do cliente.

Criar uma cobrança com o token
Lado do servidor

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"

A resposta à criação da cobrança será uma cobrança ou um erro com um código de erro. Se a resposta for bem-sucedida, você pode executar o pedido do cliente e mostrar uma página de finalização. Se não, mostre uma página de erro.

Testar sua integração

Se você conseguir inserir corretamente um cartão de teste no elemento do cartão, enviar ao servidor e o servidor criar a cobrança, a integração estará finalizada.

Você criou uma integração com a API Charges para começar a receber pagamentos por cartão imediatamente. Essa API não permite ampliar os negócios para fora dos EUA e do Canadá, mas também oferecemos opções de pagamentos mais robustas e globais com a API Payment Intents.

Veja também

  • Aceitar Google Pay
  • Salvar cartões com a API Charges
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