Django中的Razorpay集成
支付是在线生态系统的一个组成部分,无论是在电子商务商店处理订单还是向某人进行简单的捐赠。将支付网关集成到你的网站中可能是一个繁琐的过程。让我们来看看如何将Razorpay整合到Django网站中。
第1步:启动Django项目
确保你已经完成了django的安装。创建一个名为dj_razorpay的新项目,然后启动一个名为payment的新应用。在settings.py文件中的installed_apps列表中加入 “payment”。同时,应用migrations.
第2步:获取Razorpay钥匙
首先,在Razorpay的网站上创建一个账户,你只需用你的电子邮件和密码注册,并添加一些基本信息,如你的手机号码。
在设置屏幕内,点击创建一个新的密钥选项,你的密钥将被生成。你将得到密钥ID和密钥秘密。目前,我们的支付将处于 “测试模式”,即没有真正的交易会发生,支付选项也是有限的。要接受真正的钱和解锁更多的支付选项,你需要完成你的KYC并提供你的银行信息。无论哪种模式,整合过程都是一样的。
注意:你将只被显示一次密钥秘密,所以要立即把它复制到某个地方。
现在在settings.py文件中加入Key Id和_Key Secret。
在我们继续前进之前,让我们安装razorpay的python包。
第3步:Views.py
1.这是程序的主要步骤。首先,我们需要了解Razorpay的支付方式。
2.从我们的Django服务器创建一个Razor订单。
3.将订单标识和其他选项传递给前台。
4.用户点击付款按钮,用其中一种付款方式付款。
5.Razorpay处理支付成功和失败。
6.失败时,Razorpay为重试支付提供便利。
7.一旦成功,Razorpay会向我们服务器上的一个回调URL发出一个帖子请求。
8.验证付款签名,以确认付款是真实的,没有被篡改。
9.一旦通过验证,捕捉付款并呈现成功页面。
更多细节见代码注释。
注: Razorpay中的金额是以货币为单位的,即500卢比会变成50000便士。
注意:有必要捕获付款,否则将自动退还给付款人。
现在将上述视图映射到urls.py.中的urls。
第4步:前台
我们需要传递Razorpay订单ID和上一步中提到的其他选项。首先加载Razorpay的javascript代码,渲染支付窗口,并用从后台收到的选项初始化它。给付款按钮添加一个事件监听器,这样一旦点击,付款窗口就会打开。
在这里,我们在主页上渲染了支付按钮本身。我们还需要另外两个页面来显示付款成功和失败。
第5步:测试
现在,让我们启动服务器,并检查是否一切工作正常!
我们成功收到了付款!!您可以在Razorpay的仪表板上查看这些付款。