Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net MIGS VPC Integration E5000:无法基于商户';s使用两个商户中的任意一个进行请求';秘密_Asp.net_Api_Payment Gateway_Mastercard - Fatal编程技术网

Asp.net MIGS VPC Integration E5000:无法基于商户';s使用两个商户中的任意一个进行请求';秘密

Asp.net MIGS VPC Integration E5000:无法基于商户';s使用两个商户中的任意一个进行请求';秘密,asp.net,api,payment-gateway,mastercard,Asp.net,Api,Payment Gateway,Mastercard,我正在使用Migs虚拟支付客户端集成,并使用第二方(API方法) 错误:E5000:无法使用两个商户的机密之一,根据商户的请求形成匹配的安全哈希 参考指南中规定使用HMac Sha256生成请求中发送的SecureHash参数,MIGS将相应地解码该请求 问题: a)我想知道我创建的请求是否正确(即所有传递的参数顺序正确) b)如果在创建SecureHash的请求和最终请求中缺少一些要发送的参数,请告诉我 c)还要检查用于生成安全哈希的函数是否正确 如果我做错了,请告诉我 以下是相关细节 1)

我正在使用Migs虚拟支付客户端集成,并使用第二方(API方法)

错误:E5000:无法使用两个商户的机密之一,根据商户的请求形成匹配的安全哈希

参考指南中规定使用HMac Sha256生成请求中发送的SecureHash参数,MIGS将相应地解码该请求

问题:

a)我想知道我创建的请求是否正确(即所有传递的参数顺序正确)

b)如果在创建SecureHash的请求和最终请求中缺少一些要发送的参数,请告诉我

c)还要检查用于生成安全哈希的函数是否正确

如果我做错了,请告诉我

以下是相关细节

1) 请求生成SecureHash:“vpc_访问代码=XXXXXXXX&vpc_金额=100&vpc_CardExp=1810&vpc_CardNum=5313581000123430&vpc_命令=pay&vpc_MerchTxnRef=TC_2014712466141&vpc_商户=testmxxxxxxxxxx&vpc_订单信息=TC_2014712466141&vpc_版本=1”

2) DemoSecureHashSecret=“CD14026NOT5E91GG5D1MOM497240CDE”

3)从上述请求和SecureHashSecret生成的安全哈希

“CCD0113315403E375791E99AFA3F8906EE47C0ED6818464368420048DC541E”

4)测试URL

5)在上述URL上发送的最终请求

“vpc_AccessCode=XXXXXXXX&vpc_Amount=100&vpc_CardExp=1310&vpc_CardNum=5313581000123430&vpc_Command=pay&vpc_MerchTxnRef=TC_2014712466141&vpc_Merchant=TestMXXXXXXXXXXXXXXX&vpc_OrderInfo=TC_2014712466141&vpc_Version=1&vpc_SecureHash=CCD0113;_SecureHash=CCD01130375791;&vpc_SecureHash=CCD011373906;\E375791;\EEC0686818436843684200485;&vpcþĂ\

6)我使用以下代码发送请求并获得响应

System.Net.WebClient-WebClient=新系统.Net.WebClient()

7)用于生成安全哈希的函数

公共静态字符串ToHMACSHA256(字符串输入,字符串键)

私有静态字符串ByteToString(字节[]buff)

{
字符串sbinary=“”;
for(int i=0;i
请尽快给我上述错误的解决方案。提前谢谢

谢谢和问候


Sunny Pathai

拒绝[取消选中]帐户中的“强制安全哈希”设置以绕过哈希。并使用最新的测试卡。旧的测试卡不工作

我在
PHP
中遇到了同样的问题,但我成功地纠正了它。

该错误似乎是由于对我的数据进行哈希运算时出错造成的。
=>见

为了纠正这个问题,我使用以下类
(您也必须导入此文件才能将其保存到库中)


您好,您解决问题了吗?没有,仍然存在问题拒绝[取消选中]帐户中的“强制安全哈希”设置以绕过哈希。并使用最新的测试卡。旧的测试卡不起作用我遇到了同样的问题,你解决了问题吗?我正在尝试使用python,但没有任何文档可用于将md5更改为SHA256。这可能会带来安全风险,因为检查安全哈希的目的是验证“数字签名”。
        webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");

        byte[] response = webClient.UploadData(hfVirtualPaymentClientURL.Value.Trim(), "POST", Encoding.ASCII.GetBytes(strRequest));



        string responseData = System.Text.Encoding.ASCII.GetString(response, 0, response.Length);
{

    ASCIIEncoding encoding = new ASCIIEncoding();

    byte[] keyByte = encoding.GetBytes(key);

    byte[] inputBytes = encoding.GetBytes(input);

    HMACSHA256 hmacsha256 = new HMACSHA256(keyByte);

    byte[] hashmessage;

    hashmessage = hmacsha256.ComputeHash(inputBytes); 

    return ByteToString(hashmessage);

}
{

    string sbinary = "";

    for (int i = 0; i < buff.Length; i++)
      { 
          sbinary += buff[i].ToString("X2"); // hex format
      }

    return (sbinary);

}
$conn = new VPCPaymentConnection();
$secureSecret = '';
// Set the Secure Hash Secret used by the VPC connection object
$conn->setSecureSecret($secureSecret);
// Instanciate your VPC post data
$paymentdata = array(
    "vpc_AccessCode" => '',
    "vpc_Amount" => '',
    "vpc_Command" => '',
    "vpc_Locale" => '',
    "vpc_MerchTxnRef" => '',
    "vpc_Merchant" => '',
    "vpc_OrderInfo" =>'',
    "vpc_ReturnURL" => '',
    "vpc_Version" => ''
);
// Add VPC post data to the Digital Order
foreach ($paymentdata as $key => $value) {
    $conn->addDigitalOrderField($key, $value);
}
// Obtain a one-way hash of the Digital Order data and add this to the Digital Order
$secureHash = $conn->hashAllFields();
$conn->addDigitalOrderField("vpc_SecureHash", $secureHash);
$conn->addDigitalOrderField("vpc_SecureHashType", "SHA256");
// Obtain the redirection URL and redirect the web browser
$link_to_mastercard = $conn->getDigitalOrder('https://migs.mastercard.com.au/vpcpay');