ÿØÿà 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/thietkewebvumi.com/lib/payment/ |
<?php /** * Paypal Class * * Integrate the Paypal payment gateway in your site using this easy * to use library. Just see the example code to know how you should * proceed. Btw, this library does not support the recurring payment * system. If you need that, drop me a note and I will send to you. * * @package Payment Gateway * @category Library * @author Md Emran Hasan <phpfour@gmail.com> * @link http://www.phpfour.com */ include_once ('PaymentGateway.php'); class Paypal extends PaymentGateway { /** * Initialize the Paypal gateway * * @param none * @return void */ public function __construct() { parent::__construct(); // Some default values of the class $this->gatewayUrl = 'https://www.paypal.com/cgi-bin/webscr'; $this->ipnLogFile = 'paypal.ipn_results.log'; // Populate $fields array with a few default $this->addField('rm', '2'); // Return method = POST $this->addField('cmd', '_xclick'); } /** * Enables the test mode * * @param none * @return none */ public function enableTestMode() { $this->testMode = TRUE; $this->gatewayUrl = 'https://www.sandbox.paypal.com/cgi-bin/webscr'; } /** * Validate the IPN notification * * @param none * @return boolean */ public function validateIpn() { // parse the paypal URL $urlParsed = parse_url($this->gatewayUrl); // generate the post string from the _POST vars $postString = ''; foreach ($_POST as $field=>$value) { $this->ipnData["$field"] = $value; $postString .= $field .'=' . urlencode(stripslashes($value)) . '&'; } $postString .="cmd=_notify-validate"; // append ipn command // open the connection to paypal $fp = fsockopen($urlParsed[host], "80", $errNum, $errStr, 30); if(!$fp) { // Could not open the connection, log error if enabled $this->lastError = "fsockopen error no. $errNum: $errStr"; $this->logResults(false); return false; } else { // Post the data back to paypal fputs($fp, "POST $urlParsed[path] HTTP/1.1\r\n"); fputs($fp, "Host: $urlParsed[host]\r\n"); fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n"); fputs($fp, "Content-length: " . strlen($postString) . "\r\n"); fputs($fp, "Connection: close\r\n\r\n"); fputs($fp, $postString . "\r\n\r\n"); // loop through the response from the server and append to variable while(!feof($fp)) { $this->ipnResponse .= fgets($fp, 1024); } fclose($fp); // close connection } if (eregi("VERIFIED", $this->ipnResponse)) { // Valid IPN transaction. $this->logResults(true); return true; } else { // Invalid IPN transaction. Check the log for details. $this->lastError = "IPN Validation Failed . $urlParsed[path] : $urlParsed[host]"; $this->logResults(false); return false; } } }