iOS内购iOS点滴iOS

支付宝iOS接入碰到的问题

2015-11-16  本文已影响1563人  0o冻僵的企鹅o0

今天准备给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文件中跳转协议是否有配置:


跳转协议配置.png

未完,待续~

上一篇 下一篇

猜你喜欢

热点阅读