magento2 在香港用paypal

使用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。git

图片描述

Payment Action须要设置为Sale,这样能够自动收款。github

TLSv1.2

因为paypal已经使用了TLSv1.2了,若是环境中不支持这个协议,过程就没法顺利。访问如下连接获得解决方案:
TLSv1.2 Requirementweb

paypal sandbox

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

图片描述

把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?ui

payment review

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

在个人案例中有两个缘由:debug

  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受阻,能够用如下方式排查:code

  • 在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。若是内容有错,请留言提醒。

相关文章
相关标签/搜索