移动支付接口SDK2.0标准版 附录文档目录 1 文档说明 41.1文档说明 41.2业务条款 4 2 责任归属 4 3 技术接入规则 5 4 接入流程 74.1整体接入流程 74.2通知规则 74.2.1不可退款的移动快捷支付 74.2.2可退款的移动快捷支付 7 5集成流程详解 85.1接入准备 85.2 SDK集成流程 85.2.1 iOS 85.2.2 16 6 测试流程规则 20 7 附录 217.1如何获取PID和密钥 217.2 RSA密钥的生成及使用 227.2.1生成商户密钥 22 支付宝(中国)网络技术有限公司 版权所有 |版本:1.3 第2页 移动支付接口SDK2.0标准版 附录文档 7.2.2 RSA密钥使用逻辑 277.3 业务数据传输 29 支付宝(中国)网络技术 版权所有 | 版本:1.3 第3页 移动支付接口SDK2.0标准版 附录文档 1 文档说明 1.1 文档说明 本文档为《移动支付接口SDK2.0标准版》的附录文档,详细说明了技术接入和使用过程中需要注意的事项,帮助商户规避风险。
如阅读后仍有疑问,请联系支付宝技术支持。 1.2 业务术语表 1-1 业务术语表 术语解释 请求客户端将需要传输的数据以字符串形式返回给接收方的过程。 返回支付宝直接将处理结果数据以字符串形式返回给客户端。 服务器异步通知。在支付宝根据获取的数据完成处理后,支付宝服务器主动发起通知给商户,同时将处理结果信息反馈给商户。 带有倾向、倾向、不健康色彩或不文明的词语。 2 责任归属 文档中所涉及的规则是基于接入和使用支付宝接口过程中出现的一些重大风险而采取的防范措施,请商户注意。在接入和使用支付宝接口过程中,请商户严格遵循接口文档(移动支付接口SDK2.0标准版.pdf)、代码示例、本文档(移动支付接口SDK2.0标准版接入使用规则)等支付宝提供的接口资料,否则由此带来的风险和财务损失或拓展由商户自行承担。 支付宝(中国)网络技术版权所有 | 版本:1.3 第4页 移动支付接口SDK2.0标准版 附录文档 3 技术接入规则 表3-1 技术接入规则 类型 详细信息 原因 配置的合作伙伴ID和安全密钥必须保证与合约信息相匹配,防止接口无法正常使用或发生财务损失 防止合约的账户信息被窃取,导致账户资金损失、被他人使用等 必须保护合作伙伴ID和安全密钥的隐私。
使用测试账号时,手续费为3%,测试完成后必须立即将测试账号与签约账号进行扣款。商户必须使用DNS解析方式解析支付宝接口,请勿设置DNS。请勿绑定支付宝IP。如果商户出于自身安全考虑无法请求或支付宝无法使用,商户必须向支付宝技术支持人员备案。在对请求参数进行签名时,这些参数必须来自请求参数列表,在列表中去除参数sign、签名、错误码列表。在对请求参数进行签名时,对于请求参数列表中可以为空但需要多选的参数,如果选择使用,这些参数的参数值不得为空或null。在请求参数列表中,必须配置非空参数。在请求参数列表中,必须配置多个可以为空但需要多选的参数。请求参数列表中的参数必须按照格式要求进行配置,避免接口无法正常使用。参数配置必须设置请求参数(编码格式),即参数不能为空,该参数是加入签名操作的。并且只能设置,避免出现异常错误,如:签名不正确。将其值设置为utf-8,即本产品不支持GBK编码格式。
是收款时的支付宝账户,需要和签订合同时对应的支付宝账户一致,也就是说收款的支付宝账户必须是签订合同时的支付宝账户,签名方式只支持RSA,避免签名不成功,调用RSA key时,如果是通过移动快捷支付,需要对商户私钥进行编码,支持编码pem文件解析方式,那么不需要更高的系统版本,PHP服务器也不需要进行编码。支付宝(中国)网络技术全部|版本:1.3 第5页移动支付接口SDK2.0标准版附录文档类型详细信息原因服务器:用于生成提交参数,处理支付宝异步通信SDK由服务端和客户端组成,返回进行交互,需要的参数一般放在服务端,客户端需要的时候再去客户端:构建表单参数,提交给支付宝,服务端获取。接口结构在提交支付参数时,需要对订单信息进行组装,这样可以避免请求支付宝出错,错误码是以key=""形式呈现的参数,参数之间以""分隔。签名不正确。获取支付对象才能调用支付。数据传输必须使用协议,避免接口无法正常工作。在SDK支付接口的服务端异步通知中,对通知的参数进行签名时,这些参数必须来自于支付宝通知返回的参数,去掉列表中的参数sign。首先按照通知返回的“参数名=参数值”的格式对这些参数进行验证,并将返回的签名按照字母a到z的顺序排序,然后按照“参数名1=参数值1参数名2=参数值2…参数名N=参数值N”的规则进行拼接,并将得到的签名结果与得到的参数sign值进行比较。
支付宝主动发送通知,商户收到通知数据时必须告知支持商户所有操作已经完成才可以执行打印,如果商户返回给支付宝的信息不是“ ”一串,其他多余的字符都不允许返回,支付宝最多可以重复发送7次通知。需要保证设置的通知路径在网络上是通的,避免不能顺利收到支付宝发送的通知。为了让商户了解接口的使用方法,进行商户后续的业务操作。避免出现异步通知异常,比如收不到通讯录或者业务处理未完成但支付宝系统已经处理完成等。建议每项业务操作都以日志的形式记录在商户的日志操作数据库中,必要时可以查询或跟踪业务,做好通知重复判断机制。如果不使用支付宝提供的代码示例来集成接口,必须自己编写接口。您必须遵循技术文档中的签名机制、通知返回数据处理章节,避免接口不能按照本文档的技术接入规则、接口使用规则、测试流程规则编写出符合商户项目的接口代码。 支付宝(中国)网络技术版权所有 | 版本:1.3 第6页 移动支付接口SDK2.0标准版 附录文档4 接入流程 4.1 接入总体流程图 4-1 SDK接入总体流程 4.2 通知规则 4.2.1 不可退款的移动快捷支付 移动快捷支付异步通知有两种通知事务状态()。

第一个状态值为:表示等待支付,商户可以根据自己的业务逻辑需求进行相应的操作,处理完业务逻辑后必须返回一个字符串给支付宝。 第二个状态值为:表示交易成功完成,此状态表示该订单的支付在支付宝端已经成功完成,商户根据此状态进行相应的业务逻辑操作,最后返回一个字符串给支付宝。 4.2.2 可退款移动快捷支付 可退款的异步通知与不可退款的机制一致,第一个状态( )相同,第二个状态为,在此状态下商户可以进行相应的业务逻辑操作并返回。 第三个状态为,表示订单已完成,无法退款。 支付宝(中国)网络技术有限公司版权所有 | 版本:1.3 第7页 移动支付接口SDK2.0标准版 附录文档 是否退还手续费通知判断: 退还手续费:单笔交易完成退款操作(交易关闭)的支付宝异步通知发送状态。此交易状态需要支付宝配置单独开启,默认不开启; 不退手续费:支付宝异步通知发送单笔交易完成退款操作的状态,订单支付三个月后发送该状态。
5 集成流程详解5.1入网前准备入网前准备包括商户签约、密钥配置,已经完成的商户可以跳过此步骤。 5.2 SDK集成流程5.2.1 解压iOS接口压缩文件(文件名为SE.zip),找到iOS的压缩文件(文件名为支付宝移动支付SDK标准版(iOS).zip)。 1.导入代码步骤1:启动IDE(如),将iOS包中压缩文件中的如下文件复制到项目文件夹中,并导入到项目项目中。 ..步骤2:在需要调用的文件中添加头文件 #/.h步骤3:配置请求信息。 = [[ ] init];. = ;. = ;. = [self ]; //订单ID(商户设置) = .; //商品标题 = .body; //商品描述。 = [ :@%.2f,.]; //商品价格 支付宝(中国)网络技术 All |版本:1.3 第8页 移动支付接口SDK2.0 标准版 附录文档 . = @; //回调 . = @..pay;. = @1;. = @utf-8;. = @30m; //应用注册,在-Info.中定义URL * = @; //将商品信息连接成字符串 * = [ ]; (@ = %@,); //获取私钥,对商户信息进行签名,外部商户可根据情况保存私钥和签名,只需遵循RSA签名规范,对签名字符串进行编码即可 r = (); * = [ :]; //将签名成功的字符串格式化为订单字符串,请严格遵循此格式 * = nil; if ( != nil) {=[rmat:@%@sign=\%@\=\%@\,, , @RSA];[[ ] : ::^( *resu ic) {(@ = %@,resu ic);}];[ th: :YES];}具体请参考Demo中示例文件\.\.\.\.m。:配置支付宝客户端返回的URL处理方式。
如示例\.m文件中添加代码:#/.h支付宝(中国)网络技术版权所有|版本:1.3 第9页移动支付接口SDK2.0标准版附录文档在@中添加如下代码:- (BOOL):( *):( *):( *):(id){//若极简SDK不可用则跳转到支付宝钱包支付,支付宝钱包的支付结果需要返回给 ([url.host :@]) {[[ice] ::^( *resu ic) {(@ = %@,resu ic);}];}if ([url.host :@]){//支付宝钱包快速登录授权返回 [[ice]::^( *resu ic) {(@ = %@,resu ic);}];} YES;}2. Demo操作注意事项 (1)关于签名代码问题\Util 及以下所有文件\ 以及下面的所有文件..a 这些文件是在示例签名所在的客户端本地使用的。
为了安全起见,商户尽量将私钥保存在服务端,并在服务端进行签名验证。 (2)如果运行之后报错,类似如下提示信息:find for , of 那么就需要打开出现错误信息的文件,添加头文件。# /.h(3)如果商户想在某个文件中使用支付宝的SDK类库,则需要添加头文件。# /.h(4)点击项目名,点击“ ”标签,在搜索框中以关键字“ ”进行搜索,将头文件路径添加到“ ”中:$()/项目名。如果已经添加过头文件信息,则无需再次添加。支付宝(中国)网络技术版权所有|版本:1.3 第10页移动支付接口SDK2.0标准版附录文档 图5-1 添加头文件信息(5)点击项目名,点击“ ”标签,在“Link with ”选项中添加两个系统库文件“.”和“.”
若商户项目已有这两个库文件,则无需添加。 图5-2 添加系统库文件 支付宝(中国)网络技术 全部 | 版本:1.3 第11页 移动支付接口SDK2.0标准版 附录文档 (6)点击项目名,点击“信息”页签,点击“URL”选项中的“+”,在“URL”中输入“ ”。 “ ”来自于“.m”文件 * = @;。 图5-3 配置URL。 配置基本信息 打开“.m”文件,编辑下面三个参数 * = @; * = @; * = @; 表5-1 iOS基本信息配置参数 含义 ID,以2088开头的16位纯数字字符串。请参考“7.1 如何获取PID和密钥”。 支付宝支付账号,号码或邮箱格式。 商户私钥,格式。请参考“7.2 RSA密钥生成及使用”。 支付宝(中国)网络技术|版本:1.3 第12页 移动支付接口SDK2.0 标准版 附录文档 注:这些参数配置为客户端签名功能,仅作为示例,商户接入支付宝产品时请将此信息传递给商户项目。