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
Recursos para desarrolladores
Resumen
Acerca de Stripe Payments
    Resumen
    Otras monedas
    Pagos rechazados
    Transferencias
    Pagos recurrentes
    Autenticación mediante 3D Secure
    Reembolsar y cancelar pagos
    Saldos y plazos de acreditación de fondos
    Recibos
    Administrar eventos de webhook
    Preparación para la SCA
Actualiza tu integración
Análisis de pagos
Pagos electrónicos
ResumenEncuentra tu caso de usoPagos administrados
Usa Payment Links
Crea una página del proceso de compra
Desarrolla una integración avanzada
Desarrolla una integración en la aplicación
Métodos de pago
Agrega métodos de pago
Gestiona los métodos de pago
Finalización de compra más rápida con Link
Interfaces de pago
Payment Links
Checkout
Elements para la web
Elements en la aplicación
Escenarios de pago
Administrar varias monedas
Flujos de pago personalizados
Capacidad adquirente flexible
Orquestación
Pagos en persona
Terminal
Más allá de los pagos
Constituye tu empresa
Criptomonedas
Financial Connections
Climate
InicioPagosAbout Stripe payments

Rembolsa y cancela pagos

Descubre cómo cancelar o rembolsar un pago.

Puedes cancelar un pago antes de que se complete sin costo alguno. O puedes reembolsar la totalidad o parte de un pago después de que se realice correctamente, lo que podría generar una comisión. Consulta nuestra página de tarifas para obtener más información.

Los reembolsos utilizan el saldo disponible de Stripe (sin incluir los montos pendientes). Si tu saldo disponible no cubre el importe del reembolso, Stripe retendrá el reembolso como pendiente hasta que tu saldo de Stripe sea suficiente. Puedes resolver un saldo negativo de Stripe cobrando pagos o recargando el saldo de tu cuenta. En las regiones donde corresponda, Stripe podría debitar tus cuentas bancarias automáticamente para recuperar un saldo negativo de Stripe.

Solicitudes de rembolso

Enviamos solicitudes de reembolso al banco de tu cliente o al emisor de la tarjeta. Los reembolsos exitosos aparecen en el extracto bancario de tus clientes en tiempo real, dependiendo de la red de la tarjeta y del banco emisor. No se admiten disputas y contracargos sobre cargos de tarjeta de crédito reembolsados en su totalidad.

Si se aplican todas las condiciones siguientes, enviaremos un correo electrónico a tu cliente donde le notificaremos acerca del rembolso:

  • El cargo original se creó en un cliente en tu cuenta de Stripe.
  • El cliente tiene almacenada una dirección de correo electrónico.
  • Habilitaste la opción Enviar a los clientes un correo electrónico sobre rembolsos en el Dashboard.

Puedes ver tus pagos rembolsados en el Dashboard.

Emitir rembolsos

Puedes emitir reembolsos usando la API Refunds o el Dashboard. Puedes emitir más de un reembolso por un cargo, pero no puedes reembolsar un total mayor que el importe del cargo original.

Para reembolsar un pago con la API, crea un reembolso y proporciona el ID del cargo o PaymentIntent.

Cuando usas un PaymentIntent para cobrar un pago, Stripe crea un objeto charge. Para reembolsar un pago después de que el PaymentIntent se haya procesado con éxito, crea un reembolso utilizando el PaymentIntent, que equivale a reembolsar el cargo subyacente. También puedes reembolsar solo una parte de un pago especificando un importe. Si utilizas las API de Stripe Tax para registrar las ventas, debes registrar los reembolsos.

Command Line
cURL
curl https://api.stripe.com/v1/refunds \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d payment_intent=pi_Aabcxyz01aDfoo

Para rembolsar parte de un PaymentIntent, especifica el parámetro amount como un número 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 payment_intent=pi_Aabcxyz01aDfoo \ -d amount=1000

Si quieres separar la autorización y captura de un cargo y reembolsar un PaymentIntent cuyo estado es requires_capture, el proceso de reembolso es diferente. En este caso, el cargo adjunto al PaymentIntent no se capturó y no se puede reembolsar directamente. Debes cancelar el PaymentIntent.

Reembolsos mediante una plataforma Connect

El comportamiento de los reembolsos depende del tipo de cargo de Connect que se utiliza en tu integración.

  • Stripe debita los reembolsos directamente de la cuenta conectada a los pagos con cargo directo.
  • Stripe debita los reembolsos de tu plataforma para los cargos a un destino o los pagos con cargos y envíos de fondos separados (con o sin on_behalf_of). Revierte los envíos de fondos asociados a estos tipos de cargos para recuperar el importe del reembolso de tus cuentas conectadas.

Destinos de los rembolsos

Los rembolsos solo se pueden devolver al método de pago original utilizado para hacer el cargo. No puedes enviar un reembolso a un destino diferente, como otra tarjeta o cuenta bancaria.

Los rembolsos a tarjetas vencidas o canceladas son gestionados por el emisor de la tarjeta del cliente y, en la mayoría de los casos, se acreditan en la tarjeta de reemplazo del cliente. Si no hay un remplazo, el emisor de la tarjeta suele realizar el rembolso al cliente con un método alternativo (por ejemplo, un cheque o un depósito en la cuenta bancaria). En raras ocasiones, un rembolso a una tarjeta puede fallar.

En caso de otros métodos de pago, como ACH e iDEAL, la gestión del reembolso varía según el banco. Si un cliente ya no tiene el método de pago, el banco podría devolvernos el reembolso, en cuyo caso se marcará como fallido.

Administra rembolsos fallidos

Un rembolso puede fallar si el banco del cliente o el emisor de la tarjeta no pueden procesarlo. Por ejemplo, una cuenta bancaria cerrada o un problema con la tarjeta pueden provocar un error en el rembolso. Cuando esto sucede, el banco nos devuelve el importe reembolsado y nosotros lo agregamos al saldo de tu cuenta de Stripe. Este proceso puede demorar hasta 30 días desde la fecha de imputación.

Al usar la API, el estado del objeto Refund pasa a failed e incluye estos atributos:

  • failure_balance_transaction: el ID de la transacción de saldo que representa el importe devuelto a tu saldo de Stripe.
  • failure_reason: El motivo por el que falló el rembolso. Estas razones incluyen:
    Motivo del errorDescripción
    charge_for_pending_refund_disputedUn cliente disputó el cargo mientras el reembolso está pendiente. En este caso, te recomendamos aceptar o impugnar la disputa en lugar de reembolsarla para evitar reembolsos duplicados al cliente.
    declinedReembolso rechazado por nuestros socios financieros.
    expired_or_canceled_cardEl cliente cancela el método de pago o el socio lo da por vencido.
    insufficient_fundsEl rembolso está pendiente debido a insuficiencia de fondos y superó el periodo de vencimiento para rembolsos pendientes.
    lost_or_stolen_cardNo se realizó el reembolso debido a la pérdida o robo de la tarjeta original.
    merchant_requestNo se realizó el reembolso a solicitud de la empresa.
    unknownNo se realizó el reembolso debido a un motivo desconocido.

Para algunos métodos de pago, el código de pago rechazado proporcionado por nuestros socios financieros, que indica el motivo por el que falló el reembolso, está disponible en el campo network_decline_code de destination_details:

{ id: "pyr_1234", destination_details: { blik: { network_decline_code: "decline_code" }, type: 'blik', } }

Si excepcionalmente un rembolso falla, te lo notificaremos usando el evento refund.failed (consulta todos los eventos relacionados con el rembolso). Si esto ocurre, tendrás que buscar una manera alternativa de hacerle el reembolso al cliente.

Si tu plataforma usa Connect con cargos a un destino, los fondos de un reembolso fallido se depositan en el saldo de Stripe de la cuenta de tu plataforma.

Cancelar un reembolso

Según el tipo de reembolso, es posible que puedas cancelarlo antes de que llegue al cliente. Algunos reembolsos de tarjetas admiten la cancelación por un corto período de tiempo. El reembolso no debe haberse procesado como una reversión de cargo. Actualmente, solo se admiten cancelaciones en el Dashboard para los reembolsos con tarjeta.

Para algunos métodos de pago, Stripe se comunica con el cliente para recopilar información bancaria antes de procesar el reembolso. Puedes cancelar estos reembolsos mientras no se haya recopilado la información bancaria. Tanto la API como las cancelaciones del Dashboard son compatibles con este tipo de reembolso.

Los reembolsos cancelados pasan al estado canceled. Como las cancelaciones son un tipo de error de reembolso, los atributos failure_reason y failure_balance_transaction se incluyen en el Reembolso.

Si tu plataforma usa Connect con cargos a un destino, los fondos de un reembolso cancelado se depositan en el saldo de Stripe de la cuenta de tu plataforma.

Para cancelar un reembolso a través de la API, cancela un reembolso y proporciona la ID del reembolso.

Command Line
cURL
curl -X POST https://api.stripe.com/v1/refunds/re_Aabcxyz01aDfoo/cancel \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Reembolso y revocación

Algunos rembolsos, aquellos emitidos poco después del cargo original, aparecen como una anulación en lugar de como un rembolso. En estos casos, el cargo original desaparece del extracto del cliente y no se emite un crédito por separado.

Los usuarios de IC+ pueden ver una diferencia en el costo entre las revocaciones y los reembolsos, ya que las revocaciones generalmente incurren en comisiones de red más bajas.

Para verificar si un reembolso se procesa como una revocación usando la API, haz lo siguiente:

  1. Consume el evento refund.updated o recupera el reembolso con la API.
  2. Si se trata de una revocación, devuelvedestination_details[card][type] = 'reversal'.

Rastrea un rembolso

Una vez iniciado el rembolso, Stripe envía solicitudes de rembolso al banco o al emisor de la tarjeta del cliente. Según el banco, el cliente verá el rembolso como un crédito aproximadamente 5 a 10 días hábiles más tarde. Es posible que un cliente se ponga en contacto contigo si no ve el rembolso. Un rembolso puede no ser visible para el cliente por varias razones:

  • Algunos rembolsos emitidos poco después del cargo original aparecen en forma de anulación en lugar de rembolso. En el caso de una anulación, el cargo original desaparece del extracto del cliente y no se emite un crédito por separado.
  • Un rembolso puede fallar si el banco del cliente o el emisor de la tarjeta no ha podido procesarlo correctamente. El banco nos devuelve el importe rembolsado y nosotros lo agregamos al saldo de tu cuenta de Stripe. Este proceso puede demorar hasta 30 días desde la solicitud del rembolso.

Si un cliente pregunta sobre un reembolso, puede ser útil proporcionarle el número de referencia principal correspondiente al reembolso. Para los reembolsos de tarjetas, puede ser un número de referencia del adquirente (ARN), un número de auditoría de seguimiento del sistema (STAN) o un número de referencia de recuperación (RRN). Un ARN, un STAN o un RRN es un número de referencia asignado a una transacción de tarjeta a medida que avanza en el flujo de pago. Para los reembolsos por métodos de pago locales, puede ser un número de referencia generado por Stripe o nuestros socios financieros que se propaga a los bancos o instituciones beneficiarios. El cliente puede llevar esta referencia a su banco y así obtener más información sobre cuándo el reembolso estará disponible. Tener un número de referencia también puede darle más seguridad a tu cliente de que se inició el reembolso.

Las referencias de reembolsos están disponibles bajo las siguientes condiciones:

  • Se admiten para algunos socios financieros. De lo contrario, están marcadas como no disponibles.
  • Después del inicio del reembolso, pueden pasar hasta siete días hábiles para recibir el ARN de los socios bancarios involucrados en la transacción.
  • El ARN no está disponible en caso de una revocación porque no se procesa el cargo original. Para las redes de tarjetas que no admiten los ARN, intentamos proporcionar otras referencias, como el número de auditoría de seguimiento del sistema (STAN) o el número de referencia de recuperación (RRN).

Para encontrar la referencia de un reembolso mediante la API, haz lo siguiente:

  1. Consume el evento refund.updated o recupera el reembolso con la API.
  2. Si la referencia del reembolso de la tarjeta está disponible, Stripe la muestra en la siguiente forma de API:
{ id: "re_1234", destination_details: { card: { reference: "123456", reference_status: "available", reference_type: "acquirer_reference_number", type: "refund" }, type: "card", } }

O la referencia para los métodos de pago locales seleccionados en la siguiente forma de API:

{ id: "pyr_1234", destination_details: { eu_bank_transfer: { reference: "123456", reference_status: "available" }, type: "eu_bank_transfer", } }

Cancela un pago

Puedes cancelar un pago a través del Dashboard solo cuando su estado es uncaptured. Para cancelar un pago con otros estados, debes usar la API.

Si ya no tienes intención de cobrar un pago, puedes cancelar un PaymentIntent. Puedes mantener un PaymentIntent en estado incompleto, como requires_confirmation requires_payment_method, ya que los PaymentIntents incompletos son útiles para comprender la tasa de conversión durante el proceso de confirmación de compra. En el siguiente ejemplo de código se muestra una solicitud para cancelar un PaymentIntent:

Command Line
cURL
curl -X POST https://api.stripe.com/v1/payment_intents/pi_32AkjQ5H4Bas2eAolX13/cancel \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Solo puedes cancelar un PaymentIntent cuando tenga uno de los siguientes estados:

  • requires_payment_method
  • requires_capture
  • requires_confirmation
  • requires_action
  • processing (solo cuando el método de pago asociado es una cuenta bancaria de EE. UU.)

Un PaymentIntent no se puede cancelar después de haberse completado correctamente. Si cancelas un PaymentIntent, ya no podrás usarlo para hacer otros cargos. Las operaciones intentadas por tu aplicación sobre un PaymentIntent cancelado muestran un mensaje de error.

Eventos de reembolso

Stripe activa eventos cada vez que se crea o modifica un reembolso. Algunas otras acciones, como el cierre de evaluaciones, también desencadenan eventos relevantes para los reembolsos.

Asegúrate de que tu integración esté configurada para gestionar eventos. También debes crear una lógica interna para notificar a los clientes o a tu equipo sobre el estado del proceso de reembolso. Stripe recomienda que, como mínimo, escuches el evento refund.created.

La siguiente tabla describe los eventos más comunes relacionados con los reembolsos.

refund.createdSe envía cuando se crea el reembolso.
refund.updatedSe envía cuando se actualiza el rembolso. Las actualizaciones incluyen agregar metadatos y proporcionar detalles como el ARN como número de referencia para rastrear los rembolsos.
refund.failedSe envía cuando un reembolso ha fallado.
charge.dispute.funds_reinstatedSe envía cuando los fondos se restablecen en tu cuenta después del cierre de una disputa e incluye los pagos parcialmente reembolsados.
charge.refundedSe envía cuando se reembolsa un cargo, incluidos los reembolsos parciales. Escucha refund.created para obtener más información sobre los reembolsos.
review.closedSe envía cuando se cierra una revisión. Consulta el campo reason para entender por qué se cerró, uno de los siguientes: approved, disputed, canceled, refunded o refunded_as_fraud.
source.refund_attributes_required DeprecatedSe envía cuando la fuente receptora requiere atributos de reembolso para procesar un reembolso o un pago incorrecto.
charge.refund.updated DeprecatedSe envía cuando se actualiza el reembolso, solo para reembolsos con un cargo correspondiente. Escucha refund.updated para obtener actualizaciones sobre todos los reembolsos.

Optimización de costos

Si tu empresa procesa un gran volumen de reembolsos cerca del momento de la transacción, te recomendamos que utilices la autorización y captura manuales para reducir los costos de tus reembolsos. La autorización y captura manuales te permiten controlar mejor los costos cancelando los pagos antes de que se capturen o reduciendo el importe capturado en lugar de procesar un rembolso.

Consulta también

  • Agrega fondos a tu saldo de Stripe
  • Agrega fondos al saldo de tu plataforma
  • Localiza los precios
¿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
Guías relacionadas
Reembolsos por transferencias bancarias
Conversión de monedas en disputas y reembolsos
Productos utilizados
Payments