Ir a contenido
Crea una cuenta
o
inicia sesión
Logotipo de la documentación de Stripe
/
Pregúntale a la IA
Crear cuenta
Iniciar sesión
Empezar
Pagos
Automatización de finanzas
Plataformas y marketplaces
Gestión del dinero
Herramientas para desarrolladores
Empezar
Pagos
Automatización de finanzas
Empezar
Pagos
Automatización de finanzas
Plataformas y marketplaces
Gestión del dinero
ResumenExplora todos los productos
Start building
Empezar a desarrollar
Proyectos de muestra
Acerca de las API
    Visita a la API
    API Payment Intents
    API Setup Intents
    Métodos de pago
    Productos y precios
    API anteriores
      Cargos
        Migrar a las nuevas API
        Aceptar una tarjeta de pago
        Guardar una tarjeta
        Bloquear un importe en una tarjeta
        Charges con Connect
      Fuentes
    Fases de lanzamiento
Build with LLMs
Utiliza Stripe sin necesidad de programación
Configura Stripe
Crea una cuenta
Dashboard web
Dashboard móvil
Migrar a Stripe
Gestiona el riesgo de fraude
Comprender el fraude
Protección antifraude de Radar
Gestiona disputas
Verificar identidades
InicioEmpezarAbout the APIsOlder APIsCharges

Aceptar pagos con Stripe Elements y la API ChargesAPI Charges

Acepta pagos electrónicos de clientes de Estados Unidos y Canadá.

Copia la página

API heredada

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

La API Charges no admite las siguientes funciones, muchas de las cuales son necesarias para cumplir con la normativa de las tarjetas de crédito:

  • Comerciantes de India
  • Bank requests for card authentication
  • Strong Customer Authentication

Usa nuestro componente de interfaz de usuario predefinido para crear un formulario de pago que te permita recopilar de forma segura los datos de tarjeta del cliente sin tener que gestionar los datos confidenciales. Los datos de la tarjeta se convierten luego en un Token representativo que puedes enviar de manera segura a tus servidores. Tu servidor puede utilizar ese token para crear un cargo.

Nota

Todos los pasos de esta guía se han implementado por completo en GitHub. Clona el repositorio y sigue las instrucciones para ejecutar la aplicación de demostración.

Configura Stripe
Lado del cliente
Lado del servidor

Lado del servidor

Esta integración necesita puntos de conexión en tu servidor que se comuniquen con la API de Stripe. Usa nuestras bibliotecas oficiales para acceder a la API de Stripe desde tu 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'

Lado del cliente

El SDK para Android de Stripe es de código abierto y está completamente 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") }

Nota

Para conocer detalles de la última versión y de versiones anteriores del SDK, consulta la página Versiones de GitHub. Para recibir una notificación cuando se publique una nueva versión, mira las versiones del repositorio.

Configura el SDK con tu clave publicable de Stripe para que pueda hacer solicitudes a la API de Stripe, así como en tu subclase Application:

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

Nota

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

Crea tu formulario de pago
Lado del cliente

Recopila información de la tarjeta del cliente de forma segura con CardInputWidget, un componente de interfaz de usuario insertable proporcionado por el SDK que guarda el número de tarjeta, la fecha de caducidad, el CVC y el código postal.

CardInputWidget lleva a cabo la validación y el formateo sobre la marcha.

Crea una instancia del componente de tarjeta y un botón Pagar al añadir lo siguiente al diseño de tu página de finalización de compra:

content_checkout.xml
Ver la muestra completa
<?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>

Ejecuta tu aplicación y asegúrate de que, en la página de finalización de compra, aparezca el componente de tarjeta y el botón de pago.

Crea un token
Lado del cliente

Cuando el usuario toca el botón de pago, convierte los datos de tarjeta reunidos por CardInputWidget en un token de Stripe. La tokenización garantiza que los datos confidenciales de la tarjeta no entren en contacto con tu servidor, de manera que tu integración siga cumpliendo con la normativa PCI.

El siguiente código muestra cómo usar Stripe#createToken(). El método toma una instancia Card como primer parámetro. El segundo parámetro es la instancia ApiResultCallback<Token> que el cliente invoca cuando el token es correcto o da error. Cuando la tokenización se completa correctamente, debes enviar el ID del token devuelto a tu servidor.

CheckoutActivityKotlin.kt
Kotlin
Ver la muestra completa
// 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 } }) } }

Envía el ID del token a tu servidor desde el cliente.

Crea un cargo con el token
Lado del 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"

La respuesta al crear un cargo será un cargo o un error con un código de error. Si la respuesta se realiza correctamente, puedes completar el pedido del cliente y mostrarle en la pantalla que se ha realizado correctamente. De lo contrario, puedes mostrarle un error.

Prueba tu integración

Si puedes introducir de manera fiable una tarjeta de prueba en el Element card, envíalo al servidor y comprueba que tu servidor ha creado el cargo. De ser así, la integración habrá terminado.

Has creado una integración con la API Charges para empezar a aceptar pagos con tarjeta de inmediato. Esta API no da soporte a empresas en expansión ni a clientes fuera de Estados Unidos y Canadá. Para contar con opciones de pagos internacionales más sólidas, descubre cómo aceptar pagos con la API Payment Intents.

Véase también

  • Acepta Google Pay
  • Cómo guardar tarjetas con la API Charges
¿Te ha sido útil la página?
SíNo
¿Necesitas ayuda? Ponte en contacto con el equipo de soporte.
Únete a nuestro programa de acceso anticipado.
Echa un vistazo a nuestro registro de cambios.
¿Tienes alguna pregunta? Ponte en contacto con el equipo de ventas.
¿LLM? Lee llms.txt.
Con tecnología de Markdoc