PayUBiz哈希集成失败-iOS?

时间:2017-11-13 12:58:43

标签: ios swift payumoney payu

我正在从服务器计算哈希并将其传递给payUbiz哈希对象。当哈希值传递给payUbiz的哈希对象时,它将optional值绑定为Optional(*hashValue*)。我试图将可选字符串转换为字符串,但它没有工作。它会出现Invalid Parameter错误。 以下是来自服务器的哈希值响应:

{
    errorMessage = "Success.";
    lastSyncDateTime = "<null>";
    result = {
              furl = "http://192.168.3.2:93/PayU/AppointmentResponse";
              hash = 4875a6096814ee1fbe19110582ea0a1564f81880ae66539b94384d3d332106855a00132332919724f085d02d64cffb6d47ff98f3ac4eb7d5e2bb31b4022e3f06;
              merchantKey = gtKFFx;
              mobileSDKHASH = 110f85b862578214e5c38637762a6fce9c34bd5e2d78bc34a486f0ee2e3e5d0fada221795de4b67952ec2cff6b4d0fe8877506e7a5480bbdbfdf9045521d8523;
              payURequestArea = 1;
              profileID = 7;
              surl = "http://192.168.3.2:93/PayU/AppointmentResponse";
              txnID = 62604613a06163c02ddd;
              userID = 18;
              vasMobileSDKHASH = 7da0f4fef5bab0e5034f37f9503bdcbede00cc2cd0cf6cbb4e43baa9d57f05680305885199e2b0d38e8cf12895fd06f4d3dd3fb422535feeb555adc58e2cf3cc;
             };
    statusCode = 200;
}

这是hashvalue

打印的payUbiz
paymentHash: Optional("4875a6096814ee1fbe19110582ea0a1564f81880ae66539b94384d3d332106855a00132332919724f085d02d64cffb6d47ff98f3ac4eb7d5e2bb31b4022e3f06")

vasForMobileSDKHash: Optional("7da0f4fef5bab0e5034f37f9503bdcbede00cc2cd0cf6cbb4e43baa9d57f05680305885199e2b0d38e8cf12895fd06f4d3dd3fb422535feeb555adc58e2cf3cc")

paymentRelatedDetailsHash: Optional("110f85b862578214e5c38637762a6fce9c34bd5e2d78bc34a486f0ee2e3e5d0fada221795de4b67952ec2cff6b4d0fe8877506e7a5480bbdbfdf9045521d8523")

请在此

上提供解决方案

1 个答案:

答案 0 :(得分:2)

我一个月前遇到过同样的问题。我认为Optional值不是问题的原因。响应本身表示&#34;无效参数&#34; 表示有一些无效参数传递给付款网关。

请检查是否提供以下参数:

    paymentParam.key = *Your key*;

    paymentParam.transactionID = *Transaction ID*
    paymentParam.amount = *Amount*
    paymentParam.productInfo = *Product Info*;
    paymentParam.surl = *Success URL*;
    paymentParam.furl = *Failure URL*;
    paymentParam.firstName = "";
    paymentParam.email = "";
    paymentParam.udf1 = "";
    paymentParam.udf2 = "";
    paymentParam.udf3 = "";
    paymentParam.udf4 = "";
    paymentParam.udf5 = "";        
    paymentParam.hashes = hashes;  //**Important**
    paymentParam.userCredentials = "default";  **//This was the issue in my case, i have accidentally deleted this parameter**
    // ENVIRONMENT_TEST for test environment:
    paymentParam.environment = ENVIRONMENT_TEST;        
    // Set this property if you want to give offer:
    paymentParam.offerKey = "";
  

请检查 paymentParam.userCredentials =&#34;默认&#34; 参数,   因为在添加此参数后我已经解决了我的问题。

希望这会对你有所帮助。