PHP中的Paytm付款网关

时间:2020-01-21 07:06:20

标签: php

当我集成Paytm付款网关时,我下载了Paytmkit。当我复制表单代码(TxnTest.php)并将其粘贴到我的编码页上时,表单代码可以正常工作,但是如果我使用一些输入字段,然后将该值过帐到(pgRedirect.php)并创建了Array,则错误是显示:

校验和不匹配错误。

<form>标签下

<input type="text" title1="PRODUCT" name="PRODUCT" value="<?php echo $_POST['hidden_product'];?>">pro.PNG 3

然后我将值发布到(pgRedirect.php)-> $PRODUCT = $_POST['PRODUCT'];之后,我将数组创建到(pgRedirect.php)-> $paramList["PRODUCT"] = $PRODUCT;

1 个答案:

答案 0 :(得分:0)

几乎所有支付提供商都需要校验和,这是在他们提供的密钥的帮助下创建的。

此校验和通常只是所有字段及其值的连接字符串,然后通过校验和哈希器进行提取。

在 paytm 文档中,您可以在这里看到 php 实现的示例(单击 php 选项卡)

https://developer.paytm.com/docs/checksum/#ValidateChecksum

<块引用>

在表单发布中,使用您帐户的商家密钥和所有 API 请求参数创建校验和哈希。

* import checksum generation utility */
require_once("./PaytmChecksum.php");

/* initialize an array */
$paytmParams = array();

/* add parameters in Array */
$paytmParams["MID"] = "YOUR_MID_HERE";
$paytmParams["ORDERID"] = "YOUR_ORDERID_HERE";

/**
* Generate checksum by parameters we have
* Find your Merchant Key in your Paytm Dashboard at https://dashboard.paytm.com/next/apikeys 
*/
$paytmChecksum = PaytmChecksum::generateSignature($paytmParams, 'YOUR_MERCHANT_KEY');
echo sprintf("generateSignature Returns: %s\n", $paytmChecksum);

简而言之,请确保将所有 $paytmParams 放入正确的数组中以进行校验和计算。如果您提交了额外的字段,则需要在计算校验和之前将它们添加到数组中。