���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /var/www/html/vidoe.top/lib/payment/ |
<?php /** * Payment Gateway * * This library provides generic payment gateway handling functionlity * to the other payment gateway classes in an uniform way. Please have * a look on them for the implementation details. * * @package Payment Gateway * @category Library * @author Md Emran Hasan <[email protected]> * @link http://www.phpfour.com */ abstract class PaymentGateway { /** * Holds the last error encountered * * @var string */ public $lastError; /** * Do we need to log IPN results ? * * @var boolean */ public $logIpn; /** * File to log IPN results * * @var string */ public $ipnLogFile; /** * Payment gateway IPN response * * @var string */ public $ipnResponse; /** * Are we in test mode ? * * @var boolean */ public $testMode; /** * Field array to submit to gateway * * @var array */ public $fields = array(); /** * IPN post values as array * * @var array */ public $ipnData = array(); /** * Payment gateway URL * * @var string */ public $gatewayUrl; /** * Initialization constructor * * @param none * @return void */ public function __construct() { // Some default values of the class $this->lastError = ''; $this->logIpn = TRUE; $this->ipnResponse = ''; $this->testMode = FALSE; } /** * Adds a key=>value pair to the fields array * * @param string key of field * @param string value of field * @return */ public function addField($field, $value) { $this->fields["$field"] = $value; } /** * Submit Payment Request * * Generates a form with hidden elements from the fields array * and submits it to the payment gateway URL. The user is presented * a redirecting message along with a button to click. * * @param none * @return void */ public function submitPayment() { $this->prepareSubmit(); echo "<html>\n"; echo "<head><title>Processing Payment...</title></head>\n"; echo "<body onLoad=\"document.forms['gateway_form'].submit();\">\n"; echo "<p style=\"text-align:center;\"><h2>Xin vui lòng chờ, đặt hàng của bạn đang được xử lý, "; echo " và bạn sẽ được chuyển hướng đến các trang web thanh toán.</h2></p>\n"; echo "<form method=\"POST\" name=\"gateway_form\" "; echo "action=\"" . $this->gatewayUrl . "\">\n"; foreach ($this->fields as $name => $value) { echo "<input type=\"hidden\" name=\"$name\" value=\"$value\"/>\n"; } echo "<p style=\"text-align:center;\"><br/><br/>Nếu bạn không tự động chuyển đến trang web "; echo " thanh toán trong vòng 5 giây ...<br/><br/>\n"; echo "<input type=\"submit\" value=\"Bấm vào đây\"></p>\n"; echo "</form>\n"; echo "</body></html>\n"; exit(); } /** * Perform any pre-posting actions * * @param none * @return none */ protected function prepareSubmit() { // Fill if needed } /** * Enables the test mode * * @param none * @return none */ abstract protected function enableTestMode(); /** * Validate the IPN notification * * @param none * @return boolean */ abstract protected function validateIpn(); /** * Logs the IPN results * * @param boolean IPN result * @return void */ public function logResults($success) { if (!$this->logIpn) return; // Timestamp $text = '[' . date('m/d/Y g:i A').'] - '; // Success or failure being logged? $text .= ($success) ? "SUCCESS!\n" : 'FAIL: ' . $this->lastError . "\n"; // Log the POST variables $text .= "IPN POST Vars from gateway:\n"; foreach ($this->ipnData as $key=>$value) { $text .= "$key=$value, "; } // Log the response from the paypal server $text .= "\nIPN Response from gateway Server:\n " . $this->ipnResponse; // Write to log $fp = fopen($this->ipnLogFile,'a'); fwrite($fp, $text . "\n\n"); fclose($fp); } }