支付宝接口运作流程.docxVIP

  • 16
  • 0
  • 约3.14千字
  • 约 7页
  • 2016-11-29 发布于重庆
  • 举报
支付宝接口运作流程

支付宝接口运作流程以联通话费充值为例1.调用联通页面Action2.对请求参数进行处理(gateway网关参数和sign_tyep签名类型参数先排除在外),经过去null、去空值、按规则排序、MD5加密并且最后赋值给sign签名参数,然后加入gateway和sign_type参数后用”“符号链接组合成一个链接,然后再程序后台跳转到这个url即页面自动跳转。3.支付宝服务器得到商户的数据后进行处理并跳转到支付页面。4.付款口支付宝服务添加订单Id到参数中成为n_map5.通知返回:根据传过去的参数return_url和notify_url分别进行同步和异步的验证,防止掉单情况的发生,支付宝在正常处理完成的情况下访问return_url,再订单状态改变的情况下访问notify_url,并传回一个加入了支付宝生成的一个id的n_map,验证成功后,访问return_url请求跳转到支付成功页面,访问notify_url的请求返回给支付宝一个”success”字符串,支付宝不在请求,否则支付宝会不断的继续发送请求知道48小时之后。7.这就是返回Success的步奏8联通页面显示支付成功。流程图详细过程一. 接入部分原理在用户点击确认支付按钮后,会调用联通内部服务的action。1.结合支付宝官方技术接口文档参数模版规范,选定传递给支付宝服务器的参数。如必传项Service:接口名称,这个是用来区别需要用的是哪个接口,String类型,绝对不能修改,对应值如trade_create_by_buyer。Partner:合作者身份ID,签约的支付宝账号对应的支付宝唯一用户号,用来鉴别是哪个商家与支付宝签约,String类型,对应值如2088102011070565。seller_email:卖家支付宝账号,String类型,对应值如zhaoli_seller@。Sign:签名,String类型,对应值如oifjaoihge2348509895jfsjf。sign_type:签名方式,DSA、RSA、MD5三个之可选,必须大写,String类型,对应值如MD5。out_trade _no:商户的交易号,这个是我们自己网站的订单系统里的唯一订单号,而非支付宝的,必须是唯一的,支付宝要根据这个订单号来判定这笔订单对于商家是否是唯一的。String类型,对应值如33453636363636.Price:商品的总金额,Number类型,对应值如35。Quantity:商品的数量,Number类型,对应值如3。Subject:商品名称,更准确写,这个参数是这笔交易的名称,String类型,对应值如 订单编号:44844641848.payment_type:支付类型,直接设置成1,无需改动。最少一组的物流信息参数三个:logistics_type:物流类型,第一组物流类型,String类型,对应值如POST。logistics_fee:物流费用,第一组物流运费,String类型,对应值如10。logistics_payment:物流支付类型,第一组物流支付类型,String类型,对应值如BUYER_PAY。服务器通知notify_url:服务器异步通知页面路径,支付宝主动通知商户网站里指定的页面http路径。页面跳转通知return_url:页面跳转同步通知页面路径,支付宝处理完请求后,当前页面自动跳转到商户网站里页面指定的http路径。选填项body、Discount、show_url等。2.将参数封装到一个参数数组中,如下示例:对数组里面的每一个值去null去空值后按a-z的规则进行排序(不包括网关参数即:string gateway = /cooperate/gateway.do? ;),若遇到相同首字母,则看第二个字母,以此类推,排序完成后再把所有数组值以”“字符链接起来,如下图示例:这个字符串就是待签名字符串,下面做签名字符串是会用到。 3.在MD5签名时,需要私钥参与签名。商户可登录相关网站查看私钥。在拿到请求时待签名字符串和私钥后,直接把私钥拼接在待签名字符串的后面,形成新的字符串,利用MD5签名函数对这个新的字符串进行签名运算,得到32位签名字符串,把它直接赋给上文中的签名参数sign。4.我们已经拿到了各个参数、参数所属的值以及加密得出的加密字符串,那么手上现在的所有参数信息的格式,应当都是一组一组的,如service=”trade_create_by_buyer”这种格式的字符串,拼接的话,则依靠循环的方式遍历所有的这种字符串,因为这次的拼接是要成URL链接,所以之前排除在外的网关gateway和加密类型参数sign_type也都会被拼接进来,那么,连接的字符则用大家所熟知的字符’’,就这样得出一个完整的URL链接地址,如:?/co

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档