服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > magento教程 >

magento paypal返回支付状态

时间:2016-01-24 10:06来源: 作者: 点击:
paypal帐户,帐户类型分为Personal(个人)、Premier(高级)和Business(商业),他们的差别对于开发者 来 说主要是返回的信息,Personal的不能使用IPN和PDT等商家工具,即不能获取交易信息

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,那么你的程序就可以使用这 些数据进行操作。

(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------