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
Ingresos
Plataformas y marketplaces
Gestión del dinero
Recursos para desarrolladores
Resumen
Acerca de Stripe Payments
Actualiza tu integración
Análisis de pagos
Pagos por Internet
ResumenEncuentra tu caso de usoManaged Payments
Utiliza Payment Links
Crear una página del proceso de compra
Desarrolla una integración avanzada
Desarrolla una integración en la aplicación
Métodos de pago
Añadir métodos de pago
Gestiona los métodos de pago
Proceso de compra más rápido con Link
Interfaces de pago
Payment Links
Checkout
Elements para la web
Elements en la aplicación
Escenarios de pago
Administrar múltiples divisas
Flujos de pagos personalizados
Capacidad adquirente flexible
Orquestación
Pagos en persona
Terminal
    Resumen
    Acepta pagos en persona
    Diseño de la integración
    Selecciona tu lector
    Diseña una integración
    Inicio rápido
    Aplicaciones de ejemplo
    Pruebas
    Configuración de Terminal
    Configura tu integración
    Conectarse a un lector
    Aceptar un pago
    Cobrar pagos con tarjeta
    Otros métodos de pago
    Aceptar pagos sin conexión
    Pagos de pedidos telefónicos o pedidos por correo
    Consideraciones regionales
    Durante el proceso de compra
    Cobrar propinas
    Recopilar y guardar datos de pago para su uso en el futuro
    Autorizaciones flexibles
    Después del proceso de compra
    Reembolsar transacciones
    Solicitar recibos
    Personalizar Checkout
    Mostrar carrito
    Recopilar entradas en pantalla
    Recopilar datos deslizados
    Recopilar datos pulsados para los instrumentos de NFC
    Aplicaciones en dispositivos
    Gestionar lectores
    Pedir, devolver o sustituir lectores
    Registrar lectores
    Gestionar ubicaciones y zonas
    Configurar los lectores
    Seguimiento de los lectores
    Cifrado
    Referencias
    Referencias de la API
    Lectores móviles
    Lectores inteligentes
    Guía de migración de SDK
    Lista de verificación de la implementación
    Fichas de producto del lector de Stripe Terminal
Más allá de los pagos
Constituye tu empresa
Criptomonedas
Financial Connections
Climate
Comprender el fraude
Protección antifraude de Radar
Gestiona disputas
Verificar identidades
InicioPagosTerminal

Refund transactions

Cancel or refund Stripe Terminal payments.

Stripe Terminal supports both automatic and manual capture.

When the SDK returns a confirmed PaymentIntent to your app, the payment is authorized but not captured. You can cancel payments that are authorized and not captured. If the PaymentIntent has already been captured, you must refund the underlying charge created by the PaymentIntent, using the refunds API or Dashboard.

We recommend reconciling payments on your backend after a day’s activity to prevent unintended authorizations and uncollected funds.

Availability

Canceling payments is available on Visa, Mastercard, American Express, Discover, and girocard. For single-message payment methods like Interac and eftpos, PaymentIntents are automatically captured. In lieu of canceling PaymentIntents, make sure your application can allow initiating a refund at the end of the checkout flow.

Online refunds are available on all card networks except for Interac.

In-person refunds are only available on Interac.

Cancel payments Client-sideServer-side

SDK Reference

  • cancelPaymentIntent (iOS)
  • cancelPaymentIntent (Android)
  • cancelPaymentIntent (React Native)
  • cancelPaymentIntent (Java)

You can cancel a card_present PaymentIntent at any time before it has been captured. Canceling a PaymentIntent releases all uncaptured funds, and a canceled PaymentIntent can no longer be used to perform charges.

Use this when, for example, your customer decides to use a different payment method or pay with cash after the payment has been processed. In your application’s UI, consider allowing the user to cancel after they confirm the payment, and before you finalize it and notify your backend to capture.

Client-side

Cancel a PaymentIntent from your client using the iOS, Android, or React Native SDK:

Nota

Client-side PaymentIntent cancellation is possible with the iOS, Android, and React Native SDKs. If you’re using a server-driven integration, cancel the PaymentIntent server-side.

Server-side

API Reference

  • Cancel a PaymentIntent

The JavaScript SDK and server-driven integration require you to cancel the PaymentIntent on your server. For the other client SDKs, you can cancel the PaymentIntent on your server if the information required to start a payment isn’t readily available in your app.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl -X POST https://api.stripe.com/v1/payment_intents/pi_ANipwO3zNfjeWODtRPIg/cancel \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"

Perform refunds Server-side

When you use a PaymentIntent to collect payment from a customer, Stripe creates a charge behind the scenes. To refund the customer’s payment after the PaymentIntent has succeeded, create a refund by passing in the PaymentIntent ID or the charge ID. You can also optionally refund part of a payment by specifying an amount.

You can perform refunds with the API or through the Dashboard. For Interac transactions in Canada, you can provide in-person refunds on the BBPOS WisePOS E reader, Stripe Reader S700, or Tay to Pay on iPhone.

Online refunds don’t require a cardholder to present their card again at the point of sale. The following example shows how to create a full refund by passing in the PaymentIntent ID.

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/refunds \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d payment_intent=pi_Aabcxyz01aDfoo

To refund part of a PaymentIntent, provide an amount parameter, as an integer in cents (or the charge currency’s smallest currency unit):

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node
Go
.NET
No results
curl https://api.stripe.com/v1/refunds \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d payment_intent=pi_Aabcxyz01aDfoo \ -d amount=1000

Véase también

  • Cart display
  • Receipts
¿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