app中使用支付寶支付

1.第一次使用支付寶連sdk和文檔都找不到,可憐如我.
先放文檔地址:https://doc.open.alipay.com/doc2/detail.htm?spm=0.0.0.0.9UY7yk&treeId=59&articleId=103675&docType=1
再放SDK和demo下載地址:https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1

2.有了上面兩個鏈接,支付寶支付基本就沒有什么問題了.下面說下我在集成工程中遇到的坑以及注意的問題.
從集成順序開始說起:
第一步:先簽約這個看文檔,準備資料,一般都能通過.https://doc.open.alipay.com/doc2/detail.htm?spm=0.0.0.0.kRnLNb&treeId=58&articleId=103542&docType=1
第二步:上傳公鑰,https://doc.open.alipay.com/doc2/detail.htm?spm=0.0.0.0.T86ZOt&treeId=115&articleId=103242&docType=1 這里有生成公鑰說明

這里有個坑,我之前上傳過一次,要修改公鑰.有兩個地址,這里就不說了,在2016年以后那個地址就有問題了,這里上傳新的地址:
https://openhome.alipay.com/platform/keyManage.htm
點擊修改RSA就可以了.
生成的私鑰就是在app內部使用的private key.這個一般要放在服務器端.

3.我開始的時候都不知道上傳的參數有什么意思,要上傳什么,這是要傳遞的參數說明:
https://doc.open.alipay.com/doc2/detail.htm?spm=0.0.0.0.oAcwCa&treeId=59&articleId=103663&docType=1

4.還有如何判斷是否交易成功?這里是客戶端返回碼說明
https://doc.open.alipay.com/doc2/detail.htm?spm=0.0.0.0.v32duH&treeId=59&articleId=103671&docType=1

5.客戶端要通知服務器,設置這個notify_url 參數的url值就好了,交易成功后,支付寶會發送post請求到你設置的url.

6.app端要解析支付寶返回的數據.會有一個result 字符串,
里面有很多信息,但并不是由json組成.這里有個方法能幫忙獲得返回的字符串中的每個字段的信息

result = "partner="2088911889384278"&seller_id="whydjnsj@sina.com"&out_trade_no="4KZCJFIL54V8R8J"&subject="ceshi"&body="ha"&total_fee="0.01"&notify_url="http://www.xxx.com"&service="mobile.securitypay.pay"&payment_type="1"&_input_charset="utf-8"&it_b_pay="30m"&show_url="m.alipay.com"&success="true"&sign_type="RSA"&sign="NSJwi804vI7wz8fcCBslckCqV/Aw1cjKbl4pJ94b7SF1myBWMmJIX5OJQe5e3s3SBBAu+3HwGrJ+7DTHuaItv35fpWX4xdq+zD4WVBRlziRz1ic2HgiihVllgQIWQkQBk0Gt2sKXI9MVs32eZd0IbeZhB+k/lojEKHvyQ6iHdu0="";

      NSString *str = resultDic[@"result"];
      NSArray *arrar = [str componentsSeparatedByString:@"&"];
      for (NSString *str in arrar) {
      // NSLog(@"%@",str);
       NSString *newstr = [str stringByReplacingOccurrencesOfString:@"\"" withString:@""];
       NSArray *newArray = [newstr componentsSeparatedByString:@"="];
       for (int i = 0;i<newArray.count;i++) {
                    
        NSString *one_str = newArray[i];
       if ([one_str isEqualToString:@"success"]) {
         success = [newArray[i+1] boolValue];
        }
                    
       if ([one_str isEqualToString:@"out_trade_no"]) {
        out_trade_no = newArray[i+1];
                    }
                }
      }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一. 相關資料 支付寶開放平臺(SDK&開發文檔):https://open.alipay.com/platfor...
    Lee_007閱讀 4,139評論 0 3
  • iOS支付 iOS支付分為兩類,第三方支付和應用內支付(內購)。 第三方支付包括:支付寶支付、微信支付、銀聯支付、...
    羊駝先生丶閱讀 665評論 1 3
  • iOS支付 iOS支付分為兩類,第三方支付和應用內支付(內購)。 第三方支付包括:支付寶支付、微信支付、銀聯支付、...
    sillen閱讀 1,413評論 0 1
  • 一 API版本說明 下面是官網的說明: 做個簡單說明: API1.0接口主要用于網站(包括手機端的網站)的調用;A...
    IIGEOywq閱讀 726評論 0 2
  • iOS支付 iOS支付分為兩類,第三方支付和應用內支付(內購)。 第三方支付包括:支付寶支付、微信支付、銀聯支付、...
    帥不過oneS閱讀 2,921評論 2 8