今天准备给app接入支付宝,大致过了一下文档,准备先把官方的Demo先跑起来,结果后台提示下面这个错误:
rsa_private read error : private key is NULL
检查一下代码,有三个变量需要开发者来配置:
/*=======================需要填写商户app申请的===================================*/
NSString *partner = @"";
NSString *seller = @"";
NSString *privateKey = @"";
这三个参数对应的含义如下:
参数 | 含义 |
---|---|
partner | 合作身份者ID,以2088开头由16位纯数字组成的字符串。请参考查看PID。 |
seller Cell | 支付宝收款账号,手机号码或邮箱格式。 |
private_key | 商户方的私钥,pkcs8格式。请参考RSA私钥及公钥生成。 |
前面两个参数都比较好理解。至于第三个参数private_key,获得它的方法如下:
苹果系统自带openssl工具,无需安装。
打开终端(Termal)输入如下命令:
1.openssl 进入OpenSSL程序
2.OpenSSL> genrsa -out rsa_private_key.pem 1024 生成私钥
3.OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt 开发者需要将私钥转换成PKCS8格式
4.OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 生成公钥
5.OpenSSL> exit ## 退出OpenSSL程序
在第三步的时候就获得了私钥(需要pkcs8格式)。第四步生成了对应的公钥,我们需要将公钥上传到支付宝,上传的方法:点击这里。
好了,现在把三个参数都填写完整,运行一下,点击支付,就会跳转到支付宝了。
跳转
如果发现支付后没有跳转回你自己的app,那么检查一下plist文件中跳转协议是否有配置:
未完,待续~