PayPal 快速、安全而又方便,是跨国交易的首选在线付款方式。现在
PayPal 可以和国内大部分信用卡关联,可以实现国人的跨国交易收支。
申请 PayPal 注册网址:https://www.paypal.com/
paypal 接口与其它接口有些不同,稍微复杂一点。 其实银行接口也算是
一个站点的插件。
所谓 paypal ipn(Instant Payment Notication),就是 Paypal 开发
的一种能主动通知第三方卖家系统交易状态的一种机制。IPN 的原理很简单,
就是当产生了一个交易之后, 交易状态发生变化时,如用户已经付款、或者退
款、撤销时,Paypal 利用常用的 HTTP POST 方式,将交易的一些变量提交给
网站的某个页面(称之为 IPN Handler),当这个页面接受到请求时候,将这
些数据原封不动加上一个指示验证的 cmd=_notify-validate,POST 回
Paypal 的接口地址,如果数据正确,那么 Paypal 返回字符串 VERIFIED,否
则为 INVALID,如果结果为 VERIFIED,那么你的程序就可以使用这 些数据进
行操作。
开设 Sandbox 帐号
但代码的调试是一件很痛苦的事情,因为作为第三方开发人员,不可能开
两个帐号,每次测试还要之间交 易一些钱,所以 Paypal 专门开发了 Sandbox
给开发人员进行开发,首先到 https://developer.paypal.com/ 注册一个开发
帐号,好了之后再进入 Sandbox 建立测试用的 Paypal 虚拟帐号(至少应该建
立一个 Business 的和一个 Personal 的),这 种账号注册方法和 Paypal 的流
程一样,信息可以是假的,包括银行帐号、信用卡(其实 Paypal Sandbox 会
自动生成一些随机的号码)。接下来需要激活 Paypal Sandbox 的虚拟帐号,
注意,这里不管你在 Paypal Sanbox 注册时填什么邮件地址,有任何发送到
虚拟帐号所填邮箱的邮件都存会在开发帐号的管理界面中的 Email 页(导航栏
上有)中。登录 Sandbox 的虚拟 Paypal 环境,还需要验证虚拟帐号的银行,
这里可以随便填,然后通过 Add Funds 来给账户充值(想填多少填多少 920-
203 920-533 )。然后,还需要激活 IPN 的选项,在 Business 的那个账户的
Prole 设置页面中,点击,然后点 击 Edit 按钮,打开 IPN,这里如果你使用
的是固定的 IPN Handle,可以直接将地址填入。
接下来,我们测试的时候,应该将 Paypal 接口的地址设置为
https://www.sandbox.paypal.com/cgi-bin/webscr
基本的流程
当客户向您付款时,PayPal 将向位于指定 URL (type=”hidden”
name=”notify_url” value=” “)的服务器发送一个通知。此通知中将包括您
的客户的所有付款信息(例如,客户名称、金额),以及一段加密代码。当服
务器收到通知时,它随后会将该信息 (包括加密代码)发送回安全的 PayPal
评论4