Saltar al contenido principal
Find the anon key with npx @insforge/cli secrets get ANON_KEY, or in the dashboard: click Install and open API Keys.

Descripción general

El SDK de TypeScript expone asistentes de tiempo de ejecución de Razorpay para frontends de aplicaciones generadas:
  • insforge.payments.razorpay.createOrder(...)
  • insforge.payments.razorpay.verifyOrder(...)
  • insforge.payments.razorpay.createSubscription(...)
  • insforge.payments.razorpay.verifySubscription(...)
  • insforge.payments.razorpay.cancelSubscription(...)
  • insforge.payments.razorpay.pauseSubscription(...)
  • insforge.payments.razorpay.resumeSubscription(...)
Razorpay no devuelve una URL de Checkout alojada. El backend crea una orden o suscripción de Razorpay y devuelve checkoutOptions. El navegador carga Razorpay Checkout y lo abre con esas opciones.
Consulta Pagos con Razorpay para la configuración del proveedor, webhooks manuales, tablas de base de datos y patrones de cumplimiento.

Configuración del SDK

El SDK llama a las rutas de tiempo de ejecución de Razorpay con el token de usuario actual de InsForge. No llames a estas rutas con claves secretas del proveedor.

Cargar Razorpay Checkout

Orden única

Crea primero una orden pendiente propiedad de la aplicación. Luego crea la orden de Razorpay a través de InsForge: Las órdenes de Razorpay pueden ser solo de importe, pero crear artículos de Razorpay para productos vendibles de una sola vez es una buena práctica porque los artículos sincronizados hacen que el catálogo sea visible en InsForge y Razorpay. Trata las órdenes como intentos de pago.
Si tu disparador de webhook lee notes.order_id, pasa notes: { order_id: ... } al crear la orden. Abre Razorpay Checkout y verifica la firma devuelta:
La verificación de firma protege la devolución de llamada inmediata del navegador. El cumplimiento duradero todavía debe provenir de eventos de webhook de Razorpay verificados.

Suscripción

Crea o sincroniza primero un plan de Razorpay. Luego crea la suscripción a través de InsForge:
Pasa las notes de suscripción de Razorpay cuando los disparadores de webhook necesiten identificadores de la aplicación más adelante. Abre Razorpay Checkout con el ID de suscripción devuelto:

Gestionar suscripciones

Razorpay no proporciona un equivalente al Portal de Facturación de Stripe. Usa rutas de backend para la gestión de suscripciones:
La creación de suscripciones verifica las políticas INSERT en payments.razorpay_subscriptions. Cancelar, pausar y reanudar verifican las políticas UPDATE en la misma tabla. PostgreSQL también aplica políticas SELECT a las filas devueltas por INSERT/UPDATE ... RETURNING, así que agrega una visibilidad SELECT coincidente para el mismo sujeto de facturación cuando una sonda de política necesite devolver la fila. Agrega RLS específico de la aplicación o verificaciones de membresía del lado del servidor antes de exponer estos controles para sujetos compartidos.

Cumplimiento

No marques órdenes como pagadas, otorgues créditos ni actives suscripciones solo desde el manejador de Checkout. Usa eventos de webhook de Razorpay verificados en payments.webhook_events. No adjuntes disparadores de cumplimiento a tablas espejo del proveedor como payments.razorpay_subscriptions. Crea tablas de cumplimiento propiedad de la aplicación con RLS, luego actualízalas desde disparadores de webhook. Consulta Pagos con Razorpay para un ejemplo de disparador.

Entorno de producción/prueba

Pasa 'test' como el primer argumento del SDK durante el desarrollo. Solo cambia a 'live' después de que el desarrollador apruebe explícitamente los cambios de producción de Razorpay y estén configurados los artículos, planes y webhooks en producción.
Nunca pongas la clave secreta de Razorpay ni el secreto del webhook en el código del frontend. El frontend solo recibe el ID de clave pública de Razorpay como checkoutOptions.key.