简体   繁体   English

如何使用php在mysql数据库中存储paytm API响应信息

[英]How to store paytm API response information in mysql database using php

I am new in php and payment gateway integration.我是 php 和支付网关集成的新手。 I have successfully integrated the payment system but the problem is that I am facing to store those information in database.我已经成功集成了支付系统,但问题是我面临着将这些信息存储在数据库中的问题。 Here is my response.php code.这是我的 response.php 代码。 Right now there are no errors but those information is not storing data in to my database.现在没有错误,但这些信息没有将数据存储到我的数据库中。

<?php
header("Pragma: no-cache");
header("Cache-Control: no-cache");
header("Expires: 0");

// following files need to be included
require_once("./lib/config_paytm.php");
require_once("./lib/encdec_paytm.php");

$paytmChecksum = "";
$paramList = array();
$isValidChecksum = "FALSE";

$paramList = $_POST;
$paytmChecksum = isset($_POST["CHECKSUMHASH"]) ? $_POST["CHECKSUMHASH"] : 
""; //Sent by Paytm pg

//Verify all parameters received from Paytm pg to your application. Like MID 
received from paytm pg is same as your application’s MID, TXN_AMOUNT and 
ORDER_ID are same as what was sent by you to Paytm PG for initiating 
transaction etc.
$isValidChecksum = verifychecksum_e($paramList, PAYTM_MERCHANT_KEY, 
$paytmChecksum); //will return TRUE or FALSE string.


if($isValidChecksum == "TRUE") {
echo "<b>Checksum matched and following are the transaction details:</b>" . 
"<br/>";
if ($_POST["STATUS"] == "TXN_SUCCESS") {
    echo "<b>Transaction status is success</b>" . "<br/>";
    //Process your transaction here as success transaction.

    //Verify amount & order id received from Payment gateway with your 
 application's order id and amount.
 }
 else {
    echo "<b>Transaction status is failure</b>" . "<br/>";
    header("Location: ../wallet.php?wallet");
 }
 if (isset($_POST) && count($_POST)>0 )
 { 
 var_dump($_POST);
include("db.php");
$TRANS_DATE_TIME= date('Y-m-d H:i:s');
#$ORDERID = $_POST["ORDERID"];
#$TXNID= $_POST["TXNID"];

$GETTING_INFO="INSERT INTO `wallet_transaction` 
(`ORDERID`,`TXNID`,`TRANS_DATE_TIME`) VALUES ('".$_POST['ORDERID']."', 
'".$_POST['TXNID']."','$TRANS_DATE_TIME')";
$dbsuccess=$conn->query($GETTING_INFO);

if($dbsuccess){
     header("Location: ../wallet.php?wallet");
 }  
}


}
else {
echo "<b>Checksum mismatched.</b>";
//Process transaction as suspicious.
header("Location: ../wallet.php?wallet");
}
?>

Redirect page重定向页面

<?php
header("Pragma: no-cache");
header("Cache-Control: no-cache");
header("Expires: 0");
// following files need to be included
require_once("./lib/config_paytm.php");
require_once("./lib/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"];
$MSISDN = $_POST["MSISDN"];
$EMAIL = $_POST["EMAIL"];

// 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["CALLBACK_URL"] = 
"https://shareworld.com/PaytmKit/pgResponse.php";
$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);
?>
<html>
<head>
<title>Merchant Check Out Page</title>
</head>
<body>
<center><h1>Please do not refresh this page...</h1></center>
    <form method="post" action="<?php echo PAYTM_TXN_URL ?>" name="f1">
    <table border="1">
        <tbody>
        <?php
        foreach($paramList as $name => $value) {
            echo '<input type="hidden" name="' . $name .'" value="' . $value 
 . '">';
 //Database connection will be there

        }
        ?>
        <input type="hidden" name="CHECKSUMHASH" value="<?php echo $checkSum 
 ?>">
        </tbody>
    </table>
    <script type="text/javascript">
        document.f1.submit();
    </script>
</form>
</body>
</html>
if (isset($_POST) && count($_POST)>0 )
{ 
    $servername = "localhost";
    $username = "tdccom_triwits";
    $password = "triwits@123";
    $dbname = "tdccom_paytm";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
    } 

    $sql = "INSERT INTO response (ORDERID,MID,TXNID,TXNAMOUNT,PAYMENTMODE,CURRENCY,TXNDATE,STATUS,RESPCODE,RESPMSG,GATEWAYNAME,BANKTXNID,BANKNAME,CHECKSUMHASH)
    VALUES ('".$_POST['ORDERID']."','".$_POST['MID']."', '".$_POST['TXNID']."','".$_POST['TXNAMOUNT']."','".$_POST['PAYMENTMODE']."','".$_POST['CURRENCY']."','".$_POST['TXNDATE']."','".$_POST['STATUS']."','".$_POST['RESPCODE']."','".$_POST['RESPMSG']."','".$_POST['GATEWAYNAME']."','".$_POST['BANKTXNID']."','".$_POST['BANKNAME']."','".$_POST['CHECKSUMHASH']."')";

    if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
    } else {
    echo "Error: " . $sql . "<br>" . $conn->error;
    }

    $conn->close();

    foreach($_POST as $paramName => $paramValue) {
            echo "<br/>" . $paramName . " = " . $paramValue;
    }
}

} }

Check this https://github.com/MujmillahammedDafedar/WEB-TECHNOLOGIES/检查这个https://github.com/MujmillahammedDafedar/WEB-TECHNOLOGIES/

if($isValidChecksum == "TRUE") {
echo "<b>Checksum matched and following are the transaction details:</b>" . "<br/>";
if ($_POST["STATUS"] == "TXN_SUCCESS") {
    echo "<b>Transaction status is success</b>" . "<br/>";
    //Process your transaction here as success transaction.
    //Verify amount & order id received from Payment gateway with your application's order id and amount.
}
else {
    echo "<b>Transaction status is failure</b>" . "<br/>";
}

if (isset($_POST) && count($_POST)>0 )
{ 
    $ORDERID = $_POST['ORDERID'];
    $MID = $_POST['MID'];
    $TXNID = $_POST['TXNID'];
    $TXNAMOUNT = $_POST['TXNAMOUNT'];
    $PAYMENTMODE = $_POST['PAYMENTMODE'];
    $CURRENCY = $_POST['CURRENCY'];
    $TXNDATE = $_POST['TXNDATE'];
    $STATUS = $_POST['STATUS'];
    $RESPCODE = $_POST['RESPCODE'];
    $RESPMSG = $_POST['RESPMSG'];
    $GATEWAYNAME = $_POST['GATEWAYNAME'];
    $BANKTXNID = $_POST['BANKTXNID'];
    $BANKNAME = $_POST['BANKNAME'];
    $CHECKSUMHASH =$_POST['CHECKSUMHASH'];

    $query = "INSERT into transaction (`ORDERID`,`MID`,`TXNID`,`TXNAMOUNT`,`PAYMENTMODE`,`CURRENCY`,`TXNDATE`,`STATUS`,`RESPCODE`,`RESPMSG`,`GATEWAYNAME`,`BANKTXNID`,`BANKNAME`,`CHECKSUMHASH`) 
    VALUES ('$ORDERID','$MID','$TXNID','$TXNAMOUNT','$PAYMENTMODE','$CURRENCY','$TXNDATE','$STATUS','$RESPCODE','$RESPMSG','$GATEWAYNAME','$BANKTXNID','$BANKNAME','$CHECKSUMHASH')";

    $result = mysqli_query($connection, $query) or die(mysqli_error($connection));
    }

} }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM