最近P哥在magento開發過程當中遇到paypal的一些設置問題,查閱了一些資料解決,現作個彙總,將不按期更新補充php
送貨地址爲商家提供的是無效的web
Unable to process payment. Please contact the merchant as the shipping address provided by the merchant is invalid, and the merchant has requested that your order must be shipped to that address.
api
沒法處理付款。請聯繫商家送貨地址爲商家提供的是無效的,而商家已要求您的訂單,必須運到該地址。瀏覽器
須要把下面這個參數改爲0就能夠了
若是你使用的是Web Payment Standard的話你找到app/code/core/Mage/Paypal/Model/api/Standard.php,裏面有'address_override' => 1,這一行改爲'address_override' => 0,就能夠了
緩存
若是你使用ExpressCheckout的話app/code/core/Mage/Paypal/Model/Api/Npv.php,裏面有 'ADDROVERRIDE' => 1這一行也改爲'ADDROVERRIDE' => 0,就能夠了app
magento本身集成了paypal功能,後臺設置ide
1測試
system->config->paypal網站
進入: spa
1.1 Merchant Country 設置國家
1.2 Email Associated with PayPal 設置帳號
1.3Select a PayPal Solution
1.4選用
Website Payments Standard – PayPal processes all of your orders, and you get paid.
前面打鉤,別的把勾去除
1.5
在下面欄目將website payment standard setting點開
1.5.1
Payment Action-->sale
1.5.2
Payment Applicable From->All Allowed Countries
1.5.3
Sandbox Mode->no
1.5.4
Transfer Cart Line Items--yes
1.5.5
Debug Mode-->no
2
OK後臺設定好了,點擊OK,而後刷新緩存,就能夠支付了
利用paypal提供開發帳號調試:
做爲Magento開發者,第一次使用Paypal老是但願能使用測試帳號來測試功能是否工做正常,基本流程以下:
1. 去developer.paypal.com申請開發帳號(這裏以dev321@gmail.com爲例),申請後自動創建一個buyer和一個seller測試子帳號供測試(這裏分別以buyer321@gmail.com和seller321@gmail.com爲例)。
2. Magento後臺容許PayPal Standard支付:
System->Configuration->Payment Methods->PayPal Website Payments Standard
3. Magento後臺設置PayPal帳號
System->Configuration->PayPal->Website Payments Standard
Business Account: seller123@gmail.com
Sandbox Mode : Yes
最常犯的錯是:將Business Account設置爲dev321@gmail.com, 這樣當支付進入最後一步會提示這樣的錯誤(致使訂單別取消):
This invoice has already been paid. For more information, please contact the merchant.
4. 打開瀏覽器登陸developer.paypal.com,在同一個瀏覽器下訂單,當place order轉入paypal網站時(sandbox網站),你能夠選擇輸入信用卡信息支付,也能夠選擇登錄PayPal,若是選擇登陸能夠用前面的buyer123@gmail.com,首次登錄可能要求你幫定一個銀行帳號,由於是測試帳戶,這裏的銀行帳號是無所謂的,接下來就會一路順利,確認支付成功,點擊回到商家網站按鈕,訂單完成。
注:第4條提到的「打開瀏覽器登陸developer.paypal.com,在同一個瀏覽器下訂單」是必需的,不然不能完成測試!
另一個可能致使訂單不成功的的緣由是:Shipping Address必須足夠真實,不然PayPal會Decline你的