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。若是內容有錯,請留言提醒。

相關文章
相關標籤/搜索