Laravel项目Razorpay支付网关移动端集成异常问题求助
Laravel集成Razorpay支付网关移动端异常问题解决
问题描述
已在Laravel项目中集成Razorpay支付网关,桌面端运行正常,但移动端存在以下异常:
- 移动端支付时,输入信用卡信息后不会像桌面端那样弹出窗口,而是被重定向到
https://api.razorpay.com/v1/payments/create/checkout页面完成OTP验证支付; - 支付完成返回站点后,会话被清除,用户需要重新登录;
- 支付后的重定向原本为POST请求,重新登录后变为GET请求。
支付处理的核心代码如下:
public function pay(Request $request) { //Input items of form $input = $request->all(); //get API Configuration $api = new Api(ENV('RZP_KEY_ID'), ENV('RZP_KEY_SECRET')); //Fetch payment information by razorpay_payment_id $payment = $api->payment->fetch($input['razorpay_payment_id']); if(count($input) && !empty($input['razorpay_payment_id'])) { try { $paymentDetails = $api->payment->fetch($input['razorpay_payment_id'])->capture(array('amount'=>$payment['amount'])); } catch (\Exception $e) { //delete params from session if(Session::has('amount')){ Session::pull('amount'); Session::pull('converted_amount'); Session::pull('currency'); Session::pull('charge'); } return redirect(route('user.deposit.index'))->with('fail', 'Your Deposit request failed'); } //record payment //some codes for validating and recording payment removed } }
解决方法
将处理支付回调的对应路由从web.php移动到api.php即可解决上述所有问题。
内容的提问来源于stack exchange,提问作者DingRealT
相关产品推荐
相关产品推荐

