公司一直在使用paypal接收外汇,但是最近收到paypal的一封邮件,大体意思是,由于官方网站升级改版,现在在noticeUrl中的校验协议要从原来的http1.0替换为http1.1,这就要求收到验证信息过后给paypal的http返回信息头部需要做一些修改:
1.
// 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";
修改为:
// post back to PayPal system to validate
$header .= "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Host: www.paypal.com\r\n";
$header .= "Connection: close\r\n\r\n";
2.
if (strcmp ($res, "VERIFIED") == 0) {
..
else if (strcmp ($res, "INVALID") == 0) {
修改为:
if (strcmp (trim($res), "VERIFIED") == 0) {
..
else if (strcmp (trim($res), "INVALID") == 0) {
此外还要注意,
1.$header的最后一行必须是以“ \r\n\r\n ”结尾。
2.之后的$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);也要做修改。
关于$fp和$header .= "Host: www.paypal.com\r\n";是我最头大的地方,有人说应该这么写:
$header .= "Host: www.paypal.com\r\n" 对应的$fp=$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);
或者:
$header .= "Host: www.paypal.com\r\n" 对应的$fp=$fp = fsockopen ('ssl://www.paypal.com', 80, $errno, $errstr, 30);
或者
$header .= "Host: www.paypal.com\r\n" 对应的$fp=$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);
而官方文档要求这样写:
$header .= "Host: ipnpb.paypal.com\r\n" 对应的$fp=$fp = fsockopen ('ssl://ipnpb.paypal.com', 443, $errno, $errstr, 30);
在尝试了所有这些都失败过后,我发现,其实不需要做改变,还是用http1.0时候的那种写法就可以了,即是:
$header .= "Host: www.paypal.com\r\n" 对应的$fp=$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);
纠结了两天,现在终于成功了!
分享到:
相关推荐
PayPal在安全方面的要求不断提升,目前强制要求所有连接必须使用TLS 1.2(Transport Layer Security 1.2)或更高版本的加密协议,以确保数据传输的安全性。然而,描述中的"php不支持TLS1.2解决方法"表明当前的PHP...
购买环节紧接着,你可以通过信用卡或PayPal支付购买Windows 8的费用。确保输入有效的电子邮件地址,因为微软会通过邮件发送序列号。购买完成后,Win8升级助手将开始自动下载安装文件,此时你只需要耐心等待。 下载...
`license.txt` 文件通常包含了软件的授权协议,详细说明了用户可以如何使用、分发和修改 OpenCart 1.4.91 的源代码。遵循这些条款是非常重要的,因为它们保护了开发者的权益,并确保用户合法地使用软件。 `changes....
WebSocket协议是HTTP协议的升级版,通过HTTP/1.1的Upgrade头字段进行切换,一旦建立连接,服务器和客户端都可以随时发送数据,无需像HTTP那样等待请求-响应模式。这使得WebSocket成为实时应用(如在线游戏、股票报价...
- `license.txt` 文件中包含了 Opencart 的许可协议,通常基于 GNU General Public License(GPL),这意味着软件是免费的,用户可以自由使用、修改和分发源代码,但需遵守特定的版权和共享规定。 3. **上传目录**...
凡人网络购物系统自2003年发布,至今已经过8年10个版本的升级完善,系统功能强大、安全稳定,是您开店值得信赖的一个选择:特色功能介绍: 1) 32种模板选择:无论您做哪种类型的产品都可以找到适合的模板 2) 5种...
凡人网络购物系统自2003年发布,至今已经过8年10个版本的升级完善,系统功能强大、安全稳定,是您开店值得信赖的一个选择: 特色功能介绍: 1) 32种模板选择:无论您做哪种类型的产品都可以找到适合的模板 2) 5种...
凡人网络购物系统自2003年发布,至今已经过8年10个版本的升级完善,系统功能强大、安全稳定,是您开店值得信赖的一个选择: 特色功能介绍: 1) 32种模板选择:无论您做哪种类型的产品都可以找到适合的模板 2)...
在这个名为"classified-ads-web-application-cms"的项目中,开发者利用了CodeIgniter框架进行构建,通过持续的工作和升级,实现了高效且用户友好的功能。 CodeIgniter是一个轻量级的PHP框架,以其简洁的结构、出色...
1. **支付接口概念**:支付接口是支付服务提供商(如支付宝、微信支付、PayPal等)为商家提供的API(应用程序接口),使得商家的网站或应用能与支付系统进行数据交换,完成订单支付、退款、查询交易状态等功能。...
4. **支付网关集成**:在JAVA平台上,可以集成各种支付网关如PayPal、Alipay等,实现安全的在线支付功能。这些支付网关通常有自己的安全机制,JAVA需要与其接口进行安全交互。 5. **数据库安全性**:JAVA可以连接...
WAP2.0是WAP协议的升级版,支持更丰富的HTML和CSS,提高了用户体验,并增强了安全性和隐私保护。 【ASP电子商务网站架构】 一个基于ASP的电子商务网站通常包含以下几个关键组成部分: 1. **用户界面**:使用HTML...
10. **安装和升级指南**: 详细说明如何在服务器上部署和升级到这个法语版的Opencart,可能包括备份、权限设置和配置文件的修改。 11. **社区支持和资源**: 提供法语论坛链接或社区资源,用户可以在其中获取帮助、...
19.修改用paypal第三方充值,无论系统设置的货币是什么,跳转到paypal的充值界面时都变成港币 20.修改关于在用户中心删除等操作没有权限控制的问题 21.修改网站打开伪静态后,单人悬赏在文件交付时没有办法下载 22....
19.修改用paypal第三方充值,无论系统设置的货币是什么,跳转到paypal的充值界面时都变成港币 20.修改关于在用户中心删除等操作没有权限控制的问题 21.修改网站打开伪静态后,单人悬赏在文件交付时没有办法下载 ...
你可以从F2P升级至正式会员,享受更多内容和服务,同时也支持通过FMA更新或结束订阅。 3. 数字内容: 内容包括赛道、组件、饰品和广告等。组件具有不同的属性和设置选项,可以根据个人喜好定制。 4. 支付方式: ...
描述中提及的"带多种支付接口"意味着OpenCart支持多种在线支付方式,如PayPal、信用卡、银行转账等,这样商家可以根据自己的需求和客户的偏好选择合适的支付渠道,提供了便利的购物体验。 标签中的"商城源码"指明了...
- `license.txt` 包含软件的许可协议,规定了软件的使用条件和限制。 3. **使用和安装**: - 安装ZenCart 1.5.4 首先需要一个支持PHP和MySQL的服务器环境。 - 下载后解压,通过FTP工具将所有文件上传至服务器根...