iOS 集成微信、支付寶的流程

簡(jiǎn)介:
公司項(xiàng)目里需要用到移動(dòng)支付模塊,就將支付寶、微信集成進(jìn)來(lái)了,也是先看官方文檔,照著文檔集成,那么調(diào)試環(huán)境分為測(cè)試和生產(chǎn)環(huán)境

基本流程:

支付寶流程:將商品信息進(jìn)行加簽, 后臺(tái)拿私鑰進(jìn)行簽名,將簽名后的商品信息字符串返回給商家客戶端,調(diào)用支付SDK

微信流程: 在服務(wù)端生成預(yù)訂單,返回預(yù)支付**prepay_id, 將參數(shù)再次簽名,組裝成Req對(duì)象,發(fā)送給app調(diào)用支付.

集成時(shí)候遇到的問(wèn)題:

  1. 后端配置好了沙箱環(huán)境,支付寶不支持沙箱環(huán)境,安卓支持沙箱環(huán)境,可以用沙箱賬號(hào)登錄后調(diào)用相關(guān)支付接口.
  2. 因?yàn)槭腔旌祥_(kāi)發(fā),H5頁(yè)面調(diào)用原生方法喚起支付寶,喚起失敗(需要攔截URL)
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{
    NSLog(@"在發(fā)送請(qǐng)求前,決定是否跳轉(zhuǎn)");
    //mark:H5支付WKWebView中無(wú)法拉起支付寶/微信客戶端支付,需要做如下配置
    //參考網(wǎng)址:https://blog.csdn.net/auccy/article/details/125623087
    //網(wǎng)頁(yè)檢查元素:decodeURIComponent ("abcdefghijklmnopqlstuvwxyz")
    NSURL *url = navigationAction.request.URL;
    NSString *urlStr = [[url absoluteString] stringByRemovingPercentEncoding];
    if ([urlStr containsString:@"weixin://wap/pay"] || [urlStr containsString:@"alipay://alipayclient"]) {
        [[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
        decisionHandler(WKNavigationActionPolicyCancel);
    }else{
        decisionHandler(WKNavigationActionPolicyAllow);
    }
    
}
  1. 拿到服務(wù)器加簽后的字符串喚起支付寶客戶端失敗.提示商家錯(cuò)誤還是什么的,把字符串放到官方demo里運(yùn)行,可以喚起成功,后來(lái)檢查,是服務(wù)器后端有個(gè)字段多了一個(gè)空格

基本步驟:

  • 創(chuàng)建應(yīng)用,生成appkey和appID,進(jìn)行注冊(cè)
  • 配置跳轉(zhuǎn)白名單 URL Type
  • 調(diào)用支付訂單的方法
[[AlipaySDK defaultService] payOrder:params fromScheme:appScheme callback:^(NSDictionary *resultDic) {
     NSLog(@"支付寶支付結(jié)果result=%@",resultDic);
 }];
 ```
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容