Как сохранить информацию об ответах API PayTM в базе данных MySQL, используя php
Я новичок в интеграции php и платежного шлюза. Я успешно интегрировал платежную систему, но проблема в том, что я сталкиваюсь с тем, чтобы хранить эту информацию в базе данных. Вот мой код response.php. Сейчас нет ошибок, но эта информация не хранит данные в моей базе данных.
<?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");
}
?>
Страница перенаправления
<?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>
0 ответов
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;
}
}
}
Проверьте это 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));
}
}