iOS移動應(yīng)用開發(fā)-支付邏輯總結(jié):支付寶和微信 ,Step1

1.從賬號和開放平臺開始的旅程

當(dāng)然,支付邏輯接入的最重要的也是必須的一步,就是去各個開發(fā)平臺上申請開發(fā)賬號了,筆者一開始被微信和支付寶各種賬號搞得頭很大,所以決定先從這里入手分析一下.

支付寶:

登錄支付寶,首先需要的是一個支付寶賬號,這個支付寶可以是個人賬戶也可以是公司賬戶,個人賬戶相信每個人都會有,但是支付需要各種業(yè)務(wù)的申請的大部分邏輯都是需要公司賬戶才可以(筆者估計、未親自驗證)。所以建議使用公司的資料去申請一個支付寶商家賬號,以方便將來各種業(yè)務(wù)的開啟,申請所需要的公司材料在注冊界面就會有提示,這里不再贅述。

1.支付寶開放平臺http://open.alipay.com/platform/home.htm
這個通往支付寶開發(fā)的第一步,接入支付寶的各種技術(shù)文檔都得從這里查閱,作為一個iOS開發(fā)者,最重要的也是閱讀最多的當(dāng)然是‘支付寶移動支付’的文檔了 ~閱讀文檔請戳這里,你需要仔細(xì)的閱讀文檔并且下載一個Demo查看一下源代碼。

2.支付寶商家賬戶https://b.alipay.com/newIndex.htm
這是獲取支付寶支付能力的最總要的一個網(wǎng)站,你必須在該網(wǎng)站簽約了各種產(chǎn)品之后才能獲取開發(fā)能力,查看接入指南請猛戳

  • 簽約產(chǎn)品中的坑
    1.在申請簽約即時到賬產(chǎn)品的時候必填資料中會有一個申請網(wǎng)址,只要保證該網(wǎng)址可以訪問,是一個電商平臺就可以,筆者發(fā)現(xiàn)的坑有:請不要填寫任何知名電商網(wǎng)站的網(wǎng)店鏈接填寫的網(wǎng)址中不要有煙草類商品,筆者就是出現(xiàn)了上述的錯誤,導(dǎo)致申請被駁回;
    2.申請簽約移動支付產(chǎn)品的時候,申請網(wǎng)址不是必填的;
    3.申請簽約產(chǎn)品的時候,官方提示為五到七個工作日,但是一般來說3個工作日內(nèi)就會通過,所以申請簽約之后耐心等待吧。

簽約完成之后,就是獲取到PID和秘鑰了。在上述的接入指南中的‘PID和秘鑰管理’已經(jīng)描述的很清晰,這里我在說明一下我開發(fā)中遇到的坑

    1. 關(guān)于PKCS8編碼的問題,在接入指南關(guān)于RSA公私鑰生成中會有這句話
      1.png

      生成的私鑰文件.pem打開時候是這個樣子的
      2.png

      但是如果你在Demo中將上述私鑰(注意拷貝進(jìn)Demo時不要帶著“-----BEGIN RSA PRIVATE KEY-----”、“-----END RSA PRIVATE KEY-----”以及私鑰中不能帶有換行符以及空格)賦值給NSString *privateKey,你會發(fā)現(xiàn)支付是不能成功的。因為在iOSDemo中的RSADataSigner類中有如下方法
      - (NSString )formatPrivateKey:(NSString )privateKey {
      const char pstr = [privateKey UTF8String];
      int len = (int)[privateKey length];
      NSMutableString result = [NSMutableString string];
      [result appendString:@"-----BEGIN PRIVATE KEY-----\n"];
      int index = 0;
      int count = 0;
      while (index < len) {
      char ch = pstr[index];
      if (ch == '\r' || ch == '\n') {
      ++index;
      continue;
      }
      [result appendFormat:@"%c", ch];
      if (++count == 79)
      {
      [result appendString:@"\n"];
      count = 0;
      }
      index++;
      }
      [result appendString:@"\n-----END PRIVATE KEY-----"];
      return result;
      }
      這個方法是將privateKey裝換為圖2中pem文件中秘鑰的格式,而[result appendString:@"-----BEGIN PRIVATE KEY-----\n"];[result appendString:@"\n-----END PRIVATE KEY-----"];這兩句代碼標(biāo)志著PKCS8編碼之后的私鑰的開始和結(jié)束,所以結(jié)論就是
      在Demo中使用的私鑰是需要對需要對私鑰文件進(jìn)行PKCS8編碼的
微信:

1.微信開放平臺https://open.weixin.qq.com
當(dāng)然第一步是先閱讀微信開發(fā)文檔,里邊對微信接入的各種邏輯都已比較詳細(xì)的解釋;
對比與支付寶,接入微信是一個比較痛苦的過程。首先你要在微信開放平臺中認(rèn)證開發(fā)者資質(zhì),因為沒有開發(fā)者資質(zhì)除了看開發(fā)文檔是無法做任何事情的。認(rèn)證開發(fā)者資質(zhì)需要RMB300大洋,只支持微信支付,而且需要準(zhǔn)備注冊材料,什么業(yè)務(wù)資料啊,運(yùn)營者信息啊等等一大堆,然后你就要開始漫長的等待(微信宣稱是五到七個工作日,但實際上需要一到三個工作日,微信將這個審核業(yè)務(wù)外包給了其他公司,如果你分配到了一個不太靠譜的公司,可能需要三個工作日或更多)。終于認(rèn)證通過并驗證通過,興沖沖的去創(chuàng)建了一個應(yīng)用,結(jié)果你發(fā)現(xiàn),你的應(yīng)用并沒有獲得微信支付的能力,需要申請開通微信支付能力,,,,申請微信支付能力也需要很多資料并且驗證,最后你會收到驗證郵件并在微信開放平臺的應(yīng)用下看到

3.png

點擊查看詳情

4.png

點擊驗證之后就進(jìn)入了下面這個個網(wǎng)站

2.微信支付商戶平臺https://pay.weixin.qq.com/index.php/account
這個平臺主要是處理查詢訂單,退款,充值提現(xiàn)等等操作,各種敏感操作都是需要安裝安全證書之后才可以進(jìn)行操作;里邊的具體功能這里不再贅述

其實筆者看完微信與支付寶的開發(fā)文檔之后其實是一臉懵逼的,因為在沒有接觸過支付之前,對開發(fā)文檔中的各種新名詞毫無反應(yīng),什么叫簽名?為什么這么多參數(shù)都是干嘛用的?notify和return有什么區(qū)別?別著急,接下來就是分析支付寶和微信的Demo了。

下一篇小弟準(zhǔn)備分析一下支付寶和微信支付demo中的代碼,今天先到這里

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 最近因為項目需要,需要接入移動支付,下面就根據(jù)我們項目集成支付的過程做一個簡單總結(jié),包括集成支付寶和微信的大...
    雪上踏痕閱讀 5,089評論 4 15
  • 目錄 準(zhǔn)備工作 微信登錄和支付 支付寶登錄和支付 對比 準(zhǔn)備工作 微信 注冊微信開放平臺,成為開發(fā)者(開發(fā)) 注冊...
    藍(lán)灰_q閱讀 28,465評論 9 56
  • 自己總結(jié)的微信支付寶支付流程和注意點: 準(zhǔn)備工作: 需要公司的營業(yè)執(zhí)照,稅務(wù)信息,等老板的身份證信息等,我記得,用...
    Www劉閱讀 18,685評論 2 50
  • 準(zhǔn)備工作: 需要公司的營業(yè)執(zhí)照,稅務(wù)信息,等老板的身份證信息等,我記得,用這些材料,去支付寶注冊一個商家賬戶(審核...
    Hevin_Chen閱讀 6,883評論 0 9
  • 前言 其實支付很簡單,下載官方的SDK,根據(jù)里面的開發(fā)者文檔和Demo,配置支付,不會可以問客服。(畢竟掏錢了嘛)...
    煎餅果子鄭能量閱讀 1,839評論 0 6

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