标签:
1,demo下载地址:https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&tabId=4#ps-tabinfo-hash
2,载入 aplipay库,关联类库
3,用申请到的 seller,partner,private key 连接支付宝服务器,生成订单,加密,签名,设置schema,设置服务器端的回调地址
4,客户端支付成功,由支付宝客户端 回调应用客户端,支付宝服务器 回调系统后台 服务器
5,解决方法:
1. 报错:rsa_private read error : private key is NULL
原因:私钥没有转成PKCS8
1)在RSADataSigner.m文件中 搜索代码 [result appendString:@"-----BEGIN PRIVATE KEY-----\n"]; 将其改成 [result appendString:@"-----BEG
IN RSA PRIVATE KEY-----\n"];
2)在RSADataSigner.m文件中 搜索代码 [result appendString:@"\n-----END PRIVATE KEY-----"]; 将其改成 [result appendString:@"\n-----END RSA PRIVATE KEY-----"];
6,加密解密的过程: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
7,在 RSA 的签名时,需要私钥和公钥一起参与签名。私钥与公钥皆是客户通过 OPENSSL 来生成得出的。客户把生成出的公钥与支付宝技术人员配置好的支付宝 公钥做交换。因此,在签名时,客户要用到的是客户的私钥及支付宝的公钥。
8,支付宝sdk集成,报系统繁忙 请稍后再试(ALI64),公私钥不匹配,必须本机生成 公钥私钥么,
9,上传公钥:https://cshall.alipay.com/enterprise/help_detail.htm?help_id=473890
10,seller,partner:签约后,支付宝会为每个商户分配一个唯一的 parnter 和 seller。
11,公钥必须给支付宝,不然他们解密不了啊,然后 支付宝返回数据再用 支付宝的私钥加密,然后用 支付宝给的公钥解密,o my god.
公钥加密方法,对称,加密解密一样的,非对称,非对称就是 加密和解密的不同规则,RSA代表三个贱人,
12,先与支付宝签约,获得商户ID(partner)和账号ID(seller)
(这个主要是公司的负责),下载相应的公钥私钥文件(加密签名用),私钥文件不是下载的,2了吧,
13, 由服务器来生成订单,然后返回订单字符串:
NSString * dataString = [responseObject valueForKeyNullReplace:@"data"];
int ret = [alixpay pay:dataString applicationScheme:appScheme];
1,支付宝企业账户 签约快捷支付 获得 商户id,账户id
2,用openssl生成 公钥,私钥,上传公钥,下载另外一个公钥
3,生成订单信息,设置回调URL,schema,用RSA加密,发起支付
4,支付结果回调客户端,客户端处理,
标签:
原文地址:http://www.cnblogs.com/guligei/p/4308661.html