php返回支付状态,magento paypal返回支付状态
paypal帳戶,帳戶類型分為Personal(個人)、Premier(高級)和Business(商業),他們的差別對于開發者
來 說主要是返回的信息,Personal的不能使用IPN和PDT等商家工具,即不能獲取交易信息,但是Personal帳戶收款無需手續 費;Premier和Business當然就提供了IPN和PDT功能,能夠在客戶支付成功后,將交易信息傳給指定的網站,用來二次使用。
這里插進來介紹一下paypal sandbox,也就是沙盒,是paypal提供給開發者的一個工具,非常好用。
作為Magento開發者,第一次使用Paypal總是希望能使用測試賬號來測試功能是否工作正常,基本流程如下:
1. 去developer.paypal.com申請開發賬號(這里以dev123@gmail.com為例),申請后自動建立一個buyer和一個 seller測試子賬號供測試(這里分別以buyer123@gmail.com和seller123@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設置為dev123@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你的
還 有在這里提一下paypal ipn(Instant Payment Notification),就是Paypal開發的一種能主動通知第三方賣家系統交易狀態的一種機制。IPN的原理很簡單,就是當產生了一個交易之后, 交易狀態發生變化時,如用戶已經付款、或者退款、撤銷時,Paypal利用常用的HTTP POST方式,將交易的一些變量提交給網站的某個頁面(稱之為IPN Handler),當這個頁面接受到請求時候,將這些數據原封不動加上一個指示驗證的cmd=_notify-validate,POST回Paypal 的接口地址,如果數據正確,那么Paypal返回字符串VERIFIED,否則為INVALID,如果結果為VERIFIED,那么你的程序就可以使用這 些數據進行操作。
(責任編輯:最模板)
總結
以上是生活随笔為你收集整理的php返回支付状态,magento paypal返回支付状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 批量提交_【INSERT】逐行
- 下一篇: c语言变量申明和定义区别,C语言中变量定