Code: Select all
?>
Code: Select all
// Begin Donation MOD with MPO
$lang = array_merge($lang, array(
'DONATE' => 'Donate',
'DONATE_EXPLAIN' => 'Support us by making a donation.',
'DONORLIST' => 'Donors',
'DONORLIST_EXPLAIN' => 'View the donors list.',
));
// END Donation MOD with MPO
Thanks, SiropuSiropu wrote:It's possible but I'm not adding any new functionality at this point.
To FIX this...PayPal wrote:In a bulletin dated the 18th of October, 2011, we announced that we were going to expand the number of IP addresses for http://www.paypal.com to improve our site’s performance, scalability and availability. As part of this transition, we planned to discontinue support for HTTP 1.0 protocol starting the 7th of October, 2013.
We have recently identified that this change may impact the ability of some of our merchants to perform IPN (Instant Payment Notification) post-back validation or PDT (Payment Data Transfer) posts to http://www.paypal.com and ipnpb.paypal.com. This happens when the IPN or PDT scripts use HTTP 1.0 protocol and do not include the “Host: http://www.paypal.com” or “Host: ipnpb.paypal.com” header in the HTTP request.
Additional Details
Starting the 7th of October, 2013, we will require all incoming requests to have a “Host” header which complies with HTTP 1.1 Specifications. This header was not required under HTTP 1.0. IPN and PDT scripts using HTTP 1.0 may start failing with “HTTP/1.0 400 Bad Request” errors after the 7th of October, 2013, which will result in IPN messages not being validated successfully, or PDT scripts not being able to retrieve transaction information.
Action Required before the 7th of October, 2013
Merchants need to update their IPN and/or PDT scripts to use HTTP 1.1, and include the “Host” and “Connection: close” HTTP header in the IPN postback script.
Example with Host as http://www.paypal.com (please make necessary changes if you are using ipnpb.paypal.com):
ASPPerlCode: Select all
//Set values for the request back req.Method="POST"; req.Host="'www.paypal.com'"; req.ContentType="application/x-www-form-urlencoded";
PHPCode: Select all
$req=HTTP::Request->new('POST', 'https://www.paypal.com/cgi-bin/webscr'); $req->content_type('application/x-www-form-urlencoded'); $req->header(Host=> 'www.paypal.com'); $req->header(Connection=> 'close');
JavaCode: Select all
// post back to PayPal system to validate $header="POST /cgi-bin/webscr HTTP/1.1\r\n"; $header .="Content-Type: application/x-www-form-urlencoded\r\n"; $header .="Host: http://www.paypal.com\r\n"; $header .="Connection: close\r\n\r\n";
The PayPal Sandbox has been configured to reject any HTTP requests without the “Host” header with HTTP 400 error. Merchants can use the Sandbox environment to certify the changes to their IPN and PDT scripts.Code: Select all
HttpsURLConnection uc=(HttpsURLConnection) u.openConnection(); uc.setDoOutput(true); uc.setRequestProperty("Content-Type","application/x-www-form-urlencoded"); uc.setRequestProperty("Host", "www.paypal.com"); uc.setRequestProperty("Connection", "Close");
For more information on PDT and IPN, please refer to http://www.paypal.com/pdt and http://www.paypal.com/ipn. For additional information or questions about this change, please contact PayPal's Merchant Technical Support team via https://www.paypal.com/mts.
Sincerely,
PayPal
Code: Select all
// post back to PayPal system to validate
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
Code: Select all
// post back to PayPal system to validate
$header .= "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Host: http://www.paypal.com\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$header .= "Connection: Close\r\n\r\n";
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
Code: Select all
$header .="Host: http://www.paypal.com\r\n";
$header .="Connection: close\r\n\r\n";
ok, thanksSiropu wrote:There are many changes that needs to be done so if you don't know PHP, you can't do this.