栏目:软件应用
更新:2016-06-11 22:32
简介:
经过这段时间对支付宝在线支付接口、手机在线支付接口、农业银行在线支付接口、以及支付宝担保交易接口的开发,对在线支付的原理有了一定的了解,开发过程中有点小的心得体会,在这里记录一下。首先,这几个接口中,前面三个都是单一的支付接口,对于需要集成的商户而言,所需要做的工作为:集成支付功能使用户可以在线支付,接受支付结果进行商户系统中订单相关数据的处理。其次,担保交易接口是一个完整的在线担保体系,因此包含了在线支付、确认收货、在线申请退款、客户维权、商户退款五个相关接口。关于具体的功能可以参考支付宝提供的文档资料,这里仅进行技术开发上的分析。
其实这些在线支付的接口从原理上来讲都是一样的。这里简单地阐述一下:
首先,开发这些接口的第三方公司会给商户提供一个唯一标识pid,而且与该标识相对应的会有一个KEY,双方使用这个KEY作为加密的密钥。
其次,商户使用接口的时候,根据不同支付方的开发文档的要求,将所需要的参数(订单的相关信息如:金额、商品等)拼接成相应的形式。在发送请求之前需要对数据进行加密,而加密的方式会由支付方提供,文档中会有相应的描述,有的接口也会提供现成的方法供商户使用。加密后就可以调用接口向支付网关发送请求了。 注:传递的参数中一般含有return_url 和 notify_url 两个链接地址,商户一般在这两个页面中写入订单状态处理的逻辑。
最后,是对于支付结果的处理。支付方在对相应的资金进行处理后会给发送请求的商户网站发送响应。这里有两种方式:1、页面通知(同步通知,return_url),用来显示给实际支付的客户,支付方只返回一次。2、服务器通知(异步通知,notify_url),运行在后台,实际在线支付的客户看不到,支付方会在一定时期内发送多次,直到收到商户程序反馈的约定好的标识为止