Payumoney响应哈希不匹配

时间:2019-05-25 05:08:55

标签: php android payumoney

我正在尝试将payumoney与android和php集成为后端。但是交易完成后,响应哈希值与php服务器生成的哈希值不匹配。

Android代码

builder.setAmount(amount)                         
                .setTxnId(txn)                     
                .setPhone(mobile)                   
                .setProductName(product)                   
                .setFirstName(fname)                              
                .setEmail(email)              
                .setsUrl(surl)
                .setfUrl(furl)
                .setUdf1(udf1)
                .setUdf2("")
                .setUdf3("")
                .setUdf4("")
                .setUdf5("")
                .setUdf6("")
                .setUdf7("")
                .setUdf8("")
                .setUdf9("")
                .setUdf10("")
                .setIsDebug(true) 
                .setKey(Common.MERCHANT_KEY) 
                .setMerchantId(Common.MERCHANT_ID);

try {
    paymentParam = builder.build();
    // hash is generated in php server and return it to android app with txnId
    paymentParam.setMerchantHash(hash);
    PayUmoneyFlowManager.startPayUMoneyFlow(paymentParam, StartPaymentActivity.this, R.style.AppTheme_default, false);


} catch (Exception e) {
    Log.e(TAG, " errors "+e.toString());
} 

PHP代码生成事务哈希

$hash=hash('sha512',key.'|'.txnid.'|'.amount.'|'.pinfo.'|'.fname.'|'
        .email.'|'.udf1.'||||||||||'.salt);

用于生成响应哈希的PHP代码

$responseHashSeq = SALT.'|'.status.'||||||||||'.udf1.'|'.email.'|'.firstname.'|'.productinfo.'|'.amount.'|'.txnid.'|'.MERCHANT_KEY;

我还尝试了以下Payumoney文档中提到的代码来生成响应哈希

$responseHashSeq = SALT.'|'.status.'|'.udf1.'||||||'.email.'|'.firstname.'|'.productinfo.'|'.amount.'|'.txnid.'|'.MERCHANT_KEY;

但是他们都不起作用。

1 个答案:

答案 0 :(得分:0)

尝试使用您尝试生成的相同序列

$ responseHashSeq = MERCHANT_KEY。'|'.txnid。'|'amount'|'pinfo'|'fname'|'email'|'udf1'||||||||||||。'。salt;