India tiene una infraestructura de pago única dominada por UPI (más del 60% de las transacciones digitales) y tarjetas emitidas en India (Visa, Mastercard, Rupay, etc.). Dodo Payments admite todos estos métodos con total cumplimiento del RBI para mandatos de suscripción.Documentation Index
Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
Use this file to discover all available pages before exploring further.
Por qué importan los métodos de pago en India
UPI Dominance
UPI procesa 10B+ transacciones/mes. Muchos clientes indios no tienen tarjetas internacionales.
Low Transaction Costs
UPI tiene tarifas de transacción prácticamente nulas. Excelente para transacciones de alto volumen y bajo valor.
Subscription Support
A diferencia de la mayoría de los métodos de pago alternativos, UPI y todas las tarjetas emitidas en India (Visa, Mastercard, Rupay, etc.) admiten pagos recurrentes a través de mandatos del RBI.
Métodos Soportados
| Método | Tipo | Suscripciones | Monto Mínimo |
|---|---|---|---|
| UPI Collect | Código QR / VPA | Sí* | ₹1 |
| Rupay Credit | Tarjeta | Sí* | ₹1 |
| Rupay Debit | Tarjeta | Sí* | ₹1 |
Configuración
Tipos de Métodos API
| Tipo | Descripción |
|---|---|
upi_collect | UPI mediante código QR o entrada de VPA |
credit | Tarjetas de crédito, incluidas Rupay |
debit | Tarjetas de débito, incluidas Rupay |
Ejemplo: Pago Enfocado en India
Requisitos para UPI
Para que UPI aparezca en el checkout:- El país de facturación debe ser India (
IN) - La moneda debe ser INR
- Para comerciantes no indios: Adaptive Currency debe estar habilitado
Suscripciones con Mandatos de RBI
Las suscripciones de métodos de pago indios operan bajo las regulaciones del RBI (Banco de Reserva de India) con requisitos únicos.Cómo Funcionan los Mandatos de RBI
Tipos de Mandatos
| Monto de Suscripción | Tipo de Mandato | Límite |
|---|---|---|
| Por debajo del piso del mandato | Mandato a demanda | Piso del mandato (₹15,000 por defecto) |
| En o por encima del piso del mandato | Mandato de monto fijo | Monto exacto de suscripción |
max(mandate_floor, billing_amount). Así que el piso es efectivamente el techo de autorización para el cliente siempre que la facturación sea menor que el piso.
Importante para cambios de plan: Si una actualización resulta en un cargo que excede el límite del mandato existente, el cargo fallará y el cliente debe reautorizar.
Piso de Mandato Configurable
El piso de mandato para e-mandatos en INR es configurable a través del campomandate_min_amount_inr_paise (en INR paise — 1 INR = 100 paise). Puedes sobreescribir el valor por defecto del sistema de ₹15,000 en tres niveles:
| Nivel | Dónde configurar | Alcance |
|---|---|---|
| Por solicitud | mandate_min_amount_inr_paise en una sesión de pago, pago o suscripción | Una transacción |
| Comerciante | Configuración de negocio | Todas tus suscripciones en INR |
| Sistema | — | ₹15,000 por defecto |
| Campo | Tipo | Validación | Se aplica a |
|---|---|---|---|
mandate_min_amount_inr_paise | integer (INR paise) | >= 1 | Suscripciones de tarjetas indias en INR en conectores no-Airwallex |
Establecer un piso más alto te permite admitir cargos únicos más grandes más adelante (por ejemplo, actualizaciones de plan o excesos basados en el uso) sin obligar a los clientes a reautorizar. Establecer un piso más bajo acerca la autorización del cliente al monto real de facturación, pero limita el margen para futuros cargos variables.
El Retardo de Procesamiento de 48 Horas
Esta es la diferencia más importante respecto a los pagos con tarjetas internacionales:48-Hour Window
El cliente puede cancelar el mandato durante este período vía su aplicación bancaria.
Debit Completed (~48-51 hours)
Después de 48 horas (más hasta 3 horas adicionales por procesamiento bancario), los fondos son debitados.
Manejo de la Ventana de 48 Horas
Eventos Webhook para Suscripciones en India
| Evento | Cuándo | Acción |
|---|---|---|
subscription.active | Mandato autorizado | Registrar inicio de suscripción |
payment.succeeded | ~48h después de la fecha de cargo | Otorgar/continuar acceso |
payment.failed | Débito fallido | Notificar al cliente, pausar acceso |
subscription.on_hold | Pago fallido | Soliciar actualización del método de pago |
subscription.active | Reactivado después de pago | Restaurar acceso |
Pruebas
IDs de Prueba de UPI
| Estado | ID de UPI |
|---|---|
| Éxito | success@upi |
| Fallo | failure@upi |
Números de Prueba de Tarjetas Indias
| Marca | Escenario | Número de Tarjeta | Expiración | CVV |
|---|---|---|---|---|
| Visa | Éxito | 4576238912771450 | 06/32 | 123 |
| Visa | Rechazada | 4706131211212123 | 06/32 | 123 |
| Mastercard | Éxito | 5409162669381034 | 06/32 | 123 |
| Mastercard | Rechazada | 5105105105105100 | 06/32 | 123 |
Mejores Prácticas
Plan for the 48-hour delay
Plan for the 48-hour delay
Construye tu aplicación para manejar la brecha entre la iniciación del cargo y el pago real. Considera:
- Períodos de gracia para el acceso a suscripciones
- Comunicación clara a los clientes sobre el tiempo de procesamiento
- Cumplimiento basado en webhooks, no en fechas
Handle mandate cancellations
Handle mandate cancellations
Los clientes pueden cancelar mandatos a través de sus aplicaciones bancarias en cualquier momento. Monitorea los webhooks
subscription.on_hold y pide a los clientes que se resuscriban o actualicen los métodos de pago.Set appropriate mandate amounts
Set appropriate mandate amounts
Para tarifas variables (por ejemplo, basadas en uso), considera si un mandato a demanda de Rs 15,000 es suficiente. Si los cargos pueden exceder esto, los clientes necesitarán reautorizar.
Offer UPI prominently
Offer UPI prominently
Para clientes indios, UPI debería ser la opción de pago principal. Muchos usuarios lo prefieren sobre las tarjetas debido a su familiaridad y menor fricción.
Solución de Problemas
UPI not appearing at checkout
UPI not appearing at checkout
Verifica:
- ¿País de facturación configurado en
IN? - ¿Moneda configurada en
INR? - Si no es comerciante indio: ¿Moneda Adaptativa habilitada?
- ¿
upi_collectincluido enallowed_payment_method_types?
country: "IN" e billing_currency: "INR".Subscription charge failed after upgrade
Subscription charge failed after upgrade
Causa: El nuevo monto del cargo excede el límite del mandato existente (umbral de Rs 15,000).Solución: El cliente debe actualizar el método de pago para establecer un nuevo mandato con el límite correcto.
Subscription on hold but customer claims they didn't cancel
Subscription on hold but customer claims they didn't cancel
Causa: El cliente pudo haber cancelado el mandato durante el período de 48 horas, o su banco rechazó el débito.Solución: El cliente necesita reautorizar el mandato o actualizar su método de pago.
Payment deduction delayed beyond 48 hours
Payment deduction delayed beyond 48 hours
Causa: Los retrasos en la API del banco pueden extender el procesamiento en 2-3 horas adicionales.Solución: Esto es esperado. Construye tu sistema para manejar retrasos variables de hasta ~51 horas en total.
Mandate cancelled but subscription still active
Mandate cancelled but subscription still active
Causa: Caso límite en las regulaciones del RBI — la cancelación del mandato durante la ventana de procesamiento no cancela inmediatamente la suscripción.Solución: El próximo cargo fallará y la suscripción pasará a
on_hold. Monitorea los webhooks para payment.failed.Páginas Relacionadas
Payment Methods Overview
Ver todos los métodos de pago soportados.
Subscriptions
Documentación completa de suscripción incluyendo mandatos del RBI.
Webhooks
Manejo de webhooks para eventos de pago.
Testing Process
Todos los datos de prueba, incluyendo IDs de UPI y tarjetas indias.