Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.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
payU支付网关android集成中缺少哈希参数_Android_Hash_Payment Gateway_Salt_Payu - Fatal编程技术网

payU支付网关android集成中缺少哈希参数

payU支付网关android集成中缺少哈希参数,android,hash,payment-gateway,salt,payu,Android,Hash,Payment Gateway,Salt,Payu,我需要在我的android应用程序中集成payU支付网关。但当应用程序试图获取散列键时,它会给我错误的提示 缺少哈希参数 在演示应用程序中,有两个选项可以生成哈希 if(null == salt) generateHashFromServer(mPaymentParams); else generateHashFromSDK(mPaymentParams, intent.getStringExtra(PayuConstants.SALT)); 在演示

我需要在我的android应用程序中集成payU支付网关。但当应用程序试图获取散列键时,它会给我错误的提示

缺少哈希参数

在演示应用程序中,有两个选项可以生成哈希

if(null == salt) 
        generateHashFromServer(mPaymentParams);
    else 
        generateHashFromSDK(mPaymentParams, intent.getStringExtra(PayuConstants.SALT));
在演示应用程序中,有一条注释说应该生成散列密钥 在服务器端

所以我把盐当作零

但现在的问题是,我必须使用哪个服务器url来生成哈希? 演示应用程序正在使用此url
PayU money不提供任何类型的API,因此,人们改用webview。PayU money不提供任何类型的API,因此,人们改用webview。

我通过少量搜索获得了解决方案

只需使用自己的服务器生成所有必需的哈希。 在获得所有必需的散列之后,我们需要使用此散列生成Payuhash Obj 然后像这样通过这个Obj

Intent intent= new Intent(this, PayUBaseActivity.class);
intent.putExtra(PayuConstants.PAYU_CONFIG, payuConfig);
intent.putExtra(PayuConstants.PAYMENT_PARAMS, mPaymentParams);
intent.putExtra(PayuConstants.PAYU_HASHES, payuHashes);
intent.putExtra(PayuConstants.SALT, salt);

PayU SDK将负责rest

我通过少量搜索获得了解决方案

只需使用自己的服务器生成所有必需的哈希。 在获得所有必需的散列之后,我们需要使用此散列生成Payuhash Obj 然后像这样通过这个Obj

Intent intent= new Intent(this, PayUBaseActivity.class);
intent.putExtra(PayuConstants.PAYU_CONFIG, payuConfig);
intent.putExtra(PayuConstants.PAYMENT_PARAMS, mPaymentParams);
intent.putExtra(PayuConstants.PAYU_HASHES, payuHashes);
intent.putExtra(PayuConstants.SALT, salt);

PayU SDK将负责rest

您必须使用自己的服务器URL来生成哈希键。 在android应用程序中,您必须设置3个必需的哈希键,否则将出现错误“缺少必需的哈希键”

确保已将这3个键设置为Payuhash对象

  • setPaymentHash(response.getString(“payment_hash”)
  • setVasForMobileSdkHash(response.getString(“vas_for_mobile_sdk_hash”)
  • setPaymentRelatedDetailsForMobileSdkHash(response.getString(“与支付相关的详细信息”用于移动sdk哈希)) 以下三个哈希对于支付流是必需的,需要在商户服务器上生成: 1.支付哈希是必须从商户服务器端生成的哈希之一。 下面是生成付款散列的公式- sha512(关键字| txnid |金额|产品信息|名字|电子邮件| udf1 | udf2 | udf3 | udf4 | udf5 |盐)

  • vas_for_mobile_sdk_散列是商家服务器端必须生成的散列之一。 下面是生成vas_for_mobile_sdk_散列的公式-
  • sha512(键|命令|变量1 |盐)
    这里,var1将是“默认值”

  • 与支付相关的移动sdk的详细信息哈希是必须从商户服务器端生成的哈希之一。 下面是为移动sdk哈希生成支付相关详细信息的公式-
  • sha512(键|命令|变量1 |盐) 这里,var1将是用户凭据。如果您没有使用用户\ U凭据,请使用“默认”

    请参阅此处的示例sdk:

    有关服务器端代码,请参阅:
    您必须使用自己的服务器URL来生成哈希键。 在android应用程序中,您必须设置3个必需的哈希键,否则将出现错误“缺少必需的哈希键”

    确保已将这3个键设置为Payuhash对象

  • setPaymentHash(response.getString(“payment_hash”)
  • setVasForMobileSdkHash(response.getString(“vas_for_mobile_sdk_hash”)
  • setPaymentRelatedDetailsForMobileSdkHash(response.getString(“与支付相关的详细信息”用于移动sdk哈希)) 以下三个哈希对于支付流是必需的,需要在商户服务器上生成: 1.支付哈希是必须从商户服务器端生成的哈希之一。 下面是生成付款散列的公式- sha512(关键字| txnid |金额|产品信息|名字|电子邮件| udf1 | udf2 | udf3 | udf4 | udf5 |盐)

  • vas_for_mobile_sdk_散列是商家服务器端必须生成的散列之一。 下面是生成vas_for_mobile_sdk_散列的公式-
  • sha512(键|命令|变量1 |盐)
    这里,var1将是“默认值”

  • 与支付相关的移动sdk的详细信息哈希是必须从商户服务器端生成的哈希之一。 下面是为移动sdk哈希生成支付相关详细信息的公式-
  • sha512(键|命令|变量1 |盐) 这里,var1将是用户凭据。如果您没有使用用户\ U凭据,请使用“默认”

    请参阅此处的示例sdk:

    有关服务器端代码,请参阅:

    我希望它对其他人有用。我在下面的链接中找到了一个生成哈希的php脚本

    
    

    复制php代码并编辑key和salt。

    我希望它对其他人有用,我在下面的链接中找到了一个生成哈希的php脚本

    
    

    复制php代码并编辑key和salt。

    我如何生成此哈希?您可以提供php服务器代码吗?我如何生成此哈希?您可以提供php服务器代码吗。