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
Ingresos
Plataformas y marketplaces
Gestión del dinero
Herramientas para desarrolladores
Resumen
Empieza a usar Connect
Fundamentos de la integración
Ejemplos de integraciones
Haz el onboarding de las cuentas
Configura los Dashboards de la cuenta
Aceptar pagos
    Crear un cargo
      Cargos Direct
        Configuraciones de comisiones para cuentas conectadas
        Informes sobre comisiones de pago con cargos Direct
        Comparte métodos de pago en múltiples cuentas
      Cargos a un Destino
      Cargos y envíos de fondos separados
    Definir descripciones de los cargos en el extracto bancario
    Configurar códigos de categoría de comercio
    Administrar varias monedas
    Crea enlaces de pago con Connect
    Usa Radar con Connect
    Disputas en Connect
    Crea suscripciones
    Crear facturas
    Configuraciones de varios métodos de pago
    Integra el componente de configuración del método de pago
    Saldo de la cuenta
Transfiere a cuentas
Gestiona tu plataforma Connect
Formularios fiscales para tu plataforma Connect
Trabaja con tipos de cuentas conectadas
InicioPlataformas y marketplacesAccept paymentsCreate a charge

Crea cargos Direct

Crea cargos directamente en la cuenta conectada y cobra una comisión.

Copiar página

Crea cargos directos cuando los clientes realicen la transacción directamente con una cuenta conectada, a menudo sin saber que existe tu plataforma. Con cargos directos:

  • El pago aparece como cargo en la cuenta conectada, no en la cuenta de tu plataforma.
  • El saldo de la cuenta conectada aumenta con cada pago.
  • El saldo de tu cuenta aumenta con las comisiones de la aplicación recibidas de cada pago.

Este tipo de cargo es el más adecuado para las plataformas que proporcionan software como servicio. Por ejemplo, Shopify proporciona herramientas para crear tiendas en línea, y Thinkific permite a quienes ofrecen cursos de educación venderlos en línea.

Nota

Recomendamos usar cargos directos para las cuentas conectadas que tienen acceso al Dashboard completo de Stripe.

Integra un formulario de pago prediseñado en tu sitio con Stripe Checkout. Comprueba cómo esta integración se compara con los otros tipos de integración de Stripe.

Vista previa de Checkout integradoVista previa de Checkout integrado
powdur.me

Esfuerzo de integración

Baja codificación (low code)

Tipo de integración

Integra un formulario de pago prediseñado en tu sitio

Personalización de la interfaz de usuario

Personalización limitada

Primero, inscríbete para obtener una cuenta de Stripe.

Usa nuestras bibliotecas oficiales para acceder a la API de Stripe desde tu aplicación:

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'

Crear una sesión de Checkout
Lado del servidor

Una sesión de Checkout controla lo que tu cliente puede ver en el formulario de pago insertable, como las partidas, el importe del pedido y la moneda. Crea una sesión de Checkout en un punto de conexión del lado del servidor (por ejemplo, /create-checkout-session). La respuesta incluye un client_secret que usarás en el siguiente paso para montar Checkout.

Command Line
cURL
curl https://api.stripe.com/v1/checkout/sessions \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"
\ -d "line_items[0][price_data][currency]"=usd \ -d "line_items[0][price_data][product_data][name]"=T-shirt \ -d "line_items[0][price_data][unit_amount]"=1000 \ -d "line_items[0][quantity]"=1 \ -d "payment_intent_data[application_fee_amount]"=123 \ -d mode=payment \ -d ui_mode=embedded \ --data-urlencode return_url="https://example.com/checkout/return?session_id={CHECKOUT_SESSION_ID}"
  • line_items: Este atributo representa los artículos que tu cliente está comprando y aparece en el formulario de pago integrado.
  • payment_intent_data[application_fee_amount]: este atributo especifica el importe que tu plataforma deduce de la transacción como comisión de la plataforma. Después de que se procesa el pago en la cuenta conectada, se transfiere el application_fee_amount a la plataforma. Consulta Cobra comisiones para obtener más información.
  • return_url - Stripe redirige al cliente a la URL de devolución después de que complete un intento de pago y reemplaza la cadena {CHECKOUT_SESSION_ID} con la ID de la sesión de Checkout. Usa esto para recuperar la sesión de Checkout e inspecciona el estado para decidir qué mostrarás a tu cliente. Asegúrate de que la URL de devolución corresponda a una página de tu sitio web que proporcione el estado del pago. También puedes adjuntar tus propios parámetros de consulta, que persisten durante el proceso de redireccionamiento. Consulta Personalizar el comportamiento de redireccionamiento con un formulario integrado para obtener más información.
  • Stripe-Account: este encabezado indica un cargo directo para tu cuenta conectada. La imagen de marca de la cuenta conectada se utiliza en Checkout, lo que permite a tus clientes sentir que están interactuando directamente con la cuenta conectada en lugar de con tu plataforma.

Los cargos que creas directamente en la cuenta conectada se informan solo en esa cuenta. Estos cargos no aparecen en el Dashboard ni en las exportaciones ni en otros informes de tu plataforma, aunque siempre puedes recuperar esta información con una llamada a la API.

Montar Checkout
Lado del cliente

Checkout está disponible como parte de Stripe.js. Para incluir el script de Stripe.js en tu página, agrégalo al encabezado de tu archivo HTML. A continuación, crea un nodo DOM vacío (contenedor) para usarlo en el montaje.

index.html
<head> <script src="https://js.stripe.com/v3/"></script> </head> <body> <div id="checkout"> <!-- Checkout will insert the payment form here --> </div> </body>

Inicializa Stripe.js con tu clave de API publicable y el ID de la cuenta conectada. Especifica el client_secret del paso anterior en options cuando crees la instancia de Checkout:

index.js
// Initialize Stripe.js const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, { stripeAccount:
{{CONNECTED_ACCOUNT_ID}}
, }); initialize(); // Fetch Checkout Session and retrieve the client secret async function initialize() { const fetchClientSecret = async () => { const response = await fetch("/create-checkout-session", { method: "POST", }); const { clientSecret } = await response.json(); return clientSecret; }; // Initialize Checkout const checkout = await stripe.initEmbeddedCheckout({ fetchClientSecret, }); // Mount Checkout checkout.mount('#checkout'); }

Checkout se muestra en un iframe que envía la información de pago a Stripe de manera segura mediante una conexión HTTPS. No coloques Checkout dentro de otro iframe porque, para algunos métodos de pago, se requiere el redireccionamiento a otra página a fin de confirmar el pago.

Gestionar eventos posteriores al pago
Lado del servidor

Stripe envía un evento checkout.session.completed cuando se completa el pago. Utiliza un webhook para recibir estos eventos y ejecutar acciones, como enviar un correo electrónico de confirmación del pedido a tu cliente, registrar la venta en una base de datos o iniciar el flujo de tareas para un envío.

Escucha estos eventos en lugar de esperar una devolución de llamada del cliente. De su lado, el cliente puede cerrar la ventana del navegador o salir de la aplicación antes de que se ejecute la devolución de llamada. Además, algunos métodos de pago tardan entre 2 y 14 días en confirmar el pago. Si configuras tu integración para escuchar eventos asincrónicos, podrás aceptar varios métodos de pago con una sola integración.

Stripe recomienda administrar todos los siguientes eventos al cobrar pagos con Checkout:

EventoDescripciónPróximos pasos
checkout.session.completedMediante el envío del formulario de Checkout, el cliente ha autorizado correctamente el pago.Espera hasta saber si el pago se concreta o no.
checkout.session.async_payment_succeededEl pago del cliente se efectuó correctamente.Entrega los bienes o servicios comprados.
checkout.session.async_payment_failedEl pago se rechazó o falló por algún otro motivo.Ponte en contacto con el cliente por correo electrónico y solicítale que haga un nuevo pedido.

Todos estos eventos incluyen el objeto Checkout Session. Una vez que el pago se efectúa correctamente, el estado del PaymentIntent subyacente cambia de processing a succeeded o a un estado de falla.

Probar la integración

Número de tarjetaEscenarioCómo hacer la prueba
El pago con tarjeta se efectúa correctamente y no requiere autenticación.Completa el formulario de tarjeta de crédito con el número de tarjeta de crédito y la fecha de vencimiento, el CVC o el código postal.
El pago con tarjeta requiere autenticación.Completa el formulario de tarjeta de crédito con el número de tarjeta de crédito y la fecha de vencimiento, el CVC o el código postal.
La tarjeta es rechazada con un código de rechazo insufficient_funds.Completa el formulario de tarjeta de crédito con el número de tarjeta de crédito y la fecha de vencimiento, el CVC o el código postal.
La tarjeta UnionPay puede tener entre 13 y 19 dígitos.Completa el formulario de tarjeta de crédito con el número de tarjeta de crédito y la fecha de vencimiento, el CVC o el código postal.

Consulta Pruebas para obtener información adicional para probar tu integración.

OpcionalHabilitar métodos de pago adicionales

Cobra comisiones

Cuando se procesa un pago, tu plataforma puede tomar una parte de la transacción en forma de comisiones de la plataforma. Puedes establecer los precios de la comisión de la plataforma de dos maneras:

  • Utiliza la herramienta de tarifas de la plataforma para establecer y probar las reglas de tarifas. Esta función que no requiere programación del Dashboard de Stripe solo está disponible actualmente para plataformas responsables de pagar las comisiones de Stripe.
  • Define las reglas de precios internamente, especificando las comisiones de la aplicación directamente en un PaymentIntent. Las comisiones establecidas con este método anulan la lógica de tarifas especificada en la herramienta de tarifas de la plataforma.

Tu plataforma puede cobrar una comisión de la plataforma con las siguientes limitaciones:

  • El valor de application_fee_amount debe ser positivo e inferior al importe del cargo. La comisión de la plataforma que se cobra tiene un límite del importe capturado del cargo.
  • No se aplican comisiones adicionales de Stripe a la comisión de la plataforma en sí.
  • En concordancia con los requisitos reglamentarios y de cumplimiento de la normativa de Brasil, las plataformas establecidas fuera de Brasil con cuentas conectadas brasileñas no pueden cobrar comisiones de la plataforma a través de Stripe.
  • La moneda de application_fee_amount depende de algunos factores de varias monedas.

La transacción de saldo del cargo resultante incluye un desglose detallado de las comisiones de Stripe y de la plataforma. Para brindar una mejor experiencia a la hora de elaborar informes, se crea un objeto Application Fee después del cobro de la comisión. Utiliza la propiedad amount en el objeto Application Fee para la elaboración de informes. También puedes acceder a estos objetos usando el punto de conexión de las Comisiones de la aplicación.

Las comisiones ganadas se agregan al saldo disponible de tu cuenta según el mismo calendario que se aplica a los fondos provenientes de cargos normales de Stripe. Las comisiones de la aplicación se pueden ver en la sección Comisiones cobradas del Dashboard.

Precaución

De manera predeterminada, las comisiones de la plataforma para cargos directos se crean de forma asincrónica. Si expandes el objeto application_fee en una solicitud de creación de cargo, la comisión de la plataforma se crea sincrónicamente como parte de esa solicitud. Solo expande el objeto application_fee si es necesario, ya que aumenta la latencia de la solicitud.

Para acceder a los objetos Application Fee por las comisiones de la aplicación que se crearon de forma asíncrona, escucha el evento de webhook application_fee.created.

Flujo de fondos con comisiones

Cuando especificas una comisión de aplicación en un cargo, el monto de la comisión se transfiere a la cuenta de Stripe de tu plataforma. Al procesar un cargo directamente en la cuenta conectada, el monto del cargo, menos las comisiones de Stripe y la comisión de la aplicación, se deposita en la cuenta conectada.

Por ejemplo, si efectúas un cargo de USD 10 con una comisión de la aplicación de USD 1.23 (como en el ejemplo anterior), se transfieren USD 1.23 a la cuenta de la plataforma. La cuenta conectada obtiene un importe neto de USD 8.18 (USD 10 - USD 0.59 - USD 1.23) (con las comisiones estándar de Stripe en Estados Unidos).

Flujo de fondos para un cargo con una comisión de la aplicación

Si procesas pagos en varias monedas, lee cómo se administran las monedas en Connect.

Personaliza la imagen de marca

Tu plataforma y las cuentas conectadas pueden usar la Configuración de imagen de marca en el Dashboard para personalizar la imagen de marca en la página de pagos. Para los cargos directos, Checkout utiliza la configuración de imagen de marca de la cuenta conectada.

También puedes usar la API para actualizar la configuración de imagen de marca:

  • icon: aparece junto al nombre de la empresa en el encabezado de la página de Checkout.
  • logo: se utiliza en lugar del ícono y el nombre de la empresa en el encabezado de la página de Checkout.
  • primary_color: se utiliza como color de fondo en la página de Checkout.
  • secondary_color: se utiliza como color del botón en la página de Checkout.
Command Line
cURL
curl https://api.stripe.com/v1/accounts/
{{CONNECTED_ACCOUNT_ID}}
\ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "settings[branding][icon]"=
{{FILE_ID}}
\ -d "settings[branding][logo]"=
{{FILE_ID}}
\ --data-urlencode "settings[branding][primary_color]"="#663399" \ --data-urlencode "settings[branding][secondary_color]"="#4BB543"

Emitir rembolsos

De la misma manera que las plataformas pueden crear cargos en las cuentas conectadas, también pueden crear reembolsos de cargos en las cuentas conectadas. Crea un reembolso con la clave secreta de tu plataforma estando autenticado como cuenta conectada.

Las comisiones de la aplicación no se reembolsan automáticamente al emitir el reembolso. Tu plataforma debe reembolsar expresamente la comisión de la aplicación, o la cuenta conectada (la cuenta en la que se creó el cargo) perderá ese importe. Puedes reembolsar la comisión de la aplicación pasando el valor refund_application_fee de true en la solicitud de reembolso:

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

De forma predeterminada, se reembolsa el total del cargo, pero puedes crear un reembolso parcial estableciendo un valor de amount como un número entero positivo. Si el reembolso implica que se reembolsa el total del cargo, se reembolsa el total de la comisión de la plataforma. De lo contrario, se reembolsa un importe proporcional de la comisión de la plataforma. Como alternativa, puedes proporcionar un valor de refund_application_fee de false y reembolsar la comisión de la plataforma por separado.

Consulta también

  • Cómo trabajar con varias monedas
  • Descripción del cargo en el extracto bancario con Connect
¿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