npx @insforge/cli secrets get ANON_KEY, or in the dashboard: click Install and open API Keys.
概述
TypeScript SDK 为生成的应用前端公开 Razorpay 运行时助手: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(...)
checkoutOptions。浏览器加载 Razorpay Checkout 并使用这些选项打开它。
有关提供商设置、手动 webhook、数据库表和履行模式,请参见 Razorpay 支付。
SDK 设置
加载 Razorpay Checkout
一次性订单
首先创建一个应用拥有的待处理订单。然后通过 InsForge 创建 Razorpay 订单: Razorpay 订单可以是仅金额的,但为一次性可售产品创建 Razorpay 商品是一个好做法,因为同步的商品使目录在 InsForge 和 Razorpay 中可见。将订单视为付款尝试。notes.order_id,请在创建订单时传递 notes: { order_id: ... }。
打开 Razorpay Checkout 并验证返回的签名:
订阅
首先创建或同步一个 Razorpay 计划。然后通过 InsForge 创建订阅:notes。
使用返回的订阅 ID 打开 Razorpay Checkout:
管理订阅
Razorpay 不提供 Stripe 计费门户的等价物。使用后端路由进行订阅管理:payments.razorpay_subscriptions 上的 INSERT 策略。取消、暂停和恢复检查同一表上的 UPDATE 策略。PostgreSQL 还将 SELECT 策略应用于 INSERT/UPDATE ... RETURNING 返回的行,因此当策略探测需要返回行时,为同一计费主体添加匹配的 SELECT 可见性。在为共享主体公开这些控件之前,添加应用特定的 RLS 或服务器端成员资格检查。
履行
不要仅从 Checkout 处理程序标记订单已付款、授予积分或激活订阅。使用payments.webhook_events 中已验证的 Razorpay webhook 事件。不要将履行触发器附加到提供商镜像表,如 payments.razorpay_subscriptions。
创建带有 RLS 的应用拥有的履行表,然后从 webhook 触发器更新它们。有关触发器示例,请参见 Razorpay 支付。
生产/测试环境
在开发时将'test' 作为第一个 SDK 参数传递。仅在开发者明确批准生产 Razorpay 更改并配置了生产商品、计划和 webhook 后才切换到 'live'。