如何解决如何解决这个错误“原因”:“INVALID_REQUEST”,“解释”:“无效请求”在万事达卡支付网关mpgs
我正在尝试将我的网站与万事达卡网关支付 (mpgs) 集成, 我跟进了文档,我选择了托管结帐方法,请参阅 here
中的文档我通过此代码请求结帐会话:
$orderid = $_POST['order_id'];
$merchant = $_POST['merchant']; //
$apiPassword = $_POST['api_password'];//
$amount=$_POST['amount'];
$currency=$_POST['currency'];
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"https://test-gateway.mastercard.com/api/nvp/version/58");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POST,CURLOPT_POSTFIELDS,"apiOperation=CREATE_CHECKOUT_SESSION&apiPassword=$apiPassword&apiUsername=merchant.$merchant&merchant=$merchant&interaction.operation=AUTHORIZE&order.id=$orderid&order.amount=$amount&order.currency=$currency");
$arr = array('sessionid' => $sessionid);
echo json_encode($arr);
但是当执行此结帐代码时,JavaScript 控制台中会出现这样的错误: {"cause":"INVALID_REQUEST","explanation":"无效请求","supportCode":"PVIRB4OXUZI6G","result":"ERROR"}
这是代码:
Checkout.configure({
merchant: $("#merchant").val(),order:{
amount: function(){
return $("#amount").val();
},currency: $("#currency").val(),description: $("#order_description").val(),id: $("#order_id").val()
},session: {
id: sessionid
},interaction: {
merchant: {
name: $("#merchant").val(),address: {
line1: $("#address1").val(),line2: $("#address2").val()
}
}
}
});
Checkout.showLightBox();
- 我确定这两个请求中的金额、货币和订单 ID 是相同的。
- 我也在 stackoverflow 中查看了这个问题 (here),但没有找到解决方案。
- 我确定 apiPassword 是正确的,因为 sessionid 从第一个请求成功返回
并开始我正在调用的付款流程: Checkout.showLightBox();
应该会出现弹出窗口,但不幸的是它没有出现。
有什么帮助吗?
解决方法
我解决了这个问题,问题是由于这个链接:
https://test-gateway.mastercard.com/api/nvp/version/58"
YOH 应要求您的银行为您提供商家管理门户和链接。
就我而言,链接是:
https://test-bop.mtf.gateway.mastercard.com/api/nvp/version/58"
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。