iOS app集成支付寶支付流程
1: 開通支付寶商戶
由公司去支付寶 https://b.alipay.com/order/serviceIndex.htm 簽約支付寶開通支付寶商家;
2:商戶支付寶開通無線支付功能
開通商戶支付寶之后,雖然可以獲取到應用使用的 key和id,如果如果不開通無線支付功能的話,會在app集成的時間
提示商戶未開通無線支付功能的錯誤;
開通商戶支付寶-無線支付功能,請在商戶支付寶后台,按要求提供審核材料開通;
3:在商戶支付寶后台下載SDK
在商戶支付寶后台,即可不同版本的SDK及文檔,下載查閱使用;
4:在商戶支付寶后台獲取 PID,和 安全校驗碼 key
在商戶后台,需要輸入支付密碼才可以看到;
5:如上圖,填寫自己后台生成的 公鑰
按照支付寶文檔后台生成支付使用的公鑰,私鑰
把公鑰別忘記在這里上傳;
注意:公鑰,不能包含空格,換行,以及 生成之后開頭的 ---public---這一行信息
把上面的去掉的之后:合適的公鑰填在這里顯示只有一行,即可;
6:查閱支付寶iOS app 集成的文檔,demo
完成 iOS app的集成;
二:關於iOS 支付寶支付的訂單處理
1:app自己簽名訂單信息
按demo要求,先配置支付寶的配置文件
填寫pid,key,收款支付寶號(和上面開通支付商戶的一致),公鑰,私鑰
注意:這里面的私鑰:
這個私鑰是后台在生成私鑰之后,再一次的轉換,生成的 PKCS8格式的私鑰;
PKCS8私鑰同樣把 --priva---這一行刪除,然后把所有空格,換行都去掉,然后復制-粘貼在這里;
然后,按照Demo上的訂單生成及處理,簽名就行了;
2: 關於 訂單簽名處理在后台服務器進行的操作
思路是:app發起支付請求---先請求服務器返回---返回支付寶調用所需要的完整簽名訂單----調用支付寶支付;
這種方式也是支付寶推薦的方式,所有簽名加密處理都在后台服務器,前台app只負責拿這個訂單和支付寶交互就行了;
NSString *orderString = [[dataDic objectForKey:@"ReturnData"] objectForKey:@"sign_str"]; NSString *appScheme = @"AliTEST_SC"; [AlixLibService payOrder:orderString AndScheme:appScheme seletor:@selector(paymentResult:) target:self];
關於 后台處理簽名加密訂單的 php 后台處理流程簡介
/** 后台處理流程 //0. 參數,干凈參數 $prestr = "order=123213&name=some"; //1, 加密 $sign = rsaSign($prestr,$alipay_config['private_key_path'] ); //2. 編碼 加密字符串 $sign = urlencode($sign); //echo $sign; //3. 轉義form元素 $prestr = addslashes($prestr); //4. 拼接 $return_str = $prestr.'&sign=\"'.$sign.'\"&sign_type=\"RSA\"'; //$return_str = addslashes($prestr); return $return_str; */