如何将 Paytm 与 Codeigniter 集成
How to integrate Paytm with Codeigniter
我想在我的网站的 codeigniter 中集成 paytm 支付网关,我搜索了很多,但我发现只在 PHP.I 中尝试过 php 库,但在验证校验和时它不是working.Can 有人建议任何图书馆集成 paytm。
我今天正在搜索相同的选项,最后不得不调整他们提供的库 here。
- 将他们的套件克隆到不同的文件夹
- 将文件夹 lib 的内容移动到 application/third_party/paytmlib
- 在移动路径中,根据我的站点设置config_paytmp.php值
- 从他们的套件路径中将此文件 TxnTest.php 移动到 views 文件夹并更改形式 post 标签以下
<form method="post" action="paytmpost">
添加了如下所示的控制器方法
function paytm()
{
$this->load->view('TxnTest');
}
function paytmpost()
{
header("Pragma: no-cache");
header("Cache-Control: no-cache");
header("Expires: 0");
// following files need to be included
require_once(APPPATH . "/third_party/paytmlib/config_paytm.php");
require_once(APPPATH . "/third_party/paytmlib/encdec_paytm.php");
$checkSum = "";
$paramList = array();
$ORDER_ID = $_POST["ORDER_ID"];
$CUST_ID = $_POST["CUST_ID"];
$INDUSTRY_TYPE_ID = $_POST["INDUSTRY_TYPE_ID"];
$CHANNEL_ID = $_POST["CHANNEL_ID"];
$TXN_AMOUNT = $_POST["TXN_AMOUNT"];
// Create an array having all required parameters for creating checksum.
$paramList["MID"] = PAYTM_MERCHANT_MID;
$paramList["ORDER_ID"] = $ORDER_ID;
$paramList["CUST_ID"] = $CUST_ID;
$paramList["INDUSTRY_TYPE_ID"] = $INDUSTRY_TYPE_ID;
$paramList["CHANNEL_ID"] = $CHANNEL_ID;
$paramList["TXN_AMOUNT"] = $TXN_AMOUNT;
$paramList["WEBSITE"] = PAYTM_MERCHANT_WEBSITE;
/*
$paramList["MSISDN"] = $MSISDN; //Mobile number of customer
$paramList["EMAIL"] = $EMAIL; //Email ID of customer
$paramList["VERIFIED_BY"] = "EMAIL"; //
$paramList["IS_USER_VERIFIED"] = "YES"; //
*/
//Here checksum string will return by getChecksumFromArray() function.
$checkSum = getChecksumFromArray($paramList,PAYTM_MERCHANT_KEY);
echo "<html>
<head>
<title>Merchant Check Out Page</title>
</head>
<body>
<center><h1>Please do not refresh this page...</h1></center>
<form method='post' action='".PAYTM_TXN_URL."' name='f1'>
<table border='1'>
<tbody>";
foreach($paramList as $name => $value) {
echo '<input type="hidden" name="' . $name .'" value="' . $value . '">';
}
echo "<input type='hidden' name='CHECKSUMHASH' value='". $checkSum . "'>
</tbody>
</table>
<script type='text/javascript'>
document.f1.submit();
</script>
</form>
</body>
</html>";
}
注意:paytmpost()
是从他们工具包中的 pgRedirect.php
修改而来的。 pgResponse.php
也可以调整为控制器功能以处理支付网关的输出。
我想在我的网站的 codeigniter 中集成 paytm 支付网关,我搜索了很多,但我发现只在 PHP.I 中尝试过 php 库,但在验证校验和时它不是working.Can 有人建议任何图书馆集成 paytm。
我今天正在搜索相同的选项,最后不得不调整他们提供的库 here。
- 将他们的套件克隆到不同的文件夹
- 将文件夹 lib 的内容移动到 application/third_party/paytmlib
- 在移动路径中,根据我的站点设置config_paytmp.php值
- 从他们的套件路径中将此文件 TxnTest.php 移动到 views 文件夹并更改形式 post 标签以下
<form method="post" action="paytmpost">
添加了如下所示的控制器方法
function paytm() { $this->load->view('TxnTest'); } function paytmpost() { header("Pragma: no-cache"); header("Cache-Control: no-cache"); header("Expires: 0"); // following files need to be included require_once(APPPATH . "/third_party/paytmlib/config_paytm.php"); require_once(APPPATH . "/third_party/paytmlib/encdec_paytm.php"); $checkSum = ""; $paramList = array(); $ORDER_ID = $_POST["ORDER_ID"]; $CUST_ID = $_POST["CUST_ID"]; $INDUSTRY_TYPE_ID = $_POST["INDUSTRY_TYPE_ID"]; $CHANNEL_ID = $_POST["CHANNEL_ID"]; $TXN_AMOUNT = $_POST["TXN_AMOUNT"]; // Create an array having all required parameters for creating checksum. $paramList["MID"] = PAYTM_MERCHANT_MID; $paramList["ORDER_ID"] = $ORDER_ID; $paramList["CUST_ID"] = $CUST_ID; $paramList["INDUSTRY_TYPE_ID"] = $INDUSTRY_TYPE_ID; $paramList["CHANNEL_ID"] = $CHANNEL_ID; $paramList["TXN_AMOUNT"] = $TXN_AMOUNT; $paramList["WEBSITE"] = PAYTM_MERCHANT_WEBSITE; /* $paramList["MSISDN"] = $MSISDN; //Mobile number of customer $paramList["EMAIL"] = $EMAIL; //Email ID of customer $paramList["VERIFIED_BY"] = "EMAIL"; // $paramList["IS_USER_VERIFIED"] = "YES"; // */ //Here checksum string will return by getChecksumFromArray() function. $checkSum = getChecksumFromArray($paramList,PAYTM_MERCHANT_KEY); echo "<html> <head> <title>Merchant Check Out Page</title> </head> <body> <center><h1>Please do not refresh this page...</h1></center> <form method='post' action='".PAYTM_TXN_URL."' name='f1'> <table border='1'> <tbody>"; foreach($paramList as $name => $value) { echo '<input type="hidden" name="' . $name .'" value="' . $value . '">'; } echo "<input type='hidden' name='CHECKSUMHASH' value='". $checkSum . "'> </tbody> </table> <script type='text/javascript'> document.f1.submit(); </script> </form> </body> </html>"; }
注意:paytmpost()
是从他们工具包中的 pgRedirect.php
修改而来的。 pgResponse.php
也可以调整为控制器功能以处理支付网关的输出。