如何将Paytm与Codeigniter集成

时间:2015-10-27 07:50:56

标签: php codeigniter paytm

我想在我的网站中将codetm支付网关集成在codeigniter中并且我已经搜索了很多,但我只在PHP中找到了。我已经尝试使用php库但是在验证校验和时它没有工作。任何人都可以建议任何库整合paytm。

1 个答案:

答案 0 :(得分:3)

我今天正在寻找同样的选项,最后不得不调整他们提供的库here

  1. 将他们的工具包克隆到另一个文件夹
  2. lib 文件夹的内容移至 application / third_party / paytmlib
  3. 在移动的路径中,根据我的网站设置配置 config_paytmp.php
  4. 从他们的工具包路径移动此文件 TxnTest.php views 文件夹,并更改了表单标签,如下面的<form method="post" action="paytmpost">
  5. 添加了如下控制器方法

    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>";
     } 
    
  6. 注意:paytmpost()已从其工具包中的pgRedirect.php进行了修改。 pgResponse.php也可以调整为控制器功能,以处理来自支付网关的输出。