我正在使用Magento 2 api创建订单。当使用COD时,它工作正常,但在Razorpay的情况下,它会出现错误:
Razorpay错误:RazorpayError:支付缺少Razorpay paymentId验证。。。
Magento 2 razorpay插件版本已使用-3.7.5
我也面临类似的问题,并在插件中找到了根本原因。分享我在Razorpay插件文件中所做的更改。
Magento 2 API我得到的问题
POST:'/guest carts/'$cart_id。'/订单;
解决方案需要传递additional_data参数。以下参数,我传递给API
'additional_data' => array(
"razorpay_payment_id"=> $paymethodDetails['razorpay_payment_id'],
"rzp_payment_id"=> $paymethodDetails['razorpay_payment_id'],
"razorpay_signature"=> $paymethodDetails['razorpay_signature'],
"rzp_signature"=> $paymethodDetails['razorpay_signature'],
"razorpay_order_id"=> $paymethodDetails['razorpay_order_id'],
"rzp_order_id"=> $paymethodDetails['razorpay_order_id'],
"rzp_order_amount"=> $paymethodDetails['rzp_order_amount']),
你会发现一些不同键的数据重复。
在这之后,我从插件文件中得到了以下错误
未定义的变量:/app/code/Razorpay/Magento/Model/PaymentMethod.php中的rzp_order_id,位于第371行
我在文件PaymentMethod.php的第371行中进行了以下更改
//Original
$rzp_order_id = $rzp_order_id;
//Updated
$rzp_order_id = $request['paymentMethod']['additional_data']['rzp_order_id']
帖子说我在375 线上收到了另一个错误
未定义的变量:第375行上/app/code/Razorpay/Magento/Model/PaymentMethod.php中的rzpOrderAmount
将其更改为
//Updated
$rzpOrderAmount = $request['paymentMethod']['additional_data']['rzp_order_amount'];
经过这些更改,我能够成功下订单