iOS 支付宝的申请、使用及常见问题

1,支付宝申请:https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&tabId=4#ps-tabinfo-hash 

2,开发文档:https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103563&docType=1 

3,载入aplipay库,关联类库

4,用申请到的seller(商户支付宝号),partner(商户PID:2088***********),private key(私钥RSA转码后的一串字符)连接支付宝服务器,生成订单,加密,签名,设置schema,设置服务器端的回调地址

5,客户端支付成功,由支付宝客户端回调应用客户端,支付宝服务器回调系统后台服务器

6,解决方法

1、报错:rsa_private read error : private key is NULL

原因:私钥没有转成PKCS8

1)、在RSADataSigner.m文件中搜索代码[result appendString:@"-----BEGIN PRIVATE KEY-----\n"];将其改成[result appendString:@"-----BEGIN RSA PRIVATE KEY-----\n"];

2)、在RSADataSigner.m文件中搜索代码[result appendString:@"\n-----END PRIVATE KEY-----"];将其改成[result appendString:@"\n-----END RSA PRIVATE KEY-----"];

7,加密解密的过程:https://cshall.alipay.com/support/help_detail.htm?help_id=397433&keyword=%25C8%25E7%25BA%25CE%25C9%25FA ,是客户端生成的,

生成私钥命令:genrsa -out rsa_private_key.pem 1024

转换格式:OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

生成公钥:OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

8,在RSA的签名时,需要私钥和公钥一起参与签名。私钥与公钥皆是客户通过OPENSSL来生成得出的。客户把生成出的公钥与支付宝技术人员配置好的支付宝公钥做交换。因此,在签名时,客户要用到的是客户的私钥及支付宝的公钥。

9,支付宝sdk集成,报系统繁忙请稍后再试(ALI64),公私钥不匹配,必须本机生成公钥私钥么

10,上传公钥:https://cshall.alipay.com/enterprise/help_detail.htm?help_id=473890 

11,seller,partner:签约后,支付宝会为每个商户分配一个唯一的parnter和seller。

12,公钥必须给支付宝,不然他们解密不了啊,然后支付宝返回数据再用支付宝的私钥加密,然后用支付宝给的公钥解密,o my god.

公钥加密方法,对称,加密解密一样的,非对称,非对称就是加密和解密的不同规则,RSA代表三个贱人,

13,先与支付宝签约,获得商户ID(partner)和账号ID(seller)

(这个主要是公司的负责),下载相应的公钥私钥文件(加密签名用),私钥文件不是下载的,2了吧,

14,由服务器来生成订单,然后返回订单字符串:

NSString * dataString = [responseObject valueForKeyNullReplace:@"data"];

int ret = [alixpay pay:dataString applicationScheme:appScheme];

1,支付宝企业账户签约快捷支付获得商户id,账户id

2,用openssl生成公钥,私钥,上传公钥,下载另外一个公钥

3,生成订单信息,设置回调URL,schema,用RSA加密,发起支付

4,支付结果回调客户端,客户端处理,



文/牵左手不离(简书作者)
原文链接:http://www.jianshu.com/p/2f201b1d1c2d
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值