Merge branch on uat branch
This commit is contained in:
commit
e270ff2bcd
190
.env
190
.env
@ -1,190 +0,0 @@
|
||||
#--------------------------------------------------------------------
|
||||
# Example Environment Configuration file
|
||||
#
|
||||
# This file can be used as a starting point for your own
|
||||
# custom .env files, and contains most of the possible settings
|
||||
# available in a default install.
|
||||
#
|
||||
# By default, all of the settings are commented out. If you want
|
||||
# to override the setting, you must un-comment it by removing the '#'
|
||||
# at the beginning of the line.
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# ENVIRONMENT
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
CI_ENVIRONMENT = development
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# APP
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# app.baseURL = ''
|
||||
# If you have trouble with `.`, you could also use `_`.
|
||||
# app_baseURL = ''
|
||||
# app.forceGlobalSecureRequests = false
|
||||
# app.CSPEnabled = false
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# DATABASE
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
database.default.hostname = 119.18.54.85
|
||||
database.default.database = venbaehn_bbbooks
|
||||
database.default.username = venbaehn_bbooks
|
||||
database.default.password = '(B$j&KrV@F9f'
|
||||
database.default.DBDriver = MySQLi
|
||||
database.default.DBPrefix =
|
||||
database.default.port = 3306
|
||||
|
||||
database.tests.hostname = 119.18.54.85
|
||||
database.tests.database = venbaehn_bbbooks
|
||||
database.tests.username = venbaehn_bbooks
|
||||
database.tests.password ='(B$j&KrV@F9f'
|
||||
database.tests.DBDriver = MySQLi
|
||||
database.tests.DBPrefix =
|
||||
database.tests.port = 3306
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# CONTENT SECURITY POLICY
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# contentsecuritypolicy.reportOnly = false
|
||||
# contentsecuritypolicy.defaultSrc = 'none'
|
||||
# contentsecuritypolicy.scriptSrc = 'self'
|
||||
# contentsecuritypolicy.styleSrc = 'self'
|
||||
# contentsecuritypolicy.imageSrc = 'self'
|
||||
# contentsecuritypolicy.baseURI = null
|
||||
# contentsecuritypolicy.childSrc = null
|
||||
# contentsecuritypolicy.connectSrc = 'self'
|
||||
# contentsecuritypolicy.fontSrc = null
|
||||
# contentsecuritypolicy.formAction = null
|
||||
# contentsecuritypolicy.frameAncestors = null
|
||||
# contentsecuritypolicy.frameSrc = null
|
||||
# contentsecuritypolicy.mediaSrc = null
|
||||
# contentsecuritypolicy.objectSrc = null
|
||||
# contentsecuritypolicy.pluginTypes = null
|
||||
# contentsecuritypolicy.reportURI = null
|
||||
# contentsecuritypolicy.sandbox = false
|
||||
# contentsecuritypolicy.upgradeInsecureRequests = false
|
||||
# contentsecuritypolicy.styleNonceTag = '{csp-style-nonce}'
|
||||
# contentsecuritypolicy.scriptNonceTag = '{csp-script-nonce}'
|
||||
# contentsecuritypolicy.autoNonce = true
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# COOKIE
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# cookie.prefix = ''
|
||||
# cookie.expires = 0
|
||||
# cookie.path = '/'
|
||||
# cookie.domain = ''
|
||||
# cookie.secure = false
|
||||
# cookie.httponly = false
|
||||
# cookie.samesite = 'Lax'
|
||||
# cookie.raw = false
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# ENCRYPTION
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# encryption.key =
|
||||
# encryption.driver = OpenSSL
|
||||
# encryption.blockSize = 16
|
||||
# encryption.digest = SHA512
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# HONEYPOT
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# honeypot.hidden = 'true'
|
||||
# honeypot.label = 'Fill This Field'
|
||||
# honeypot.name = 'honeypot'
|
||||
# honeypot.template = '<label>{label}</label><input type="text" name="{name}" value=""/>'
|
||||
# honeypot.container = '<div style="display:none">{template}</div>'
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# SECURITY
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# security.csrfProtection = 'cookie'
|
||||
# security.tokenRandomize = false
|
||||
# security.tokenName = 'csrf_token_name'
|
||||
# security.headerName = 'X-CSRF-TOKEN'
|
||||
# security.cookieName = 'csrf_cookie_name'
|
||||
# security.expires = 7200
|
||||
# security.regenerate = true
|
||||
# security.redirect = false
|
||||
# security.samesite = 'Lax'
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# SESSION
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# session.driver = 'CodeIgniter\Session\Handlers\FileHandler'
|
||||
# session.cookieName = 'ci_session'
|
||||
# session.expiration = 7200
|
||||
# session.savePath = null
|
||||
# session.matchIP = false
|
||||
# session.timeToUpdate = 300
|
||||
# session.regenerateDestroy = false
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# LOGGER
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# logger.threshold = 4
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# CURLRequest
|
||||
#--------------------------------------------------------------------
|
||||
|
||||
# curlrequest.shareOptions = true
|
||||
APP_TIMEZONE = 'Asia/Kolkata'
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Whatsapp Access Token And Instance ID
|
||||
#--------------------------------------------------------------------
|
||||
# for Live Don't delete it
|
||||
# 1st Account
|
||||
# WAAI_TOKEN = '6582950cb468b'
|
||||
# WAAI_INSTANCE = '6582F04394D59'
|
||||
# 2nd Account
|
||||
# WAAI_TOKEN = '6568739969f28'
|
||||
# WAAI_INSTANCE = '656876690A9FD'
|
||||
|
||||
app.debug = true;
|
||||
# for Testing Purpose
|
||||
# 4th Account - Dummy Account by sanjeev created on 10th april 24 Testing purpose
|
||||
# Dummy Office Mail ID - venba.it.chennai@venbainfotech.com
|
||||
# (UN - venba.it.chennai PWD - venba.it.chennai)
|
||||
WAAI_INSTANCE = '661621B29BDEE'
|
||||
WAAI_TOKEN = '66162101e2f1d'
|
||||
|
||||
# 3rd Account - Dummy Account by sanjeev created on 14th dec Testing purpose
|
||||
# Office Mail ID - sanjeev.p@venbainfotech.com
|
||||
# (UN - Venba V1 PWD - Krish12345)
|
||||
# WAAI_TOKEN = '657af9bf8cad1'
|
||||
# WAAI_INSTANCE = '657AFA5A01B21'
|
||||
|
||||
# 2nd Account - Dummy Account by sanjeev
|
||||
# WAAI_TOKEN = '65685e954bcf6'
|
||||
# WAAI_INSTANCE = '656863C54F90C'
|
||||
|
||||
# 1st Account - Dummy Account by krishanan sir
|
||||
# WAAI_TOKEN = '652548474f4e4'
|
||||
# WAAI_INSTANCE = '65254894E4A88'
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Email Host Name,User,Passcode And Port
|
||||
#--------------------------------------------------------------------
|
||||
SMTP_HOST = 'smtp.sendgrid.net'
|
||||
SMTP_USER = 'apikey'
|
||||
SMTP_PASS = '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'
|
||||
SMTP_PORT = '587'
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# New Whatsapp Access Token
|
||||
#----------------------------------------------------------------------
|
||||
# whatsAppToken = 'EAARGyzEtu2kBO1mK3ILZAvZCd8D3QNpHo2uU5SWZBXbZC3eNL9hFpZA5WebolazilZA0RfU0zdu6gNZAW1yGCYiXFgZBC1YQfZBErv0QKAYQAT9wMOTy2f0C3m4ZAK8ZCwt3mGlURfa6m2uUCyNK4qEUy2Evx7scd8aanXLFr8MJUbVNJP8BPPSpUJW4A0dZAaci56lrPGnw0hV7jV9ISGmDLNYZD';
|
||||
@ -129,26 +129,24 @@ define('SEND_WAAI_URL', 'https://waai.in/api/send');
|
||||
define('SEND_WAAI_GROUP_URL', 'https://waai.in/api/send_group');
|
||||
define('EXPIRAY_NOTIFY_TEMPLATE_EMAIL','EXPIRAY_NOTIFY_TEMPLATE_EMAIL');
|
||||
define('EXPIRAY_NOTIFY_TEMPLATE_WHATSAPP','EXPIRAY_NOTIFY_TEMPLATE_WHATSAPP');
|
||||
|
||||
define('PAYTM_ENVIRONMENT', 'TEST'); // PROD
|
||||
define('PAYTM_ENVIRONMENT', 'PROD'); // PROD
|
||||
//Change this constant's value with Merchant key received from Paytm.
|
||||
define('PAYTM_MERCHANT_KEY', 'wmy4JaBcar3nK97G');
|
||||
//define('PAYTM_MERCHANT_KEY', '-');
|
||||
//Change this constant's value with MID (Merchant ID) received from Paytm.
|
||||
define('PAYTM_MERCHANT_MID', 'VWJbeA80075161016380');
|
||||
//define('PAYTM_MERCHANT_MID',$_SERVER['Merchant_ID']);
|
||||
//Change this constant's value with Website name received from Paytm.
|
||||
|
||||
define('PAYTM_MERCHANT_WEBSITE', 'WEBSTAGING');
|
||||
$PAYTM_STATUS_QUERY_NEW_URL='https://securegw-stage.paytm.in/merchant-status/getTxnStatus';
|
||||
$PAYTM_TXN_URL='https://securegw-stage.paytm.in/theia/processTransaction';
|
||||
//define('PAYTM_MERCHANT_WEBSITE', 'DEFAULT');
|
||||
|
||||
if (PAYTM_ENVIRONMENT == 'PROD') {
|
||||
$PAYTM_STATUS_QUERY_NEW_URL='https://securegw.paytm.in/merchant-status/getTxnStatus';
|
||||
$PAYTM_TXN_URL='https://securegw.paytm.in/theia/processTransaction';
|
||||
define('PAYTM_STATUS_QUERY_NEW_URL', 'https://securegw.paytm.in/merchant-status/getTxnStatus');
|
||||
define('PAYTM_TXN_URL', 'https://securegw.paytm.in/theia/processTransaction');
|
||||
} else {
|
||||
define('PAYTM_STATUS_QUERY_NEW_URL', 'https://securegw-stage.paytm.in/merchant-status/getTxnStatus');
|
||||
define('PAYTM_TXN_URL', 'https://securegw-stage.paytm.in/theia/processTransaction');
|
||||
}
|
||||
|
||||
define('PAYTM_REFUND_URL', '');
|
||||
define('PAYTM_STATUS_QUERY_URL', $PAYTM_STATUS_QUERY_NEW_URL);
|
||||
define('PAYTM_STATUS_QUERY_NEW_URL', $PAYTM_STATUS_QUERY_NEW_URL);
|
||||
define('PAYTM_TXN_URL', $PAYTM_TXN_URL);
|
||||
define('PAYTM_STATUS_QUERY_URL', PAYTM_STATUS_QUERY_NEW_URL);
|
||||
|
||||
|
||||
|
||||
|
||||
@ -190,9 +190,11 @@ $routes->post('qucik_add_addresses', 'Customer::qucik_add_addresses');
|
||||
|
||||
#Payment Routes
|
||||
$routes->match(['get','post'],'/subscription_renewal','Payment::index/');
|
||||
$routes->match(['get','post'],'/payer','Payment::iniatepay/');
|
||||
$routes->match(['get','post'],'/pay','Payment::pay/');
|
||||
$routes->match(['get','post'],'/tresponse','Payment::tresponse/');
|
||||
$routes->match(['get','post'],'/response','Payment::response/');
|
||||
$routes->get('/payment_failure', 'Payment::payment_failure');
|
||||
$routes->get('/payment_success','Payment::payment_success');
|
||||
$routes->match(['get','post'],'/subscription_renewal/(:any)','Payment::index/$1');
|
||||
|
||||
// $routes->group("api", function ($routes) {
|
||||
|
||||
@ -65,7 +65,7 @@ abstract class BaseController extends Controller
|
||||
echo "This is a command-line request.";
|
||||
// echo $requestedRoute;
|
||||
} else {
|
||||
if ($requestedRoute !== '/login' && $requestedRoute !== '/authenticate'&& $requestedRoute !== '/pay' && $requestedRoute !== '/auth_confirm_mail' && $requestedRoute !== '/auth_reset_password' && $requestedRoute !== 'auth_reset_password_save' && $requestedRoute !== '/subscription_renewal'&& $requestedRoute !== '/tresponse' && strpos($requestedRoute, '/subscription_renewal/') === false && $uri->getSegment(1) != 'getExpCustomerDetail'&& $uri->getSegment(1) != 'download_invoice_pdf') {
|
||||
if ($requestedRoute !== '/login' && $requestedRoute !== '/authenticate'&& $requestedRoute !== '/pay' && $requestedRoute !== '/auth_confirm_mail' && $requestedRoute !== '/auth_reset_password' && $requestedRoute !== 'auth_reset_password_save' && $requestedRoute !== '/subscription_renewal'&& $requestedRoute !== '/tresponse' && strpos($requestedRoute, '/subscription_renewal/') === false && $requestedRoute !== '/payment_failure'&& $requestedRoute !== '/payment_success' && $uri->getSegment(1) != 'getExpCustomerDetail'&& $uri->getSegment(1) != 'download_invoice_pdf') {
|
||||
$this->authData = $this->session_log();
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Controllers;
|
||||
|
||||
use App\Models\CustomerModel;
|
||||
use App\Models\InvoiceModel;
|
||||
use App\Models\SchemeModel;
|
||||
use App\Models\SubscriptionModel;
|
||||
use paytmpg\pg\request\InitiateTransactionRequestBody;
|
||||
@ -58,71 +59,77 @@ class Payment extends BaseController
|
||||
}
|
||||
|
||||
}
|
||||
public function iniatepay(){
|
||||
return view('pay');
|
||||
}
|
||||
|
||||
public function pay()
|
||||
{
|
||||
$userAgent = $_SERVER['HTTP_USER_AGENT'];
|
||||
if (preg_match('/mobile/i', $userAgent)) {
|
||||
// Mobile device detected
|
||||
$payment_method = "mobile";
|
||||
} else {
|
||||
// Desktop device detected
|
||||
$payment_method = 'website' ;
|
||||
}
|
||||
$checkSum = "";
|
||||
$paramList = array();
|
||||
$CUST_ID = $this->request->getPost("CustomerID");
|
||||
$ORDER_ID = uniqid($CUST_ID . "_");
|
||||
$INDUSTRY_TYPE_ID = "Retail";
|
||||
$CHANNEL_ID = ($payment_method == "mobile") ? "WAP" : "WEB";
|
||||
$TXN_AMOUNT = $this->request->getPost("amount");
|
||||
{
|
||||
$userAgent = $_SERVER['HTTP_USER_AGENT'];
|
||||
$payment_method = preg_match('/mobile/i', $userAgent) ? "mobile" : 'website';
|
||||
|
||||
// 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"] = base_url('tresponse');
|
||||
|
||||
$paramList = array();
|
||||
$CUST_ID = (string) $this->request->getPost("CustomerID");
|
||||
$ORDER_ID = (string) uniqid($CUST_ID . "_");
|
||||
$CHANNEL_ID = ($payment_method == "mobile") ? (string) env('Channel_ID_Mobile') : (string) env('Channel_ID_WEB');
|
||||
$TXN_AMOUNT = (string) $this->request->getPost("amount");
|
||||
|
||||
//Here checksum string will return by getChecksumFromArray() function.
|
||||
$data['checkSum'] = getChecksumFromArray($paramList, PAYTM_MERCHANT_KEY);
|
||||
$data['paramList'] = $paramList;
|
||||
//print_r($paramList);die();
|
||||
return view('/tresponse', $data);
|
||||
}
|
||||
$paramList["MID"] = (string) env('Merchant_ID');
|
||||
$paramList["ORDER_ID"] = $ORDER_ID;
|
||||
$paramList["CUST_ID"] = $CUST_ID;
|
||||
$paramList["INDUSTRY_TYPE_ID"] = env('Industry_Type');
|
||||
$paramList["CHANNEL_ID"] = $CHANNEL_ID;
|
||||
$paramList["TXN_AMOUNT"] = $TXN_AMOUNT;
|
||||
$paramList["WEBSITE"] = (string) env('Website');
|
||||
$paramList["CALLBACK_URL"] = (string) base_url('tresponse');
|
||||
|
||||
public function tresponse() {
|
||||
$paytmChecksum = "";
|
||||
$paramList = array();
|
||||
$isValidChecksum = "FALSE";
|
||||
$paramList = $_POST;
|
||||
$paytmChecksum = isset($_POST["CHECKSUMHASH"]) ? $_POST["CHECKSUMHASH"] : "";
|
||||
$checkSum = getChecksumFromArray($paramList, env('Merchant_Key'));
|
||||
|
||||
$data['checkSum'] = $checkSum;
|
||||
$data['paramList'] = $paramList;
|
||||
$decryptedChecksum = verifychecksum_e($data['paramList'], env('Merchant_Key'),$data['checkSum']);
|
||||
log_message('error',json_encode($data['paramList']));
|
||||
return view('/tresponse', $data);
|
||||
}
|
||||
|
||||
public function tresponse() {
|
||||
$paytmChecksum = "";
|
||||
$paramList = $_POST;
|
||||
print_r($paramList);
|
||||
$isValidChecksum = "FALSE";
|
||||
$paramList = $_POST;
|
||||
$paytmChecksum = isset($_POST["CHECKSUMHASH"]) ? $_POST["CHECKSUMHASH"] : "";
|
||||
$result['receivedFromPaytm'] = $paramList;
|
||||
// Verify checksum
|
||||
$isValidChecksum = verifychecksum_e($paramList, env('Merchant_Key'), $paytmChecksum);
|
||||
|
||||
if ($isValidChecksum == "TRUE") {
|
||||
//echo "<b>Checksum matched.</b><br/>";
|
||||
|
||||
if (isset($_POST) && count($_POST) > 0) {
|
||||
// foreach($_POST as $paramName => $paramValue) {
|
||||
// // echo "<br/>" . htmlspecialchars($paramName) . " = " . htmlspecialchars($paramValue);
|
||||
// }
|
||||
log_message('error',json_encode($paramList));
|
||||
}
|
||||
if ($_POST["STATUS"] == "TXN_SUCCESS") {
|
||||
echo "<b>Transaction status is success</b><br/>";
|
||||
return redirect()->to(base_url('/payment_success'));
|
||||
} else {
|
||||
echo "<b>Processing ...</b><br/>";
|
||||
return redirect()->to(base_url('/payment_failure'));
|
||||
|
||||
}
|
||||
} else {
|
||||
echo "<b>Checksum mismatched.</b>";
|
||||
}
|
||||
|
||||
}
|
||||
public function payment_failure(){
|
||||
return view('/payment_failure');
|
||||
}
|
||||
|
||||
public function payment_success(){
|
||||
$model = new InvoiceModel();
|
||||
return view('/payment_success');
|
||||
}
|
||||
|
||||
//will return TRUE or FALSE string.
|
||||
$isValidChecksum = verifychecksum_e($paramList, PAYTM_MERCHANT_KEY, $paytmChecksum);
|
||||
//var_dump($isValidChecksum);die();
|
||||
if($isValidChecksum == "TRUE") {
|
||||
|
||||
if ($_POST["STATUS"] == "TXN_SUCCESS") {
|
||||
echo "<b>Transaction status is success</b>" . "<br/>";
|
||||
} else {
|
||||
echo "<b>Transaction status is failure</b>" . "<br/>";
|
||||
}
|
||||
|
||||
if (isset($_POST) && count($_POST)>0 ) {
|
||||
foreach($_POST as $paramName => $paramValue) {
|
||||
echo "<br/>" . $paramName . " = " . $paramValue;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
echo "<b>Checksum mismatched.</b>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,252 +1,129 @@
|
||||
<?php
|
||||
|
||||
|
||||
function encrypt_e($input, $ky) {
|
||||
$key = html_entity_decode($ky);
|
||||
$iv = "@@@@&&&&####$$$$";
|
||||
$data = openssl_encrypt ( $input , "AES-128-CBC" , $key, 0, $iv );
|
||||
return $data;
|
||||
$key = html_entity_decode($ky);
|
||||
$iv = "@@@@&&&&####$$$$";
|
||||
$data = openssl_encrypt($input, "AES-128-CBC", $key, 0, $iv);
|
||||
return $data;
|
||||
}
|
||||
|
||||
function decrypt_e($crypt, $ky) {
|
||||
$key = html_entity_decode($ky);
|
||||
$iv = "@@@@&&&&####$$$$";
|
||||
$data = openssl_decrypt ( $crypt , "AES-128-CBC" , $key, 0, $iv );
|
||||
return $data;
|
||||
$key = html_entity_decode($ky);
|
||||
$iv = "@@@@&&&&####$$$$";
|
||||
$data = openssl_decrypt($crypt, "AES-128-CBC", $key, 0, $iv);
|
||||
return $data;
|
||||
}
|
||||
|
||||
function generateSalt_e($length) {
|
||||
$random = "";
|
||||
srand((double) microtime() * 1000000);
|
||||
$random = "";
|
||||
srand((int) ((double) microtime(true) * 1000000)); // Fix for deprecation
|
||||
$data = "AbcDE123IJKLMN67ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
$data .= "aBCdefghijklmn123opq45rs67tuv89wxyz";
|
||||
$data .= "0FGH45OP89";
|
||||
|
||||
$data = "AbcDE123IJKLMN67QRSTUVWXYZ";
|
||||
$data .= "aBCdefghijklmn123opq45rs67tuv89wxyz";
|
||||
$data .= "0FGH45OP89";
|
||||
for ($i = 0; $i < $length; $i++) {
|
||||
$random .= substr($data, (rand() % strlen($data)), 1);
|
||||
}
|
||||
|
||||
for ($i = 0; $i < $length; $i++) {
|
||||
$random .= substr($data, (rand() % (strlen($data))), 1);
|
||||
}
|
||||
|
||||
return $random;
|
||||
return $random;
|
||||
}
|
||||
|
||||
function checkString_e($value) {
|
||||
if ($value == 'null')
|
||||
$value = '';
|
||||
return $value;
|
||||
return ($value === 'null') ? '' : $value;
|
||||
}
|
||||
|
||||
function getChecksumFromArray($arrayList, $key, $sort=1) {
|
||||
if ($sort != 0) {
|
||||
ksort($arrayList);
|
||||
}
|
||||
$str = getArray2Str($arrayList);
|
||||
$salt = generateSalt_e(4);
|
||||
$finalString = $str . "|" . $salt;
|
||||
$hash = hash("sha256", $finalString);
|
||||
$hashString = $hash . $salt;
|
||||
$checksum = encrypt_e($hashString, $key);
|
||||
return $checksum;
|
||||
function getChecksumFromArray($arrayList, $key, $sort = 1) {
|
||||
if ($sort != 0) {
|
||||
ksort($arrayList);
|
||||
}
|
||||
// Convert all values to strings
|
||||
$arrayList = array_map('strval', $arrayList);
|
||||
$str = getArray2Str($arrayList);
|
||||
$salt = generateSalt_e(4);
|
||||
$finalString = $str . "|" . $salt;
|
||||
$hash = hash("sha256", $finalString);
|
||||
$hashString = $hash . $salt;
|
||||
$checksum = encrypt_e($hashString, $key);
|
||||
return $checksum;
|
||||
}
|
||||
|
||||
function getChecksumFromString($str, $key) {
|
||||
|
||||
$salt = generateSalt_e(4);
|
||||
$finalString = $str . "|" . $salt;
|
||||
$hash = hash("sha256", $finalString);
|
||||
$hashString = $hash . $salt;
|
||||
$checksum = encrypt_e($hashString, $key);
|
||||
return $checksum;
|
||||
$salt = generateSalt_e(4);
|
||||
$finalString = $str . "|" . $salt;
|
||||
$hash = hash("sha256", $finalString);
|
||||
$hashString = $hash . $salt;
|
||||
$checksum = encrypt_e($hashString, $key);
|
||||
return $checksum;
|
||||
}
|
||||
|
||||
function verifychecksum_e($arrayList, $key, $checksumvalue) {
|
||||
$arrayList = removeCheckSumParam($arrayList);
|
||||
ksort($arrayList);
|
||||
$str = getArray2StrForVerify($arrayList);
|
||||
$paytm_hash = decrypt_e($checksumvalue, $key);
|
||||
$salt = substr($paytm_hash, -4);
|
||||
|
||||
$finalString = $str . "|" . $salt;
|
||||
|
||||
$website_hash = hash("sha256", $finalString);
|
||||
$website_hash .= $salt;
|
||||
|
||||
$validFlag = "FALSE";
|
||||
if ($website_hash == $paytm_hash) {
|
||||
$validFlag = "TRUE";
|
||||
} else {
|
||||
$validFlag = "FALSE";
|
||||
}
|
||||
return $validFlag;
|
||||
}
|
||||
|
||||
function verifychecksum_eFromStr($str, $key, $checksumvalue) {
|
||||
$paytm_hash = decrypt_e($checksumvalue, $key);
|
||||
$salt = substr($paytm_hash, -4);
|
||||
|
||||
$finalString = $str . "|" . $salt;
|
||||
|
||||
$website_hash = hash("sha256", $finalString);
|
||||
$website_hash .= $salt;
|
||||
|
||||
$validFlag = "FALSE";
|
||||
if ($website_hash == $paytm_hash) {
|
||||
$validFlag = "TRUE";
|
||||
} else {
|
||||
$validFlag = "FALSE";
|
||||
}
|
||||
return $validFlag;
|
||||
$arrayList = removeCheckSumParam($arrayList);
|
||||
ksort($arrayList);
|
||||
$str = getArray2StrForVerify($arrayList);
|
||||
$paytm_hash = decrypt_e($checksumvalue, $key);
|
||||
$salt = substr($paytm_hash, -4);
|
||||
$finalString = $str . "|" . $salt;
|
||||
$website_hash = hash("sha256", $finalString);
|
||||
$website_hash .= $salt;
|
||||
return ($website_hash === $paytm_hash) ? "TRUE" : "FALSE";
|
||||
}
|
||||
|
||||
function getArray2Str($arrayList) {
|
||||
$findme = 'REFUND';
|
||||
$findmepipe = '|';
|
||||
$paramStr = "";
|
||||
$flag = 1;
|
||||
foreach ($arrayList as $key => $value) {
|
||||
$pos = strpos($value, $findme);
|
||||
$pospipe = strpos($value, $findmepipe);
|
||||
if ($pos !== false || $pospipe !== false)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($flag) {
|
||||
$paramStr .= checkString_e($value);
|
||||
$flag = 0;
|
||||
} else {
|
||||
$paramStr .= "|" . checkString_e($value);
|
||||
}
|
||||
}
|
||||
return $paramStr;
|
||||
$paramStr = "";
|
||||
$flag = 1;
|
||||
foreach ($arrayList as $key => $value) {
|
||||
if (strpos($value, 'REFUND') !== false || strpos($value, '|') !== false) {
|
||||
continue;
|
||||
}
|
||||
$paramStr .= ($flag) ? checkString_e($value) : "|" . checkString_e($value);
|
||||
$flag = 0;
|
||||
}
|
||||
return $paramStr;
|
||||
}
|
||||
|
||||
function getArray2StrForVerify($arrayList) {
|
||||
$paramStr = "";
|
||||
$flag = 1;
|
||||
foreach ($arrayList as $key => $value) {
|
||||
if ($flag) {
|
||||
$paramStr .= checkString_e($value);
|
||||
$flag = 0;
|
||||
} else {
|
||||
$paramStr .= "|" . checkString_e($value);
|
||||
}
|
||||
}
|
||||
return $paramStr;
|
||||
}
|
||||
|
||||
function redirect2PG($paramList, $key) {
|
||||
$hashString = getchecksumFromArray($paramList, $key);
|
||||
$checksum = encrypt_e($hashString, $key);
|
||||
$paramStr = "";
|
||||
$flag = 1;
|
||||
foreach ($arrayList as $key => $value) {
|
||||
$paramStr .= ($flag) ? checkString_e($value) : "|" . checkString_e($value);
|
||||
$flag = 0;
|
||||
}
|
||||
return $paramStr;
|
||||
}
|
||||
|
||||
function removeCheckSumParam($arrayList) {
|
||||
if (isset($arrayList["CHECKSUMHASH"])) {
|
||||
unset($arrayList["CHECKSUMHASH"]);
|
||||
}
|
||||
return $arrayList;
|
||||
}
|
||||
|
||||
function getTxnStatus($requestParamList) {
|
||||
return callAPI(PAYTM_STATUS_QUERY_URL, $requestParamList);
|
||||
}
|
||||
|
||||
function getTxnStatusNew($requestParamList) {
|
||||
return callNewAPI(PAYTM_STATUS_QUERY_NEW_URL, $requestParamList);
|
||||
}
|
||||
|
||||
function initiateTxnRefund($requestParamList) {
|
||||
$CHECKSUM = getRefundChecksumFromArray($requestParamList,PAYTM_MERCHANT_KEY,0);
|
||||
$requestParamList["CHECKSUM"] = $CHECKSUM;
|
||||
return callAPI(PAYTM_REFUND_URL, $requestParamList);
|
||||
if (isset($arrayList["CHECKSUMHASH"])) {
|
||||
unset($arrayList["CHECKSUMHASH"]);
|
||||
}
|
||||
return $arrayList;
|
||||
}
|
||||
|
||||
function callAPI($apiURL, $requestParamList) {
|
||||
$jsonResponse = "";
|
||||
$responseParamList = array();
|
||||
$JsonData =json_encode($requestParamList);
|
||||
$postData = 'JsonData='.urlencode($JsonData);
|
||||
$ch = curl_init($apiURL);
|
||||
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
|
||||
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
||||
'Content-Type: application/json',
|
||||
'Content-Length: ' . strlen($postData))
|
||||
);
|
||||
$jsonResponse = curl_exec($ch);
|
||||
$responseParamList = json_decode($jsonResponse,true);
|
||||
return $responseParamList;
|
||||
}
|
||||
|
||||
function callNewAPI($apiURL, $requestParamList) {
|
||||
$jsonResponse = "";
|
||||
$responseParamList = array();
|
||||
$JsonData =json_encode($requestParamList);
|
||||
$postData = 'JsonData='.urlencode($JsonData);
|
||||
$ch = curl_init($apiURL);
|
||||
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
|
||||
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
||||
'Content-Type: application/json',
|
||||
'Content-Length: ' . strlen($postData))
|
||||
);
|
||||
$jsonResponse = curl_exec($ch);
|
||||
$responseParamList = json_decode($jsonResponse,true);
|
||||
return $responseParamList;
|
||||
}
|
||||
function getRefundChecksumFromArray($arrayList, $key, $sort=1) {
|
||||
if ($sort != 0) {
|
||||
ksort($arrayList);
|
||||
}
|
||||
$str = getRefundArray2Str($arrayList);
|
||||
$salt = generateSalt_e(4);
|
||||
$finalString = $str . "|" . $salt;
|
||||
$hash = hash("sha256", $finalString);
|
||||
$hashString = $hash . $salt;
|
||||
$checksum = encrypt_e($hashString, $key);
|
||||
return $checksum;
|
||||
}
|
||||
function getRefundArray2Str($arrayList) {
|
||||
$findmepipe = '|';
|
||||
$paramStr = "";
|
||||
$flag = 1;
|
||||
foreach ($arrayList as $key => $value) {
|
||||
$pospipe = strpos($value, $findmepipe);
|
||||
if ($pospipe !== false)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($flag) {
|
||||
$paramStr .= checkString_e($value);
|
||||
$flag = 0;
|
||||
} else {
|
||||
$paramStr .= "|" . checkString_e($value);
|
||||
}
|
||||
}
|
||||
return $paramStr;
|
||||
}
|
||||
function callRefundAPI($refundApiURL, $requestParamList) {
|
||||
$jsonResponse = "";
|
||||
$responseParamList = array();
|
||||
$JsonData = json_encode($requestParamList);
|
||||
$postData = 'JsonData=' . urlencode($JsonData);
|
||||
$ch = curl_init($refundApiURL);
|
||||
$ch = curl_init($apiURL);
|
||||
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length: ' . strlen($postData)));
|
||||
$jsonResponse = curl_exec($ch);
|
||||
return json_decode($jsonResponse, true);
|
||||
}
|
||||
|
||||
function callRefundAPI($refundApiURL, $requestParamList) {
|
||||
$JsonData = json_encode($requestParamList);
|
||||
$postData = 'JsonData=' . urlencode($JsonData);
|
||||
$ch = curl_init($refundApiURL);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
|
||||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
|
||||
curl_setopt($ch, CURLOPT_URL, $refundApiURL);
|
||||
curl_setopt($ch, CURLOPT_POST, true);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
||||
'Content-Type: application/json',
|
||||
'Content-Length: ' . strlen($postData)
|
||||
));
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
|
||||
$jsonResponse = curl_exec($ch);
|
||||
$responseParamList = json_decode($jsonResponse, true);
|
||||
return $responseParamList;
|
||||
return json_decode($jsonResponse, true);
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -23,14 +23,31 @@
|
||||
.from-address {
|
||||
text-align: left;
|
||||
float: left;
|
||||
<<<<<<< HEAD
|
||||
width: 100%;
|
||||
=======
|
||||
width: 60%;
|
||||
|
||||
}
|
||||
.order-number {
|
||||
text-align: right;
|
||||
float: right;
|
||||
width: 40%;
|
||||
>>>>>>> 37dc008a4e67eb19b144ea570725193f87907964
|
||||
}
|
||||
.to-address {
|
||||
text-align: left;
|
||||
|
||||
float: right;
|
||||
<<<<<<< HEAD
|
||||
width: 40%;
|
||||
clear: both;
|
||||
/* margin-top: 20px; Adjust for spacing in landscape */
|
||||
=======
|
||||
width: 30%;
|
||||
clear: both;
|
||||
margin-top: 20px; /* Adjust for spacing in landscape */
|
||||
/* padding-right: -200px; */
|
||||
>>>>>>> 37dc008a4e67eb19b144ea570725193f87907964
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
@ -38,6 +55,7 @@
|
||||
|
||||
<?php foreach ($invoiceData as $value): ?>
|
||||
<div class="label-container">
|
||||
<<<<<<< HEAD
|
||||
<table width="100%" style="border-collapse: collapse;">
|
||||
<tr>
|
||||
<td width="30%" style="text-align: left;"><strong>From :</strong></td>
|
||||
@ -70,8 +88,38 @@
|
||||
<?= $value->mobile_no ? "Mobile : " . $value->mobile_no . " ." : "" ?>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
=======
|
||||
<!-- From Address on the left -->
|
||||
<div style="font-size: small;" class="from-address">
|
||||
<strong>From :</strong><br>
|
||||
<?= $value->company_name; ?><br>
|
||||
<?= $value->company_address . ","; ?><br>
|
||||
<?= $value->company_city; ?> - <?= $value->company_postal_code . ","; ?><br>
|
||||
<?= $value->company_state . "."; ?><br>
|
||||
<?= $value->company_mobile_no; ?>
|
||||
</div>
|
||||
<!-- Order Number on the right -->
|
||||
<div class="order-number">
|
||||
<b> Order : </b><?php echo $value->invoice_number; ?>
|
||||
</div>
|
||||
<!-- To Address -->
|
||||
<div class="to-address">
|
||||
<strong class="ltr">To :</strong><br>
|
||||
<span style="text-align: jus;" class="ltr"><?= htmlspecialchars($value->customer_name) ?></span><br>
|
||||
<?php if ($value->customer_ship_address && ($value->saddr_id !== null || $value->saddr_id !== '')): ?>
|
||||
<span class="ltr"><?= htmlspecialchars($value->customer_ship_address) ? htmlspecialchars($value->customer_ship_address) . " , <br>" : "" ?></span>
|
||||
<span class="ltr"><?= htmlspecialchars($value->customer_ship_city) ? htmlspecialchars($value->customer_ship_city) . " " : "" ?></span>
|
||||
<span class="ltr"><?= htmlspecialchars($value->customer_ship_postal_code) ? " - " . htmlspecialchars($value->customer_ship_postal_code) . "<br>" : "" ?></span>
|
||||
<span class="ltr"><?= htmlspecialchars($value->customer_ship_state) ? htmlspecialchars($value->customer_ship_state) . ". <br>" : "" ?></span>
|
||||
<?php elseif ($value->saddr_id === null || $value->saddr_id === ''): ?>
|
||||
<span class="ltr"><?= htmlspecialchars($value->shipping_address) ? htmlspecialchars($value->shipping_address) . '<br>' : '' ?></span>
|
||||
<?php endif; ?>
|
||||
<span class="ltr"><?= htmlspecialchars($value->mobile_no) ? "Mobile : " . htmlspecialchars($value->mobile_no) . " ." : "" ?></span>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
|
||||
>>>>>>> 37dc008a4e67eb19b144ea570725193f87907964
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
}
|
||||
.table-responsive{
|
||||
font-family: 'Apple System', 'BlinkMacSystemFont', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||
font-size: 12px;
|
||||
font-size: 14npx;
|
||||
}
|
||||
#printPdfButton .ri-printer-line {
|
||||
font-size: 8px;
|
||||
|
||||
@ -36,21 +36,19 @@
|
||||
<th><b>Item Count</b></th>
|
||||
<th><b>Total Cost</b></th>
|
||||
<th><b>Payment method</b></th>
|
||||
<th><b>Invoice Date</b></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($report_data as $row): ?>
|
||||
<?php foreach ($row->books as $book): ?>
|
||||
<tr>
|
||||
<td><?= isset($row->publisher_code) ? $row->publisher_code : '-' ?></td>
|
||||
<td><?= $row->publisher_item_count ?></td>
|
||||
<td><?= number_format($row->publisher_total_cost, 2) ?></td>
|
||||
<td><?= $book->book_name ?></td>
|
||||
<td><?= $book->item_count ?></td>
|
||||
<td><?= number_format($book->total_cost, 2) ?></td>
|
||||
<td><?= $row->payment_method ?></td>
|
||||
<td><?= $book->invoice_date ?></td>
|
||||
<td style="text-align: left;"><?= isset($row->publisher_code) ? $row->publisher_code : '-' ?></td>
|
||||
<td style="text-align: center;"><?= $row->publisher_item_count ?></td>
|
||||
<td style="text-align: right;"><?= number_format($row->publisher_total_cost, 2) ?></td>
|
||||
<td style="text-align: left;"><?= $book->book_name ?></td>
|
||||
<td style="text-align: left;"><?= $book->item_count ?></td>
|
||||
<td style="text-align: right;"><?= number_format($book->total_cost, 2) ?></td>
|
||||
<td style="text-align: left;"><?= $row->payment_method ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
<?php endforeach; ?>
|
||||
|
||||
@ -1,100 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<link rel="stylesheet"
|
||||
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
|
||||
<title>Pay With PayTM</title>
|
||||
</head>
|
||||
<body>
|
||||
<form method="post" action="<?php echo base_url('pay'); ?>">
|
||||
<table class="table table-sm table-striped table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>S.No</th>
|
||||
<th>Label</th>
|
||||
<th>Value</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>
|
||||
<label>ORDER_ID::*</label>
|
||||
</td>
|
||||
<td>
|
||||
<input id="ORDER_ID" class="form-control"
|
||||
tabindex="1" maxlength="20"
|
||||
size="20" name="ORDER_ID" autocomplete="off"
|
||||
value="<?php echo 'ORDS' . rand(10000,99999999)?>">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>
|
||||
<label>CUSTID ::*</label>
|
||||
</td>
|
||||
<td>
|
||||
<input id="CUST_ID" class="form-control"
|
||||
tabindex="2" maxlength="12"
|
||||
size="12" name="CUST_ID"
|
||||
autocomplete="off" value="CUST001">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td>
|
||||
<label>INDUSTRY_TYPE_ID ::*</label>
|
||||
</td>
|
||||
<td>
|
||||
<input id="INDUSTRY_TYPE_ID" class="form-control"
|
||||
tabindex="4" maxlength="12" size="12"
|
||||
name="INDUSTRY_TYPE_ID" autocomplete="off"
|
||||
value="Retail">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4</td>
|
||||
<td>
|
||||
<label>Channel ::*</label>
|
||||
</td>
|
||||
<td>
|
||||
<input id="CHANNEL_ID" class="form-control"
|
||||
tabindex="4" maxlength="12"
|
||||
size="12" name="CHANNEL_ID"
|
||||
autocomplete="off" value="WEB">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5</td>
|
||||
<td>
|
||||
<label>txnAmount*</label>
|
||||
</td>
|
||||
<td>
|
||||
<input title="TXN_AMOUNT" class="form-control"
|
||||
tabindex="10" type="text"
|
||||
name="TXN_AMOUNT" value="1">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>
|
||||
<input value="CheckOut"
|
||||
type="submit"
|
||||
class="btn btn-primary">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<script
|
||||
src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
|
||||
<script
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
|
||||
<script
|
||||
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
85
app/Views/payment_failure.php
Normal file
85
app/Views/payment_failure.php
Normal file
@ -0,0 +1,85 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Payment Failure</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
background-color: #f4f4f4;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.container {
|
||||
text-align: center;
|
||||
background-color: #fff;
|
||||
padding: 20px 40px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.container h1 {
|
||||
color: #d9534f;
|
||||
}
|
||||
|
||||
.container p {
|
||||
color: #777;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.container .icon {
|
||||
font-size: 50px;
|
||||
color: #d9534f;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.container .btn {
|
||||
display: inline-block;
|
||||
padding: 10px 20px;
|
||||
margin-top: 20px;
|
||||
border-radius: 5px;
|
||||
color: #fff;
|
||||
background-color: #d9534f;
|
||||
text-decoration: none;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
.container .btn:hover {
|
||||
background-color: #c9302c;
|
||||
}
|
||||
|
||||
.container .btn-secondary {
|
||||
background-color: #5bc0de;
|
||||
}
|
||||
|
||||
.container .btn-secondary:hover {
|
||||
background-color: #31b0d5;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="icon"> <!-- Red Cross Mark -->
|
||||
<h4>❌ Payment Failed</h4></div>
|
||||
<p>Unfortunately, your payment could not be processed at this time. Please try again later.</p>
|
||||
<p>If the problem persists, contact customer support for assistance.</p>
|
||||
<a class="btn btn-info" href="<?=base_url('/subscription_renewal')?>">Click here to try again</a>
|
||||
<br>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
window.location.hash = "no-back-button";
|
||||
|
||||
window.location.hash = "Again-No-back-button";
|
||||
|
||||
window.onhashchange = function(){
|
||||
window.location.hash = "no-back-button";
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
84
app/Views/payment_success.php
Normal file
84
app/Views/payment_success.php
Normal file
@ -0,0 +1,84 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Payment Success</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
background-color: #f4f4f4;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
.container {
|
||||
text-align: center;
|
||||
background-color: #fff;
|
||||
padding: 20px 40px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.container h1 {
|
||||
color: #5cb85c;
|
||||
}
|
||||
|
||||
.container p {
|
||||
color: #777;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.container .icon {
|
||||
font-size: 50px;
|
||||
color: #5cb85c;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.container .btn {
|
||||
display: inline-block;
|
||||
padding: 10px 20px;
|
||||
margin-top: 20px;
|
||||
border-radius: 5px;
|
||||
color: #fff;
|
||||
background-color: #5cb85c;
|
||||
text-decoration: none;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
.container .btn:hover {
|
||||
background-color: #4cae4c;
|
||||
}
|
||||
|
||||
.container .btn-secondary {
|
||||
background-color: #5bc0de;
|
||||
}
|
||||
|
||||
.container .btn-secondary:hover {
|
||||
background-color: #31b0d5;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<!-- Green Tick Mark -->
|
||||
<div class="icon">
|
||||
<h4>✔ Payment Successful</h4></div>
|
||||
<p>Your payment has been successfully processed. Thank you for your purchase!</p>
|
||||
<p>If you have any questions, please contact customer support.</p>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
window.location.hash = "no-back-button";
|
||||
|
||||
window.location.hash = "Again-No-back-button";
|
||||
|
||||
window.onhashchange = function(){
|
||||
window.location.hash = "no-back-button";
|
||||
}
|
||||
</script>
|
||||
</html>
|
||||
@ -40,9 +40,9 @@
|
||||
<tbody>
|
||||
<?php foreach ($payment_data as $row) { ?>
|
||||
<tr>
|
||||
<td><?php echo $row["invoice_number"]; ?></td>
|
||||
<td><?= $row['first_name'] ?></td>
|
||||
<td><?= $row['total_amount'] ?></td>
|
||||
<td style="text-align: left;"><?php echo $row["invoice_number"]; ?></td>
|
||||
<td style="text-align: left;"><?= $row['first_name'] ?></td>
|
||||
<td style="text-align: right;"><?= $row['total_amount'] ?></td>
|
||||
<td><?= $row['payment_status'] ?></td>
|
||||
<td><?= $row['payment_method']?></td>
|
||||
<?php $unixTime = strtotime($row['invoice_date']);
|
||||
|
||||
@ -53,11 +53,11 @@
|
||||
<?php foreach ($report_data as $row) { ?>
|
||||
<tr>
|
||||
<td hidden><?php echo $row->invoice_id; ?></td>
|
||||
<td><?php echo $row->title; ?></td>
|
||||
<td><?php echo $row->publisher; ?></td>
|
||||
<td><?php echo $row->price ?></td>
|
||||
<td><?php echo $row->publishers_code?></td>
|
||||
<td><?php echo $row->invoice_date ?></td>
|
||||
<td style="text-align: left;"><?php echo $row->title; ?></td>
|
||||
<td style="text-align: left;"><?php echo $row->publisher; ?></td>
|
||||
<td style="text-align: end;"><?php echo $row->price ?></td>
|
||||
<td style="text-align: left;"><?php echo $row->publishers_code?></td>
|
||||
<td style = "text-align:center"><?php echo date("d/m/Y",strtotime($row->invoice_date)) ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</tbody>
|
||||
|
||||
@ -42,12 +42,12 @@
|
||||
<?php foreach ($expired_customers as $row) { ?>
|
||||
<tr>
|
||||
<td hidden><?php echo $row["sub_id"]; ?></td>
|
||||
<td><?= $row['first_name'] . ' ' . $row['last_name'] ?></td>
|
||||
<td style="text-align: left;"><?= $row['first_name'] . ' ' . $row['last_name'] ?></td>
|
||||
<td><?= $row['mobile_no'] ?></td>
|
||||
<td><?= $row['email'] ?></td>
|
||||
<td style="text-align: left;"><?= $row['email'] ?></td>
|
||||
<td><?= $row['short_code'] ?></td>
|
||||
<td><?= $row['from_subscription'] ?></td>
|
||||
<td><?= $row['to_subscription'] ?></td>
|
||||
<td style="text-align: center;"><?= date("d/m/Y", strtotime($row['from_subscription'])); ?></td>
|
||||
<td style="text-align: center;"><?= date("d/m/Y", strtotime($row['to_subscription'])); ?></td>
|
||||
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
@ -63,13 +63,13 @@
|
||||
<tr>
|
||||
<td hidden><?php echo $row->invoice_id; ?></td>
|
||||
<td><?php echo $row->invoice_number; ?></td>
|
||||
<td><?php echo $row->formatted_invoice_date; ?></td>
|
||||
<td><?php echo $row->first_name . " " . $row->last_name; ?></td>
|
||||
<td style="text-align: left;"><?php echo $row->formatted_invoice_date; ?></td>
|
||||
<td style="text-align: left;"><?php echo $row->first_name . " " . $row->last_name; ?></td>
|
||||
<td><?php echo $row->tax ? $row->tax . '%' : '0%'; ?></td>
|
||||
<td><?php echo '₹' . number_format($row->discount, 2, '.', ','); ?></td>
|
||||
<td><?php echo $row->item_count; ?></td>
|
||||
<td><?php echo '₹' . number_format($row->shipping_charge, 2, '.', ','); ?></td>
|
||||
<td><?php echo '₹' . number_format($row->total_amount, 2, '.', ','); ?></td>
|
||||
<td style="text-align: center;"><?php echo $row->item_count; ?></td>
|
||||
<td style="text-align: right;"><?php echo '₹' . number_format($row->shipping_charge, 2, '.', ','); ?></td>
|
||||
<td style="text-align: right;"><?php echo '₹' . number_format($row->total_amount, 2, '.', ','); ?></td>
|
||||
<td><?php echo $row->status; ?></td>
|
||||
<td><?php echo ($row->invoice_type == 1) ? 'Book Invoice' : 'Membership Invoice'; ?></td>
|
||||
<td><?php echo $row->payment_method; ?></td>
|
||||
|
||||
@ -69,12 +69,12 @@
|
||||
<?php foreach ($report_data as $row) { ?>
|
||||
<?php foreach ($row->books as $book) { ?>
|
||||
<tr>
|
||||
<td><?php echo isset($row->publisher_code)? $row->publisher_code:'-'; ?></td>
|
||||
<td><?php echo $row->publisher_item_count; ?></td>
|
||||
<td><?php echo number_format($row->publisher_total_cost, 2); ?></td>
|
||||
<td><?php echo $book->book_name; ?></td>
|
||||
<td><?php echo $book->item_count; ?></td>
|
||||
<td><?php echo number_format($book->total_cost, 2); ?></td>
|
||||
<td style="text-align: left;"><?php echo isset($row->publisher_code)? $row->publisher_code:'-'; ?></td>
|
||||
<td style="text-align: center;"><?php echo $row->publisher_item_count; ?></td>
|
||||
<td style="text-align: right;"><?php echo number_format($row->publisher_total_cost, 2); ?></td>
|
||||
<td style="text-align: left;"><?php echo $book->book_name; ?></td>
|
||||
<td style="text-align: center;"><?php echo $book->item_count; ?></td>
|
||||
<td style="text-align: right;"><?php echo number_format($book->total_cost, 2); ?></td>
|
||||
<td><?php echo $book->book_publication_date; ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
@ -42,11 +42,11 @@
|
||||
<?php foreach ($report_data as $row) { ?>
|
||||
<tr>
|
||||
<td hidden><?php echo $row["user_id"]; ?></td>
|
||||
<td><?= $row['first_name']?></td>
|
||||
<td><?= $row['event_name'] ?></td>
|
||||
<td><?= $row['books_sold'] ?></td>
|
||||
<td><?= $row['total_amount'] ?></td>
|
||||
<td><?= $row['payment_method']?></td>
|
||||
<td style="text-align: left;"><?= $row['first_name']?></td>
|
||||
<td style="text-align: left;"><?= $row['event_name'] ?></td>
|
||||
<td style="text-align: center;"><?= $row['books_sold'] ?></td>
|
||||
<td style="text-align: right;"><?= $row['total_amount'] ?></td>
|
||||
<td style="text-align: left;"><?= $row['payment_method']?></td>
|
||||
<?php $unixTime = strtotime($row['invoice_date']);
|
||||
$invoice_date = date("d-m-Y", $unixTime);?>
|
||||
<td><?= $invoice_date ?></td>
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<?php var_dump($receivedFromPaytm);die();?>
|
||||
|
||||
<div class="container payment-success">
|
||||
<div class="card shadow-sm">
|
||||
|
||||
@ -4,33 +4,38 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<link rel="stylesheet"
|
||||
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
|
||||
<title>Pay With PayTM</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-3"></div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<span class="text-danger">* - Mandatory Fields</span>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-3"></div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<span class="text-danger">* - Mandatory Fields</span>
|
||||
</div>
|
||||
<form method="post" action="<?php echo htmlspecialchars(PAYTM_TXN_URL) ?>" id='f1' name="f1">
|
||||
<?php
|
||||
foreach($paramList as $name => $value) {
|
||||
// Changed to hidden input to prevent data from being visible in the source
|
||||
echo '<input type="hidden" name="' . $name .'" value="' . htmlspecialchars($value) . '">';
|
||||
}
|
||||
?>
|
||||
<!-- Hidden field for checksum -->
|
||||
<input id = "CHECKSUMHASH" type="hidden" name="CHECKSUMHASH" value="<?php echo htmlspecialchars($checkSum) ?>">
|
||||
<!-- <input type="submit" placeholder="SUbmit"> -->
|
||||
<script type="text/javascript">
|
||||
// Automatically submitting the form when the page is loaded
|
||||
console.log("Before Submitting")
|
||||
document.forms['f1'].submit();
|
||||
</script>
|
||||
</form>
|
||||
</div>
|
||||
<form method="post" action="<?php echo PAYTM_TXN_URL ?>" name="f1">
|
||||
<?php
|
||||
foreach($paramList as $name => $value) {
|
||||
echo '<input type="hidden" name="' . $name .'" value="' . $value . '">';
|
||||
} ?>
|
||||
<input type="hidden" name="CHECKSUMHASH" value="<?php echo $checkSum ?>">
|
||||
<script type="text/javascript">
|
||||
document.f1.submit();
|
||||
</script>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</html>
|
||||
|
||||
0
vendor/clue/ndjson-react/.github/FUNDING.yml
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/.github/FUNDING.yml
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/CHANGELOG.md
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/CHANGELOG.md
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/LICENSE
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/LICENSE
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/README.md
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/README.md
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/composer.json
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/composer.json
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/src/Decoder.php
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/src/Decoder.php
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/src/Encoder.php
vendored
Normal file → Executable file
0
vendor/clue/ndjson-react/src/Encoder.php
vendored
Normal file → Executable file
0
vendor/codeigniter/coding-standard/CHANGELOG.md
vendored
Normal file → Executable file
0
vendor/codeigniter/coding-standard/CHANGELOG.md
vendored
Normal file → Executable file
0
vendor/codeigniter/coding-standard/CONTRIBUTING.md
vendored
Normal file → Executable file
0
vendor/codeigniter/coding-standard/CONTRIBUTING.md
vendored
Normal file → Executable file
0
vendor/codeigniter/coding-standard/LICENSE
vendored
Normal file → Executable file
0
vendor/codeigniter/coding-standard/LICENSE
vendored
Normal file → Executable file
0
vendor/codeigniter/coding-standard/README.md
vendored
Normal file → Executable file
0
vendor/codeigniter/coding-standard/README.md
vendored
Normal file → Executable file
0
vendor/codeigniter/coding-standard/composer.json
vendored
Normal file → Executable file
0
vendor/codeigniter/coding-standard/composer.json
vendored
Normal file → Executable file
0
vendor/codeigniter/coding-standard/src/CodeIgniter4.php
vendored
Normal file → Executable file
0
vendor/codeigniter/coding-standard/src/CodeIgniter4.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/LICENSE
vendored
Normal file → Executable file
0
vendor/composer/pcre/LICENSE
vendored
Normal file → Executable file
0
vendor/composer/pcre/README.md
vendored
Normal file → Executable file
0
vendor/composer/pcre/README.md
vendored
Normal file → Executable file
0
vendor/composer/pcre/composer.json
vendored
Normal file → Executable file
0
vendor/composer/pcre/composer.json
vendored
Normal file → Executable file
0
vendor/composer/pcre/extension.neon
vendored
Normal file → Executable file
0
vendor/composer/pcre/extension.neon
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/MatchAllResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/MatchAllResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/MatchAllStrictGroupsResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/MatchAllStrictGroupsResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/MatchAllWithOffsetsResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/MatchAllWithOffsetsResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/MatchResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/MatchResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/MatchStrictGroupsResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/MatchStrictGroupsResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/MatchWithOffsetsResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/MatchWithOffsetsResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PHPStan/PregMatchFlags.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PHPStan/PregMatchFlags.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PcreException.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/PcreException.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/Preg.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/Preg.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/Regex.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/Regex.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/ReplaceResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/ReplaceResult.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/UnexpectedNullMatchException.php
vendored
Normal file → Executable file
0
vendor/composer/pcre/src/UnexpectedNullMatchException.php
vendored
Normal file → Executable file
0
vendor/composer/semver/CHANGELOG.md
vendored
Normal file → Executable file
0
vendor/composer/semver/CHANGELOG.md
vendored
Normal file → Executable file
0
vendor/composer/semver/LICENSE
vendored
Normal file → Executable file
0
vendor/composer/semver/LICENSE
vendored
Normal file → Executable file
0
vendor/composer/semver/README.md
vendored
Normal file → Executable file
0
vendor/composer/semver/README.md
vendored
Normal file → Executable file
0
vendor/composer/semver/composer.json
vendored
Normal file → Executable file
0
vendor/composer/semver/composer.json
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Comparator.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Comparator.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/CompilingMatcher.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/CompilingMatcher.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Constraint/Bound.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Constraint/Bound.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Constraint/Constraint.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Constraint/Constraint.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Constraint/ConstraintInterface.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Constraint/ConstraintInterface.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Constraint/MatchAllConstraint.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Constraint/MatchAllConstraint.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Constraint/MatchNoneConstraint.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Constraint/MatchNoneConstraint.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Constraint/MultiConstraint.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Constraint/MultiConstraint.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Interval.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Interval.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Intervals.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Intervals.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Semver.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/Semver.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/VersionParser.php
vendored
Normal file → Executable file
0
vendor/composer/semver/src/VersionParser.php
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/CHANGELOG.md
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/CHANGELOG.md
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/LICENSE
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/LICENSE
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/README.md
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/README.md
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/composer.json
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/composer.json
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/src/PhpConfig.php
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/src/PhpConfig.php
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/src/Process.php
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/src/Process.php
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/src/Status.php
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/src/Status.php
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/src/XdebugHandler.php
vendored
Normal file → Executable file
0
vendor/composer/xdebug-handler/src/XdebugHandler.php
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/.doctrine-project.json
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/.doctrine-project.json
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/CONTRIBUTING.md
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/CONTRIBUTING.md
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/LICENSE
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/LICENSE
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/README.md
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/README.md
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/composer.json
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/composer.json
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/docs/en/index.rst
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/docs/en/index.rst
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/docs/en/sidebar.rst
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/docs/en/sidebar.rst
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/psalm.xml
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/psalm.xml
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php
vendored
Normal file → Executable file
0
vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php
vendored
Normal file → Executable file
0
vendor/evenement/evenement/.gitattributes
vendored
Normal file → Executable file
0
vendor/evenement/evenement/.gitattributes
vendored
Normal file → Executable file
0
vendor/evenement/evenement/LICENSE
vendored
Normal file → Executable file
0
vendor/evenement/evenement/LICENSE
vendored
Normal file → Executable file
0
vendor/evenement/evenement/README.md
vendored
Normal file → Executable file
0
vendor/evenement/evenement/README.md
vendored
Normal file → Executable file
0
vendor/evenement/evenement/composer.json
vendored
Normal file → Executable file
0
vendor/evenement/evenement/composer.json
vendored
Normal file → Executable file
0
vendor/evenement/evenement/src/EventEmitter.php
vendored
Normal file → Executable file
0
vendor/evenement/evenement/src/EventEmitter.php
vendored
Normal file → Executable file
0
vendor/evenement/evenement/src/EventEmitterInterface.php
vendored
Normal file → Executable file
0
vendor/evenement/evenement/src/EventEmitterInterface.php
vendored
Normal file → Executable file
0
vendor/evenement/evenement/src/EventEmitterTrait.php
vendored
Normal file → Executable file
0
vendor/evenement/evenement/src/EventEmitterTrait.php
vendored
Normal file → Executable file
0
vendor/fakerphp/faker/CHANGELOG.md
vendored
Normal file → Executable file
0
vendor/fakerphp/faker/CHANGELOG.md
vendored
Normal file → Executable file
0
vendor/fakerphp/faker/LICENSE
vendored
Normal file → Executable file
0
vendor/fakerphp/faker/LICENSE
vendored
Normal file → Executable file
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user