确认发货接口开发流程

【字号: 】【打印】【收藏

一、开发前期准备

1.1、查找PID(partner)和密钥(key)

a、首先查询合作者身份ID和安全校验码KEY
b、RSA加密方式:公私钥由商户技术人员生成。
(1)首先生成商户公钥、私钥
(2)其次上传生成的公钥,同时获取支付宝公钥。

1.2、网络环境的要求

a、支付宝提供的开发环境。
  (1) 生产环境。用商户自己的账户做测试。
  (2)沙箱环境。提供资料沙箱环境网关地址、测试账号、密钥。
b、商户端开发环境:公网可访问的网络环境。

1.3、下载接口开发文档及配置开发环境

接口文档获取途径:登陆到支付宝账户产品商店或者支付宝论坛即可下载到对应的接口文档。如所需其他接口文档可以由支付宝技术支持提供。
开发语言:支持C#、PHP、ASP、JAVA四种开发语言。
开发语言:支持http协议的开发语言。

1.4、业务术语

 
术语 解释
返回  支付宝根据得到的数据处理完成后,支付宝将处理完成的结果信息反馈给商户网站。 
敏感词  带有敏感政治倾向、暴力倾向、不健康色彩或不文明的词。 
请求  通过HTTP协议把需要传输的数据发送给接收方的过程。
特殊字符  用做url转义字符,或在接口参数中用作分割符的特殊字符,包括:?、%、&、+、^、|

二、开发联调阶段

2.1、安全说明

类型  细则  原因 
安全  使用签约账号进行调试,必须保护PID与安全校验码key的隐私性。 防止接口无法正常使用或防止签约的账号信息被盗用,导致资金受损、被他人恶意利用等。
测试完毕后,要把测试账号立刻更换成签约账号。  使用测试账号时,手续费按照3%扣除。
该接口必须使用https请求 避免请求参数暴露 
支付宝的通知服务器的出口IP段是121.0.26.0/23、110.75.128.0/19、110.75.225.0/24、110.75.242.0/24。该IP段地址不是商户访问支付宝的地址。 如果商户网站设置了IP白名单(即IP过滤),需要把支付宝的通知IP地址加入白名单中。这里面提供的是ip段,需要商户自己算出ip。
商户必须以DNS解析的方式访问支付宝接口,不要设置DNS cache,不要绑定支付宝IP。如果为了商户自身安全必须绑定支付宝IP时,必须向支付宝的技术支持人员备案。 支付宝IP地址一旦变更,会导致商户无法请求或访问支付宝,致使商户业务直接不可用。

2.2、参数说明

类型 细则 原因及样例说明
参数配置  调用确认发货接口情况:
1、支付宝担保交易时,如果交易状态是“买家已付款,等待卖家发货(交易状态参数trade_status值为WAIT_SELLER_SEND_GOODS)”的情况下确认发货接口才执行成功;
2、如果交易状态不是“买家已付款,等待卖家发货”或“卖家已发货,等待买家确认”的情况下确认发货都将失败
避免接口使用错误 
必须设置请求参数_input_charset(编码格式),即该参数不能为空,并让该参数加入签名运算。 避免接口无法正常使用 
trade_no支付宝交易号,支付宝根据商户请求,创建订单生成的支付宝交易号。最短16位,最长64位。 避免订单号不存在。
logistics_name物流公司名称,必须填写 避免接口无法正常使用
在请求参数列表中,不可空的参数必须配置。  避免接口无法正常使用
发送给支付宝的请求,支持http协议,get和post两种请求方式 避免接口无法正常使用  

2.3、签名说明

类型  细则  原因 
签名  请求的所有参数,需要根据参数名=参数值的格式,按首字符字典顺序(ascii值大小)排序,若遇到相同首字符,则判断第二个字符,以此类推,待签名字符串需要以“参数名1=参数值1&参数名2=参数值2&….&参数名N=参数值N”的规则进行拼接。 避免接口无法正常使用
在对请求的参数做签名时,这些参数必须来源于请求参数列表,并且除去列表中的参数sign、sign_type。 避免接口无法正常使用
在对请求的参数做签名时,对于请求参数列表中那些可空的参数,如果选择使用它们,那么这些参数的参数值必须不能为空或空值。 避免接口无法正常使用
签名时将字符转化成字节流时指定的字符集与_input_charset保持一致;如果传递了_input_charset参数,这个参数也应该包含在待签名数据中。 避免接口无法正常使用
待签名数据应该是参数原始值而不是url encoding之后的值,例如:调用某接口需要对请求参数email进行数字签名,那么待签名数据应该是email=test@msn.com,而不是email=test%40msn.com。 避免接口无法正常使用

2.4、通知说明

类型 细则 原因
返回数据处理  本接口直接返回的XML信息is_success(T、F)仅代表提交成功、失败,代表请求成功与否。  避免理解错误,导致处理错误。
必须对返回的数据进行处理,并做好后续的业务逻辑处理。 避免重复操作,资金损失等。

2.5、验签说明

类型 细则 原因
 验签 在对通知的参数做签名时,这些参数必须来源于支付宝通知回来的参数,并且除去列表中的参数sign、sign_type,根据参数名=参数值的格式,按首字符字典顺序(ascii值大小)排序,若遇到相同首字符,则判断第二个字符,以此类推,待签名字符串需要以“参数名1=参数值1&参数名2=参数值2&….&参数名N=参数值N”的规则进行拼接,得到的签名结果与获取到的参数sign值做比较。 验证返回的签名 

三、开发完毕,测试验收。

3.1、测试流程

步骤  调试内容  备注 
第一步:在本机单独对这个接口进行调试。 调用接口 返回结果是否正确 调用完成后返回结果是否为等待买家确认收货 如果配置异步通知,则校验通知结果是否正确 仅仅把接口配置好,不要放在商户的网站项目中
第二步:在服务器上单独对这个接口进行调试 同上验证步骤,环境不同 本机调试没有问题后,再放入服务器中调试。
第三步:接口融合到网站项目中 把调试好的接口与商户网站项目的业务流程进行衔接和融合。
第四步:在本机对融合后的网站项目进行调试 调用接口

返回结果是否正

调用完成后返回结果是否为等待买家确认收货

如果配置异步通知,则校验通知结果是否正确

在本机调试衔接到网站项目后的接口。
第五步:在服务器对融合后的网站项目进行调试 同上验证步骤 本机调试没有问题后,再放入服务器中调试。