1轰传,支付寶申請(qǐng):https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&tabId=4#ps-tabinfo-hash?
2盗扒,開發(fā)文檔:https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103563&docType=1?
3纱昧,載入aplipay庫(kù)刨啸,關(guān)聯(lián)類庫(kù)
4,用申請(qǐng)到的seller(商戶支付寶號(hào))识脆,partner(商戶PID:2088***********)设联,private key(私鑰RSA轉(zhuǎn)碼后的一串字符)連接支付寶服務(wù)器,生成訂單灼捂,加密离例,簽名,設(shè)置schema纵东,設(shè)置服務(wù)器端的回調(diào)地址
5粘招,客戶端支付成功,由支付寶客戶端回調(diào)應(yīng)用客戶端偎球,支付寶服務(wù)器回調(diào)系統(tǒng)后臺(tái)服務(wù)器
6洒扎,解決方法
1、報(bào)錯(cuò):rsa_private read error : private key is NULL
原因:私鑰沒有轉(zhuǎn)成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
轉(zhuǎn)換格式: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的簽名時(shí),需要私鑰和公鑰一起參與簽名。私鑰與公鑰皆是客戶通過OPENSSL來生成得出的煌恢『С拢客戶把生成出的公鑰與支付寶技術(shù)人員配置好的支付寶公鑰做交換。因此,在簽名時(shí),客戶要用到的是客戶的私鑰及支付寶的公鑰瑰抵。
9你雌,支付寶sdk集成,報(bào)系統(tǒng)繁忙請(qǐng)稍后再試(ALI64)二汛,公私鑰不匹配婿崭,必須本機(jī)生成公鑰私鑰么
10,上傳公鑰:https://cshall.alipay.com/enterprise/help_detail.htm?help_id=473890?
11肴颊,seller氓栈,partner:簽約后,支付寶會(huì)為每個(gè)商戶分配一個(gè)唯一的parnter和seller婿着。
12授瘦,公鑰必須給支付寶,不然他們解密不了啊祟身,然后支付寶返回?cái)?shù)據(jù)再用支付寶的私鑰加密奥务,然后用支付寶給的公鑰解密,o my god.
公鑰加密方法袜硫,對(duì)稱氯葬,加密解密一樣的,非對(duì)稱婉陷,非對(duì)稱就是加密和解密的不同規(guī)則帚称,RSA代表三個(gè)賤人,
13秽澳,先與支付寶簽約闯睹,獲得商戶ID(partner)和賬號(hào)ID(seller)
(這個(gè)主要是公司的負(fù)責(zé)),下載相應(yīng)的公鑰私鑰文件(加密簽名用),私鑰文件不是下載的,2了吧担神,
14楼吃,由服務(wù)器來生成訂單,然后返回訂單字符串:
NSString * dataString = [responseObject valueForKeyNullReplace:@"data"];
int ret = [alixpay pay:dataString applicationScheme:appScheme];
1妄讯,支付寶企業(yè)賬戶簽約快捷支付獲得商戶id孩锡,賬戶id
2,用openssl生成公鑰亥贸,私鑰躬窜,上傳公鑰,下載另外一個(gè)公鑰
3炕置,生成訂單信息荣挨,設(shè)置回調(diào)URL男韧,schema,用RSA加密默垄,發(fā)起支付
4此虑,支付結(jié)果回調(diào)客戶端,客戶端處理厕倍,