原文地址:[url][/url][b]你必须知道的一些基础知识:[/b]IPN的原理很简单,当一笔交易产生,交易状态发生变化的时候,比如用户支付了,退款了,撤销了,那么就使用常用的HTTP POST方法,把交易的一些变量提交到网站的某个页面(称为IPN),这个页面收到请求的时候,数据完好无损的,并且加上一个表示验证的cmd=-。POST返回的接口地址就是接口地址,如果数据正确,就返回一个字符串,否则,如果结果是,那么你的程序就可以用这个数据进行操作了。但是代码调试是一件很痛苦的事情,因为作为第三方开发者,不可能开两个账户,每次测试都要交易一些钱,所以专门为开发者开发而开发。首先注册一个开发账号,然后进入建立一个用于测试的虚拟账号(至少要建立一个和一个)。 此账户注册方式与的流程相同,且信息可以是虚假的,包括银行账号和信用卡(其实会自动生成一些随机数)。
接下来需要激活虚拟账户,请注意,不管你注册时填写的是什么邮箱,任何发送到虚拟账户填写的邮箱的邮件都会保存在开发账户管理界面(导航栏上)的页面中。登录虚拟环境还需要验证虚拟账户的银行,这里可以填写任意信息,然后通过Add给账户充值(想填多少就填多少)。 IPN详细设置 登录后台,进入我的->页面,点击,如下图: 然后会出现以下页面,点击编辑按钮,如下图: 然后会出现以下页面,在页面中勾选,在下面填写网址:你的网站地址/.php?gOo=cA& 然后点击保存按钮,如下图: 然后页面会提示你:“你已经创建了。” 接下来再次进入我的->页面,点击,如下图: 然后会进入到页面,在这里面需要做四件事: 1:勾选自动,选择开启 2:输入URL:你的网站地址/.php?gOo=& 3:勾选数据,选择开启 4:做完以上所有操作之后,点击页面下方的保存按钮,如下图: 保存之后页面会立刻跳转到我的->,并且提示你设置成功,这里面还会有一串数字,就是私钥,如下图: 当然这个私钥( )不会只出现这一次,你设置好之后,还是可以进入页面查看的。 它在Data 中,如下图: 接下来我们测试的时候要把接口地址设置为[b] 最后的基本流程是:用户在我们的网站上选择商品,放入购物车,然后勾选支付网站根据购物车中的商品生成支付单(也提交到上面的IPN使用的接口地址中),这里面包含了这次交易的一些信息(下次找专门的机会讲解一下)。
并在自己的数据库中生成订单记录。在用户的账户登录(使用虚拟账户)中记录这些交易信息,查看明细,点击支付按钮,即可处理交易。如果我们的收款账户在接受付款方面没有问题(没有特殊需求),交易完成,那么就会发送IPN,并发送提醒邮件。我们的IPN收到信息后,首先进行验证,如果信息正确,那么就和我们自己的数据库进行对比,如果正确,就可以保存付款信息,修改订单状态。然后会显示一个界面,提示交易完成。此时,如果用户点击“”按钮,用户就会被送回到我们网站上的指定位置。我们的网站欢迎用户回来,感谢用户,提醒用户,给出订单号等。如果是纯文本的话,就和压缩包里的.htm文件一样。 一些常规文件夹和文件的简单说明: [] 几个必备的类 [bin] 一个dll文件,用于支付接口的解密和加密 [] 系统所需的安全证书 .aspx 相当于B2C网站的购物车,程序从这里开始 .ashx 2个POST安全验证页面,比较重要 .aspx用于返回信息页面,我们可以利用这个页面实现将一系列的交易信息存入我们自己的数据库中,用于验证用户是否支付过---------[]--------------- .cs 对[OUT]按钮的密码字符串进行加密,相当于直接对明文的一些基本参数进行加密 .cs 全局变量,用于存放设置的一些基本信息 .cs 代码转换 .cs 用于安全验证---------[]--------------- .txt 公钥证书sdk-ewp.p12 和我手头有的证书比较类似,但是不太了解 [相关资源:Java支付实现示例、内涵jar