在线支付接口开发总结

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

图1 返回页面(return_url.jsp)工做原理
图1 返回页面(return_url.jsp)工做原理



 

图2 通知页面(notify_url.jsp)工做原理
图2 通知页面(notify_url.jsp)工做原理



  商户开发人员在实际集成接口的时候能够遵循以下工做步骤:
  一、熟悉在线支付接口的工做原理。
  二、仔细阅读支付方提供的开发文档。
  三、运行支付方提供的demo,结合开发文档理解工做原理。
  四、集成接口,加入相关的业务逻辑。

  对于像担保交易这样关系复杂的接口,能够分开理解成独立的接口,而后结合商户自身状况,从业务数据上进行关联。
  在进行接口调试及测试的时候,由于中间debug信息很难收集到,尤为是服务器通知模式的状况下。所以能够加入日志的输出功能,这样一次操做完成后,分析产生的日志,能够极大的简化调试的难度。测试时候若是支付方未提供相应的测试网关,能够采用支付0.01元的方式,屡次进行。异步

相关文章
相关标签/搜索