本帖最后由 殷凯老师 于 2016-7-9 18:28 编辑
移动支付-支付宝审核流程
移动支付-支付宝审核流程为什么要进行支付宝审核?随着移动互联网的普及与发展, 支付宝支付已经成为我们不可缺少的支付手段之一. 作为开发者, 我们常常希望用户可以在我们的App中直接进行支付, 购买商品和服务, 此次我们一般都会接入支付宝和微信等支付工具. 然而要想用支付宝支付并不是一件容易的事情, 我们必须经过支付宝的层层审核. 这篇文章主要就是介绍如何通过各项审核, 最终使我们的App具备移动支付能力.
第一步, 注册支付宝账号首先我们得有一个支付宝账号, 如下是支付宝注册链接:
注意: 如果在公司开发, 建议注册企业账号. 因为后续还得上传营业执照, 法人等信息来进行实名认证. 一个企业一般都是具有相关材料的. 如果使用个人账号, 会比较麻烦, 因为如果要开通移动支付功能的话你必须具有个体营业执照, 而这个执照需要你亲自跑去工商部门申请.
第二步, 创建应用, 填写相关信息注册账号并完成实名认证之后, 就可以登录支付宝开放平台的管理中心来创建应用(实名认证可能需要等待1-2天的审核). 如下是管理中心链接:
如果你的App想开通移动支付功能, 你必须先在支付宝开放平台上注册应用, 并填写相关信息. 点击创建应用, 开始填写应用相关信息. 填写方式如下方截图所示: 应用类型: 一般选择自用型应用, 表示我们是一个独立的App; 应用名称和图片可按照自己的需求进行填写.
如果要创建Android应用, 需要填写应用包名和应用签名. 应用签名指的是打包时我们使用的签名文件的摘要信息(SHA1), 支付宝为了安全起见, 必须验证应用签名信息. 这个应用签名可以使用支付宝官方提供的签名工具来获取.
下载地址:
不过通过我个人测试, 这个签名甚至是包名我都可以随意填写, 支付宝目前并没有在此处进行验证. 但应用签名格式应该要符合规范才行, 比如可以用我提供的一个: 2a6a09abdd961772d4e305cb266f012c
第三步, 应用提交成功之后, 需要等待审核.为了审核通过, 可以参照支付宝官方的审核规范:
据我个人经验, 审核出问题往往是应用名称导致, 只要你的应用名称不出现”测试”,” test”,” 支付”等字样, 就一般不会出现问题. 比如我的应用名称为XX商城, 就很容易通过审核. 一般审核周期在1-2天左右.
第四步, 审核通过之后, 填写密钥相关信息1. 首先进入应用详情页
2. 选择应用环境页面
你会发现有好几个密钥需要填写, 那么你首先得知道什么是密钥!
支付宝为了安全, 全程数据需要加密, 它使用了一种加密算法叫做RSA, 这种算法需要有密钥才能够加密解密, 而且需要两个密钥, 公钥和私钥. 加密的时候使用公钥, 解密的时候使用私钥; 或者加密使用私钥, 解密使用公钥. 3. 生成密钥我们的支付数据当然需要加密, 所以我们要提前生成好这两种密钥. 支付宝已经提供给我们了密钥的生成工具.
密钥生成介绍:
密钥工具下载地址: https://os.alipayobjects.com/download/secret_key_tools_RSA_win.zip?spm=a219a.7629140.0.0.hkPoeI&file=secret_key_tools_RSA_win.zip
点击生成密钥, 就会在密钥工具的当前目录下产生三个rsa开头的文件, 如下图所示:
rsa_private_key.pem: 是私钥, 客户端要妥善保存 rsa_private_key_pkcs8.pem: 也是私钥, 不过经过了pkcs8处理, 如果你是Anroid开发, 就需要使用这个私钥!!! rsa_public_key.pem: 是公钥, 需要配置在服务器
这三个文件其实都是纯文本文件, 可以使用记事本打开. 4. 设置密钥然后我们来到应用环境页面, 开始填写数据. 如下图所示: 应用网关无需设置, AES密钥无需设置(AES是另一种更高端的加密算法, 但我们一般不用). 主要是设置”接口加签方式”下的几个密钥. RSA(SHA1)密钥: 点击设置应用公钥, 将你刚刚生成的公钥文件用记事本打开, 拷贝文本之后粘贴在此处.(注意去掉密钥标头和结尾, 只拷贝密钥内容部分) 合作伙伴密钥: 这个步骤更为关键! 否则可能导致支付失败!!! 点击详情, 设置合作伙伴密钥 其他可以不理会, 主要是我用红框标记的部分, 点击进入后设置公钥, 此处公钥内容和上一步公钥内容一致. 到这里, 我们的密钥信息终于设置完成了!
第五步, 申请开通移动支付功能点击功能信息页面, 选择移动支付功能, 申请开通. 此处申请需要提交应用apk文件, 或者应用描述文档来进行审核, 审核周期大概1-2天, 审核通过后你就可以愉快的开启支付旅程啦!
第六步, 集成支付宝SDK等等, 有同学问我怎么开发一个支付Demo? 呵呵, 其实在我看来, 支付的审核流程最为烦人, 一旦审核完成, 开发一个支付Demo是分分钟的事情呢! 我还是说一下吧: 1. 下载支付宝sdk下载地址: 2. 使用Eclipse或者Studio导入支付包Demo
3. 打开PayDemoActivity.java,填写相关信息
第一个, PARTNER, 商户ID, 这个可以在我们设置合作伙伴密钥的时候看到, 那个我用红笔涂抹的PID就是商户ID. 第二个: SELLER, 这是你的支付宝账号, 你在第一步注册时申请的. 一般是个邮箱. 第三个:RSA_PRIVATE, 这是你的私钥, 是在第四步的时候生成的, 直接拷贝过来, 注意是pcks8格式. 第四个:RSA_PUBLIC, 注意, 这不是你的公钥, 而是支付宝的公钥! 你的公钥已经在服务器配置了, 不需要在代码里配置. 这个无需修改. 支付宝公钥可以在这个地方看到: 4. 最后, 我们运行一下支付宝Demo
注意: 目前支付宝没有验证包名和应用签名, 但不代表以后不验证, 所以你在运行支付宝Demo时, 如果出现异常, 可以把支付宝Demo的包名改为你在平台注册的包名, 运行时使用的签名也要和平台的签名一致, 然后再去重试, 这是最为稳妥的做法.
总结
支付宝是移动端必备的支付手段之一, 如果你的App中需要有支付功能, 就一定会使用到支付宝支付.支付宝支付审核流程比较复杂, 但这类工作一般由公司运营人员去做, 开发人员辅助, 我们开发人员主要负责做好App端的业务逻辑就可以了. 当然不排除一些创业公司或者小公司, 所有事情都落在开发人员头上. 由于支付需求比较广泛, 但各个支付平台五花八门, 流程繁琐, 所以市面上也出现了一类公司,专门对各类支付接口进行重新封装. 比如Ping++, 集成了支付宝, 微信, 银联, 百度钱包等主流支付渠道, 开发者只需要按照Ping++的相关文档进行配置, 就能够一次性开通多个支付渠道, 大大简化了支付流程. 不过作为开发者, 我们也需要具备单个支付平台开发的能力, 从而可以从容应对各种需求.
附带一个小Demo, 可以直接完成支付, 只不过我将相关的密钥信息及支付串码的生成逻辑放在了服务器, 客户端只是发起请求, 获取支付信息后呼起支付宝客户端进行支付. 如果不介意的话, 可以多给我付点钱哦, 金额随便写^^附件:
PayDemo2.zip
(2.6 MB, 下载次数: 615)
|