File manager - Edit - /home/linknsbh/sabel-eltaqwa.com/assets/lfm/files/shares/events/thumbs/payments.zip
Back
PK �>�\H�C! ! paytm/logo/logo.pngnu �[��� �PNG IHDR � A �P� pHYs �� gAMA ��|�Q� cHRM z% �� �� �� u0 �` :� o�_�F �IDATx�b���?�(� �h��� h4Q��a h4Q��a h4Q��a h4Q��a h4Q��a h4Q��a h4Q��a h4Q��a h4Q��a h4Q��a h4Q��a h4Q�eb��7s��� e��� ��*����e��ֶS�cf��<�oNjѐ� �e4? 'hq;Fh����Ƿ��� �h�c�PsTB3��� �FK�A�����\g�T���8 $ � Tmj;w_5Aa ����Q���'��|J�ZSkQ1q5|j^�zy���?������/�������u�%l�R����vP"V�1��9�-��[���=A+p01�]���ͳl��b���_s������H�+j��a��e`l��(A37dֶ�bs;��LJw,��y� 4����� �N��g��'����-����sE���s��K�^ ����iC���ݔw��O�%Ҡج��K>�d��Cs�'�H���f�Br����20 p0# ӷ0;�[S�)�m��f<bp���!q��g u9 ]�@ � �'�8����H��|���w��2��A������֏l_��k�`͞�6ɝ�?��0�����ci���0� �W���YE8�WT���?��{߇��h�y�ƹo]�h�R�U��?+�Ʃؼ��?;3���Tھf^wJ)����,��͌�TT233 �)���{ .ad{Av�܅R3 ��3�<�����@�N^c��i3=�K$u��l�tw/� �A��(�������{�j�ז� �D @�����F�Pbe���3l�ȷg~ae%�<P���bX��s%�d��_��������ɭ� ,\�n���``9�ڀ�����h��Y9�͊��̓�T1T�r�0�?�4T���N��Y�F��e�� 4������;&lR�}�DVF���AYU�otL ��}R��� h�$jP�����H��0I[8�K#�ۭ�>1�~�?���L)��,"���+Jg�b�a�C�^���L��q�)� А���l��>���k/ �m_Yt�o0 � p�(#!�^3�����t=߾}y�Cs�����3Z��+��#bߢ&������ǃ�ShXO��� 6��S� ��K��/��:�y�)�z�o��65�������l&�m������kD�� �}����/C������)���!S���Q���l@K�U�����n�]d�B���Cd�!�=�:v�4h��v�Xq�� zW��=C�%Lx9xi��mi�Z;�m9���!<����+�K�� �%5�KA��>�?� ���Dd�~ ۦ/�ߟ���8���9���Ƀ���H @Cv����_�XG,� ��33��F6�_��P����L��P�,�ٸ�p�q����f @#b�h���]u�����@��o� �-M������&�6�|v���o� ���(s�wh�h�}�_֠��Xc S8�@� �h|�q%T�Lm`j� mꏟ�P���b�t��#�����I�.>��� ��: �1��pb(��?�3�Ч.R��/xL������c���O���p[� @�>Q���OR+������������/O_N��)��>0��S�=?|y��Z�Čխn��.��� +�M�� АhS���T�A�g�m`��0ǿ�߿}�y�M��A{����V�}�Ys,��I��Sl��`���#��<�� А�(U�� )�ra�r�ԧ/�)�JKl �PY쵓��rN~ޯ�?~��s�V��矉j�����������5�(� ��5��'��}5o���~2�T�8Yj�׃�;~c��S�E5�ր����)��{�5��h*d ��M���C�@�-�"}\���e�-��o�x�����ߗ�#֥��Q00 ��LI�5� ��!?`���B�쁵�&���O�&���&~Qi��~�W�y��]�`�� ��D���`�VDMs?��?���~���֭���"�@N�-�ߴl�Z �cd�4�8��� h�/hV�:Z\{��\�� ��b��, ln���Խ~���(�h�� ��_R�l���R3���<~�m�-_�z��co��r� l��QCW8����Ԛ��� ����X���JLN���y;U7���旗�H� %��.20|�"���� �c�.�/ (�p� 3�(�� ���$���y��3��w��_B$vrV�)�aO����?6rV�&?� � � =�?��@�q`�]�H���2�����ެM~� 4�5����$�4�M ���77�:�_�28[�%v<}� h�/=��鈌��%���d�����AQ��r�3hB�g-��_>_ Mz� 4���w?1�F�x�Y�_P�FMtL�̓ݭ�N�d�|��+d��g_���n�(�*�R��`�k��1= ���F,KAf;�: <`�� BHz����2S���r趀�����`�r|f �Au@$h����]����$ ����6QcH4A"��l2�� w<|p�.�!��X �Z����˫�f ��4@G�>�u.�#(����b��c��< �֕��̜<$Ĕ�1fB�����9y^ �Μ�걙=� �Fo� ��4�(v �F�(v �F�(v �F�(v �F�(v �F�(v �F�(v �F�(v �F�(v �F�(v �F�(v �F�(v �F�(v �F�(v �F�(v �F�(v � i�,��e� IEND�B`�PK �>�\�`�� � paytm/paytm.phpnu �[��� <?php /** ***** Paytm Functions ***** **/ 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 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; } function checkString_e($value) { if ($value == 'null' || $value == 'NULL') $value = ''; return $value; } function generateSalt_e($length) { $random = ""; srand((double)microtime() * 1000000); $data = "AbcDE123IJKLMN67QRSTUVWXYZ"; $data .= "aBCdefghijklmn123opq45rs67tuv89wxyz"; $data .= "0FGH45OP89"; for ($i = 0; $i < $length; $i++) { $random .= substr($data, (rand() % (strlen($data))), 1); } return $random; } function encrypt_e($input, $ky) { $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; } 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 removeCheckSumParam($arrayList) { if (isset($arrayList["CHECKSUMHASH"])) { unset($arrayList["CHECKSUMHASH"]); } return $arrayList; } 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 callNewAPI($apiURL, $requestParamList) { $jsonResponse = ""; $responseParamList = array(); $postData = 'JsonData='.json_encode($requestParamList, JSON_UNESCAPED_SLASHES); $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_URL, $apiURL); 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')); $jsonResponse = curl_exec($ch); $responseParamList = json_decode($jsonResponse,true); return $responseParamList; } /** * Execute purchase product after successful payment */ function paytmReturn() { global $config; $error = ''; $access_token = $_GET["access_token"]; if ($_POST["RESPCODE"] == 01 && isset($_GET["access_token"])) { $paytmChecksum = isset($_POST["CHECKSUMHASH"]) ? $_POST["CHECKSUMHASH"] : ""; //Sent by Paytm pg //URL $PAYTM_STATUS_QUERY_NEW_URL_SANDBOX = 'https://securegw-stage.paytm.in/merchant-status/getTxnStatus'; $PAYTM_STATUS_QUERY_NEW_URL = 'https://securegw.paytm.in/merchant-status/getTxnStatus'; $payment_type = $_SESSION['quickad'][$access_token]['payment_type']; if($payment_type == "order") { $restaurant_id = $_SESSION['quickad'][$access_token]['restaurant_id']; $PAYTM_MERCHANT_KEY = get_restaurant_option($restaurant_id,'restaurant_paytm_merchant_key'); $PAYTM_MERCHANT_MID = get_restaurant_option($restaurant_id,'restaurant_paytm_merchant_mid'); $PAYTM_SANDBOX = get_restaurant_option($restaurant_id,'restaurant_paytm_sandbox_mode'); }else{ $PAYTM_MERCHANT_KEY = get_option('PAYTM_MERCHANT_KEY'); $PAYTM_MERCHANT_MID = get_option('PAYTM_MERCHANT_MID'); $PAYTM_SANDBOX = get_option('PAYTM_ENVIRONMENT'); } //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($_POST, $PAYTM_MERCHANT_KEY, $paytmChecksum); //will return TRUE or FALSE string. if ($isValidChecksum == "TRUE") { $requestParamList = array("MID" => $PAYTM_MERCHANT_MID, "ORDERID" => $_GET["access_token"]); $StatusCheckSum = getChecksumFromArray($requestParamList, $PAYTM_MERCHANT_KEY); $requestParamList['CHECKSUMHASH'] = urlencode($StatusCheckSum); $url = ($PAYTM_SANDBOX == 'TEST') ? $PAYTM_STATUS_QUERY_NEW_URL_SANDBOX : $PAYTM_STATUS_QUERY_NEW_URL; $responseParamList = callNewAPI($url, $requestParamList); if ($responseParamList['STATUS'] == 'TXN_SUCCESS') { //echo "Transaction was successful"; payment_success_save_detail($access_token); exit(); } else { // the transaction was not successful, do not deliver value' // print_r($result); //uncomment this line to inspect the result, to check why it failed. payment_fail_save_detail($access_token); mail($config['admin_email'],'Paytm error in '.$config['site_title'],'Paytm error in '.$config['site_title'].', status from Paytm'); $error_msg = "Transaction was not successful: Last gateway response was: ".$_POST["RESPMSG"]; payment_error("error",$error_msg,$access_token); exit(); } } else { // the transaction was not successful, do not deliver value' // print_r($result); //uncomment this line to inspect the result, to check why it failed. payment_fail_save_detail($access_token); mail($config['admin_email'],'Paytm error in '.$config['site_title'],'Paytm error in '.$config['site_title'].', status from Paytm'); $error_msg = "Transaction was not successful: Last gateway response was: ".$_POST["RESPMSG"]; payment_error("error",$error_msg,$access_token); exit(); } } else { // the transaction was not successful, do not deliver value' // print_r($result); //uncomment this line to inspect the result, to check why it failed. payment_fail_save_detail($access_token); mail($config['admin_email'],'Paytm error in '.$config['site_title'],'Paytm error in '.$config['site_title'].', status from Paytm'); $error_msg = "Transaction was not successful: Last gateway response was: ".$_POST["RESPMSG"]; payment_error("error",$error_msg,$access_token); exit(); } }PK �>�\���C C paytm/Paytm_Controller.phpnu �[��� <?php /** * Created by PhpStorm. * User: SSI * Date: 09-03-2019 * Time: 12:45 PM */ namespace inc\payment; use lib\core\FormMsg; use lib\core\SessionMsg; use lib\core\System; use lib\entity\Cart; use lib\entity\Order; use lib\entity\Product; use lib\entity\Taxes; use lib\entity\User; use lib\payment\paytm\Paytm; class Paytm_Controller { /** * Init checkout transaction */ function init() { header("Pragma: no-cache"); header("Cache-Control: no-cache"); header("Expires: 0"); $cart = new Cart(); $product = new Product(); $paytm = new Paytm(); foreach ($cart->products as $index => $cart_product) { $product->load_by_id($cart_product->id)->load_all_data(); if ($product->seller == wp_get_current_user()->ID) { $cart->remove_from_cart($index); return 'OWN_PRODUCT'; break; } $price = $cart_product->license == 0 ? $product->regular_price : $product->extended_price; if (!$price) { continue; } $license = $cart_product->license == 0 ? 'Regular License' : 'Extended License'; $item = new \stdClass(); $item->name = $product->title . ' (' . $license . ')'; $item->price = $price; $item->qty = 1; $paytm->addProduct($item); } $tax = new Taxes(); $taxes = $tax->get_taxes_by_payment(); if (isset($taxes[Order::PAYMENT_METHOD_PAYTM])) { foreach ($taxes[Order::PAYMENT_METHOD_PAYTM] as $t) { $item = new \stdClass(); $item->name = $t->title; $item->price = $t->fee_dollar; $item->qty = 1; $paytm->addProduct($item); } } $paytm->sendRequest(); return true; } /** * Process Checkout cancel request. * @param $msg */ function cancel($msg) { wp_redirect(wp_sanitize_redirect(add_query_arg(array( 'codentheme_action' => 'paytm-error', 'error_msg' => urlencode($msg), ), remove_query_arg(Paytm::$remove_parameters, System::get_current_page_url())))); exit; } }PK �>�\ ԋ�� � paytm/pay.phpnu �[��� <?php header("Pragma: no-cache"); header("Cache-Control: no-cache"); header("Expires: 0"); require_once 'paytm.php'; // manually set action for paytm payments if (isset($_REQUEST['access_token']) && isset($_REQUEST['i']) && $_REQUEST['i'] == 'paytm') { paytmReturn(); } if (isset($_SESSION['quickad'][$access_token]['payment_type'])) { $title = $_SESSION['quickad'][$access_token]['name']; $amount = $_SESSION['quickad'][$access_token]['amount']; $_SESSION['quickad'][$access_token]['merchantOrderId'] = $access_token; //URL $PAYTM_STATUS_QUERY_NEW_URL_SANDBOX = 'https://securegw-stage.paytm.in/merchant-status/getTxnStatus'; $PAYTM_TXN_URL_SANDBOX = 'https://securegw-stage.paytm.in/theia/processTransaction'; $PAYTM_STATUS_QUERY_NEW_URL = 'https://securegw.paytm.in/merchant-status/getTxnStatus'; $PAYTM_TXN_URL = 'https://securegw.paytm.in/theia/processTransaction'; $current_url = $link['PAYMENT']."/?access_token=".$access_token."&i=paytm"; $paytm_order = $access_token; $payment_type = $_SESSION['quickad'][$access_token]['payment_type']; if($payment_type == "order") { $restaurant_id = $_SESSION['quickad'][$access_token]['restaurant_id']; $PAYTM_MERCHANT_KEY = get_restaurant_option($restaurant_id,'restaurant_paytm_merchant_key'); $PAYTM_MERCHANT_MID = get_restaurant_option($restaurant_id,'restaurant_paytm_merchant_mid'); $PAYTM_MERCHANT_WEBSITE = get_restaurant_option($restaurant_id,'restaurant_paytm_merchant_website'); $PAYTM_SANDBOX = get_restaurant_option($restaurant_id,'restaurant_paytm_sandbox_mode'); $data = array( "MID" => $PAYTM_MERCHANT_MID, "WEBSITE" => $PAYTM_MERCHANT_WEBSITE, "ORDER_ID" => $paytm_order, "CUST_ID" => $restaurant_id, "INDUSTRY_TYPE_ID" => 'Retail', "CHANNEL_ID" => 'WEB', "CALLBACK_URL" => $current_url ); }else{ $PAYTM_MERCHANT_KEY = get_option('PAYTM_MERCHANT_KEY'); $PAYTM_MERCHANT_MID = get_option('PAYTM_MERCHANT_MID'); $PAYTM_MERCHANT_WEBSITE = get_option('PAYTM_MERCHANT_WEBSITE'); $PAYTM_SANDBOX = get_option('PAYTM_ENVIRONMENT'); $user_id = $_SESSION['user']['id']; $userdata = get_user_data(null, $user_id); $user_email = $userdata['email']; $data = array( "MID" => $PAYTM_MERCHANT_MID, "WEBSITE" => $PAYTM_MERCHANT_WEBSITE, "ORDER_ID" => $paytm_order, "CUST_ID" => $user_id, "INDUSTRY_TYPE_ID" => 'Retail', "CHANNEL_ID" => 'WEB', "CALLBACK_URL" => $current_url, "EMAIL" => $user_email, //Email ID of customer "VERIFIED_BY" => 'EMAIL', "IS_USER_VERIFIED" => 'YES' ); } $data['TXN_AMOUNT'] = $amount; //Here checksum string will return by getChecksumFromArray() function. $checkSum = getChecksumFromArray($data, $PAYTM_MERCHANT_KEY); $data['CHECKSUMHASH'] = $checkSum; $url = ($PAYTM_SANDBOX == 'TEST') ? $PAYTM_TXN_URL_SANDBOX : $PAYTM_TXN_URL; ?> <html> <head> <title>Redirecting...</title> </head> <body> <p>Please do not refresh this page...</p> <form method="post" action="<?php echo $url ?>" name="f1"> <?php foreach ($data as $name => $value) { echo '<input type="hidden" name="' . $name . '" value="' . $value . '">'; } ?> </form> <script type="text/javascript"> document.f1.submit(); </script> </body> </html> <?php exit; } else { error($lang['INVALID_TRANSACTION'], __LINE__, __FILE__, 1); exit(); }PK �>�\�;��% �% paystack/logo/logo.pngnu �[��� �PNG IHDR � � (�zo pHYs �� gAMA ��|�Q� cHRM z% �� �� �� u0 �` :� o�_�F %1IDATx�b���?�(�`��Q0 �6 �� �`��Q0 �>