You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django集成Razorpay:支付成功后自定义跳转URL配置方法

修改Django中Razorpay支付成功后的跳转URL

我来帮你搞定这个问题!在Django里调整Razorpay支付成功后的跳转目标,主要看你采用的集成方式,下面分两种最常见的场景说明:

场景1:前端用Razorpay JS SDK调起支付

如果你的前端是直接通过Razorpay的JavaScript弹窗发起支付,那跳转逻辑完全在前端的handler函数里控制。找到你初始化Razorpay的代码块,修改handler里的跳转地址就行:

var options = {
  "key": "YOUR_KEY_ID",
  "amount": "50000", // 注意:金额是最小货币单位(比如印度卢比的派萨)
  "currency": "INR",
  "name": "你的店铺名称",
  "description": "测试交易",
  "order_id": "order_xxxxxx", // 后端生成的订单ID
  "handler": function (response){
    // 把原来的"/purchase"换成你的自定义URL
    window.location.href = "/payment-success"; 
    // 如果是外部域名,直接写完整路径:window.location.href = "https://your-domain.com/success"
  },
  "prefill": {
    "name": "测试用户",
    "email": "test@example.com",
    "contact": "1234567890"
  },
  "theme": {
    "color": "#3399cc"
  }
};
var rzp1 = new Razorpay(options);
rzp1.open();

重点就是修改handler函数里的window.location.href值,换成你想要的目标路径。

场景2:后端接收Webhook回调后控制跳转

如果你的项目是通过后端接收Razorpay的支付成功回调(Webhook),然后在回调视图里做重定向,那只需要修改视图中的redirect参数:

from django.shortcuts import redirect
from django.http import HttpResponseBadRequest
from razorpay import Client

def razorpay_webhook(request):
    # 第一步:验证Razorpay的回调签名(必须做,防止伪造请求)
    client = Client(auth=("YOUR_KEY_ID", "YOUR_KEY_SECRET"))
    webhook_secret = "YOUR_WEBHOOK_SECRET"
    signature = request.headers.get('X-Razorpay-Signature')
    
    try:
        client.utility.verify_webhook_signature(
            request.body,
            signature,
            webhook_secret
        )
    except Exception as e:
        return HttpResponseBadRequest()
    
    # 第二步:处理支付成功后的业务逻辑(比如更新订单状态、生成凭证)
    payment_id = request.POST.get('payment_id')
    order_id = request.POST.get('order_id')
    # ... 这里写你的业务代码 ...
    
    # 第三步:修改重定向目标为自定义URL
    # 原来的:return redirect('/purchase')
    return redirect('/your-custom-success-page')

要是需要跳转到外部域名,直接传递完整URL即可,比如return redirect('https://your-external-domain.com/payment-completed')。

额外提示

如果你用了第三方Django Razorpay集成库(比如django-razorpay),通常可以在settings.py里直接配置成功跳转URL:

RAZORPAY_SUCCESS_URL = '/your-custom-success-page'

具体可以参考你所用库的文档,但核心都是找到配置跳转地址的地方修改就行。另外要确保你的自定义URL对应的Django视图已经配置好路由,并且有权限访问哦。

内容的提问来源于stack exchange,提问作者user7104029

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:35:37