Ir a contenido
Crea una cuenta
o
Inicia sesión
Logotipo de Stripe Docs
/
Pregúntale a la IA
Crear una cuenta
Iniciar sesión
Empieza ahora
Pagos
Automatización contable
Plataformas y marketplaces
Gestión del dinero
Herramientas para desarrolladores
Empieza ahora
Pagos
Automatización contable
Empieza ahora
Pagos
Automatización contable
Plataformas y marketplaces
Gestión del dinero
ResumenConoce todos los productos
Empieza a desarrollar
Empezar a desarrollar
Proyectos de muestra
Acerca de las API
    Visita a las API
    API Payment Intents
    API Setup Intents
    Métodos de pago
    API anteriores
      Cargos
        Migrar a las nuevas API
        Aceptar un pago con tarjeta
        Guardar una tarjeta
        Bloquear un importe en una tarjeta
        Charges con Connect
      Sources
    Fases de lanzamiento
Creación de LLM
Utiliza Stripe sin necesidad de programación
Configura Stripe
Crea una cuenta.
Productos y precios
Dashboard web
Dashboard móvil
Migra a Stripe
Migrar datos de clientes
Migra datos de pago
Migrar suscripciones
Gestiona el riesgo de fraude
Comprender el fraude
Protección contra fraudes de Radar
Gestionar disputas
Verificar identidades
Soporte normativo
InicioEmpieza ahoraAbout the APIsOlder APIs

Pagos con tarjeta en la API ChargesLegado

Aprende a cargar, guardar y autenticar tarjetas con las API heredadas de Stripe.

Copiar página

API heredada

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

The Charges API doesn’t support the following features, many of which are required for credit card compliance:

  • Merchants in India
  • Bank requests for card authentication
  • Strong Customer Authentication

Las API Charges y Tokens son API heredadas que se usaban en integraciones antiguas de Stripe para aceptar pagos con tarjetas de crédito y débito. Para integraciones nuevas, usa PaymentIntents.

La API Charges limita tus posibilidades de aprovechar las funcionalidades de Stripe. Para obtener las funcionalidades más recientes, usa Stripe Checkout o migra a la API Payment Intents.

Flujo de pago

En la mayoría de los casos, la API PaymentIntents es más flexible y ofrece más opciones de integración.

API ChargesAPI Payment Intents
  1. Recopila la información de pago del cliente en el navegador con Elements.
  2. Tokeniza la información de pago con Stripe.js.
  3. Haz una solicitud para enviar el token a tu servidor.
  4. Usa el token para crear un cargo en tu servidor con el importe y la moneda que quieras.
  5. Completa el pedido del cliente si se efectúa con éxito el pago.
  1. Crea un PaymentIntent en tu servidor con el importe y la moneda que quieras.
  2. Envía el secreto de cliente del PaymentIntent al lado del cliente.
  3. Recopila la información de pago del cliente en el navegador con Elements.
  4. Usa Stripe.js o los SDK móviles para gestionar 3D Secure y completar el pago del lado del cliente.
  5. Usa webhooks para completar el pedido del cliente si se efectúa con éxito el pago.

Rembolsos

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 rembolsar parte de un pago, ingresa el parámetro amount en forma de un entero en centavos (o la unidad más pequeña de la moneda del cargo).

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

Apple Pay

Cuando tu cliente aprueba el pago, tu aplicación recibe una instancia de PKPayment que contiene los datos de la tarjeta cifrados mediante la implementación de los métodos PKPaymentAuthorizationViewControllerDelegate.

  1. Usa el método del SDK createTokenWithPayment para convertir PKPayment en un Token de Stripe.
  2. Usa este Token para crear un cargo.
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) {

Descripción dinámica del cargo en el extracto bancario

La descripción del cargo en el extracto bancario de tu cuenta de Stripe aparece en los extractos del cliente de forma predeterminada cada vez que haces un cargo en su tarjeta. Además, puedes configurar la descripción del cargo en el extracto bancario dinámicamente en cada solicitud de cargo con el argumento statement_descriptor en el 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"

Los descriptores de instrucciones están limitados a 22 caracteres, no pueden usar los caracteres especiales <, >, ', ", o *, y no deben consistir únicamente en números.

Si configuras una descripción dinámica del cargo en el extracto bancario para los cargos con tarjetas de crédito y débito, la porción dinámica se agrega a la descripción del extracto del comerciante de cobro (separada por un * y un espacio). Por ejemplo, la descripción del cargo en el extracto bancario de una empresa llamada FreeCookies que incluya el tipo de galletitas compradas, podría ser FREECOOKIES* CON AZÚCAR.

El * y el espacio están incluidos en el límite de 22 caracteres, y Stripe asigna automáticamente 10 caracteres para la descripción dinámica. Por lo tanto, si la descripción del comerciante excede los 10 caracteres y la descripción dinámica tiene 10 caracteres o más, la descripción del comerciante aparecerá truncada. Si la descripción dinámica del cargo tiene más de 10 caracteres, ambas descripciones quedarán truncadas en el décimo carácter.

Si tienes problemas con el límite de caracteres, puedes definir una descripción abreviada en el Dashboard de Stripe para acortar la descripción del comerciante de cobro y tener más espacio para la descripción dinámica. La descripción abreviada:

  • Reemplaza la descripción en el extracto bancario del comerciante de cobro ante la presencia de una descripción dinámica.
  • Puede tener entre 2 y 10 caracteres.

Nota

Si la descripción del cargo en el extracto bancario de tu cuenta tiene más de 10 caracteres, configura una descripción abreviada en el Dashboard o usa statement_descriptor_prefix. Esto evita que la descripción del cargo aparezca truncada de manera impredecible.

Si no estás seguro de cómo se ven las descripciones en el extracto bancario cuando se combinan, puedes revisarlas en el Dashboard de Stripe.

Cómo almacenar información en metadatos

Cómo usar Payment Intents

Si usas la API Payment Intents, recupera y actualiza solo los campos metadata y description en el objeto Payment Intent. Si usas objetos Payment Intent y objetos Charge, los valores de estos campos pueden no ser uniformes.

Stripe admite el agregado de metadatos a las solicitudes más comunes como, por ejemplo, procesar cargos. Los metadatos no están a la vista del cliente ni determinan en forma alguna si un cargo es rechazado o bloqueado por nuestro sistema de prevención de fraudes.

Con los metadatos, puedes asociar otros datos, que sean importantes para ti, a la actividad de Stripe. Los metadatos que incluyas pueden verse en el Dashboard (por ejemplo, al buscar un cargo en particular en la página) y también aparecen en informes y exportaciones comunes. Por ejemplo, se puede asociar la ID del pedido de tu tienda al cargo utilizado para pagar ese pedido. Esto les facilita a ti, a tu contador o al equipo de finanzas la conciliación de los cargos en Stripe con los pedidos en tu sistema.

Si estás usando Radar, considera la posibilidad de especificar cualquier dato adicional del cliente y del pedido en forma de metadatos. Esto te permite redactar reglas de Radar usando atributos de metadatos y contar con más información sobre el pago dentro del Dashboard, con lo cual se puede agilizar tu proceso de revisión.

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

Precaución

No almacenes información confidencial (información personal identificable, datos de tarjetas, etc.) en forma de metadatos ni en el parámetro description del cargo.

Rechazos

Si quieres que tu integración responda a errores en los pagos automáticamente, puedes acceder al outcome de un cargo de dos maneras.

  • Gestiona el error de API devuelto cuando falla un pago. En caso de pagos bloqueados o rechazados por el emisor de la tarjeta, el error incluye el ID del cargo, que puedes usar para recuperarlo.
  • Utiliza webhooks para supervisar las actualizaciones de estado. Por ejemplo, el evento charge.failed se activa cuando falla un pago.
¿Te fue útil esta página?
SíNo
¿Necesitas ayuda? Ponte en contacto con soporte.
Únete a nuestro programa de acceso anticipado.
Echa un vistazo a nuestro registro de cambios.
¿Tienes alguna pregunta? Contacto.
¿LLM? Lee llms.txt.
Con tecnología de Markdoc