2

使用Website Payments Pro Hosted Solution

现在paypal变复杂了,支付解决方案相当多,而且一些国家只能用特定的解决方案。以香港为例,不能使用payflow pro了,只能使用Website Payments Pro Hosted Solution,这在magento 1.x上使用还需要安装组件才能支持,现在2.x与paypal高度集成,已经存在Website Payments Pro Hosted Solution这个payment。但在新安装的magento2后台上很难发现这个payment,最初以为不存在,查过源代码才知道需要先选择Merchant Country为HK之后才会显示这个payment,这是挺人性化的设计,并不会搞错国家使用了不能使用的payment。

图片描述

Payment Action需要设置为Sale,这样可以自动收款。

TLSv1.2

由于paypal已经使用了TLSv1.2了,如果环境中不支持这个协议,过程就无法顺利。访问以下链接得到解决方案:
TLSv1.2 Requirement

paypal sandbox

paypal提供了很完善的测试方案,只要有正式paypal帐号,都可以建立多个paypal sandbox帐号。
https://developer.paypal.com/...
在以上地址创建sandbox商家帐号,如果是香港的务必在Country一栏选择Hong Kong,这一点很重要,使用什么支付解决方案完全取决于帐号所属地,需要跟magento2后台的Merchant Country一致。创建帐号后需要手动把帐号升级为pro

图片描述

把Classic TEST API Credentials里面的Username, Password, Signature都贴到magento2后台去,Website Payments Pro Hosted Solution就能使用。

How do I create an additional credit card number for a Sandbox account?

payment review

Website Payments Pro Hosted Solution支付完成之后,后台的订单状态应该是processing,这说明订单已经确认收款了,但却出现payment review,这时需要到登录paypal商家帐号,在收到的订单中点确认收款,然后magento2的订单才会转为processing。

在我的案例中有两个原因:

  1. 在sandbox帐号里有Payment Review选择,这个需要设为No
    图片描述
  2. 由于在我的项目中使用的支付货币是英磅,而商家帐号默认是港币,所以不能自动收款,需要添加英磅这个货币才可以,可以通过以下链接添加:
    https://www.sandbox.paypal.co...

cancel button

Website Payments Pro Hosted Solution默认没有cancel按钮,而商家帐号里可以设置cancel按钮,但设置后也不会出现。这是因为magento2使用的是iframe模式,在这个模式下cancel是不会出来的。要解决这个问题,恐怕需要修改程序了,我估计难度也不少。

IPN异常

如果paypal支付成功后order status仍然是pending payment,即有可能 Paypal IPN受阻,可以用以下方式排查:

  • 在paypal登录后到Edit Instant Payment Notification (IPN) settings页面,Notification URL:https://domain.com/paypal/ipn/index/ 并设置Receive IPN messages
  • 打开paypal debug选项,查 var/log/exception.log是否出现相关异常
  • 检查paypal IPN是否设置了disabled状态
  • 查paypal的交易历史记录以分析原因 https://www.paypal.com/hk/cgi...

测试卡号

http://www.webcreatorbox.com/...

技术支持

使用Website Payments Pro Hosted Solution的通过中出现很多问题,很多都是我无法解决的,但paypal support可以让我咨询技术上的问题,我是通过paypal support沟通多次后才能解决问题。一般一个工作天就会得到答复,有时候快的半天就有答复了。

paypal support

不用担心英文不好难以沟通,我是用中文的。

声明

以上的内容是我在实际项目中得到的经验之谈,不一定都适合于所有情况,如果无法解决问题,最好直接咨询paypal support。如果内容有错,请留言提醒。


猫之良品
2.5k 声望139 粉丝

资深Drupal, magento与Joomla


引用和评论

0 条评论