-
管理页面 > 模块管理 > 支付模块 > PayPal IPN – Website Payments Standard.
-
如果是初次设置 PayPal, 请点击:安装.
-
否者, 点击:编辑.
-
输入前面记下的PayPal帐户的 primary 邮件地址.
-
设置其它选项.
-
注意页面上提示的网址 – 必须与前面的PayPal Profile中设置的一致.
(1)使用PayPal帐号测试 -
需要两个 PayPal 帐号才能测试。PayPal允许每人有两个帐号,一个用于个人,一个用于商业。本测试使用个人帐号支付到商业帐号。(然后退款)
-
新建一个便宜的商品,例如 $0.01 或者 $1.00
-
购买商品
-
结帐时,选择最便宜的运费
-
使用PayPal结帐
-
确认订单后,将转到PayPal网站付款
-
输入PayPal个人帐号的用户名和密码
-
确认交易
-
完成后将返回您的网店
-
确认收到2至3封邮件: 一封来自PayPal, 一封来自商店给客户的,一封来自商店给管理员的。如果没有收到商店发来的邮件,重新检查设置项目
-
登录您的 PayPal 商业帐户并给测试交易退款
(2)不用PayPal帐户而测试信用卡支付,采用以下步骤:
(测试前, 找一张未在PayPal注册过的信用卡!!)
- 在网店中新建一个或选择一个便宜的商品,例如 $0.01 或 $1.00.
- 购买商品.
- 结帐时,选择最便宜的运费.
- 结帐时, 选择 PayPal.
- 确认订单后,将转到 PayPal 网站支付.
- 在 PayPal 的用户名/密码登录栏下,有一个链接 Purchase without a PayPal™ account. 点击该链接.
- 填写并确认个人资料.
- 填写包括信用卡号码在内的支付信息. (不要使用已在 PayPal 注册过的信用卡号码!!)
- 确认交易.
- 完成后将返回商店.
- 确认收到2至3封邮件: 一封来自PayPal, 一封来自商店给客户的,一封来自商店给管理员的。如果没有收到商店发来的邮件,重新检查设置项目.
- 登录您的 PayPal 商业帐户并给测试交易退款.
(3)在多个网站上使用同一个PayPal帐户
按照前面的说明安装,就可以在多个Zen Cart网店使用同一个PayPal帐户收款。Zen Cart支付模块会自动通知PayPal是哪个网店发送的请求。
如果在非Zen Cart网店或eBay上也使用PayPal帐户,请确认在PayPal profile中关闭所有的“税”和“运费”选项,否者这些费用将添加到Zen Cart订单上,导致与网店的金额不匹配,网店后台将无法生成订单。
(4) PayPal支付模块的调试方法
请先仔细核对前面的安装步骤,然后逐步检查下面的配置:
- 如果PayPal支付模块以前正常工作,现在出现错误,请确认PayPal服务是正常运行。PayPal服务状态:看这里
- 确认您的网站不处于“维护模式”
- 确认您的网站没有使用.htaccess限制对网店的访问。(有些主机利用.htaccess屏蔽了很多IP段)
- PayPal IP 地址段 (请不要屏蔽这些地址)
- notify.paypal.com:
o 216.113.188.202
o 216.113.188.203
o 216.113.188.204
o 66.211.170.66 - 如果使用PayPal测试服务器(sandbox),地址为: ipn.sandbox.paypal.com → 66.135.197.164
-
确认后台设定的邮件地址,与PayPal主帐号的邮件地址完全一直,包括大小写。
-
PayPal帐号是否“已认证”?
-
PayPal帐号是否为商业帐号?(建议使用商业帐号,高级帐号有时也可以,个人帐号不行)
-
检查主机的端口80和443是开放的
-
在浏览器中访问http://your_site.com/ipn_main_handler.php,如果出现PHP错误,则需要排错。如果出现白屏,继续下一步。
-
在PayPal模块下可以打开调试日志,确认/includes/modules/payment/paypal/logs 目录可写。调试结果位于该目录下。
-
试试卸载PayPal模块,并重新安装。
“IPN” = 及时付款通知 “Instant Payment Notification” …即PayPal的标准支付方式 -
客户在您的网店下订单
-
确认订单后,转向PayPal网站,客户输入资料并付款
-
付款后点击链接(或等待5秒)返回您的网店
同时,在上面第2步与第3部之间,PayPal服务器执行如下操作:
-
Paypal服务器给您的网店发送请求,网店接收请求的地址为/ipn_main_handler.php 页面
-
您的服务器接收请求的端口为 80 和 443
-
您的服务器接收到请求后,核对PayPal发送的数据与网店的数据一致
-
如果通过检验,后台生成订单,并通知PayPal服务器。这些通讯是通过端口 80 或 443 双向进行的
-
说明:如果没有成功,PayPal服务器会持续发送 IPN 通知约4天。只有通知成功后,才会生成客户的订单。
-
Using your hosting control panel, find the “Error Log” option, and check your server’s errorlog entries to see if any attempts to access your site’s ipn_main_handler.php file are being denied for any reason.
-
如果安装了SEFU 或 SEO 模块,请先关闭后再测试,有些不支持PayPal模块。
-
请确认使用的是最新的Zen Cart版本。
(5) GoDaddy 虚拟主机上设置 CURL
在 GoDaddy 虚拟主机上设置 CURL
(PayPal 及其它一些模块需要)
管理页面 → 商店设置 → 基本设置
- 设置 cURL代理服务器状态 为 True
- cURL代理服务器地址:proxy.shr.secureserver.net:3128
(6)PAYPAL 交易测试
要测试PayPal是否设置正确,需要测试两方面:
- 测试通过PayPal帐号支付 (与网店的PayPal帐号不能相同)
- 测试不使用PayPal帐号,直接通过信用卡付款
所有测试都要在“真实”服务器上进行,不要使用Sandbox测试服务器