.net 微信APP支付接口的開發流程以及坑


流程

  1. 申請APP的微信支付
  2. 申請成功之后得到APPID 商戶號 以及自己設置商戶號的支付密碼
  3. 這時就可以開發接口了

微信APP支付API:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1

微信APP開發SDK:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1

接口開發

  1、就說三個接口吧主要這三個接口是必須用的(如圖),使用的方法SDK里面應該有(因為之前先開發的jsapi支付,所以我直接使用的是jsapi的dome方法)

      

 

2、調用統一下單。

  照着參數列表把必須傳的參數賦值就可以了(非必傳的看你自己的業務需要了),然后發送給微信,得到返回的結果是xml,如果你用的是微信的dome,那么下單的方法是給你返回的 WxPayData 類型

      

  注意:下單的時候會有一個參數 notify_url 這個參數是用來微信支付成功之后用來通知你的支付結果,用來你處理自己的邏輯,微信給的說明只是說能直接訪問、不帶參數就可以了,

     但是沒說他結果是post回來的,如果你用的是mvc的話千萬不能把回調頁面寫成httpget的,這樣你會收不到微信的通知的

3、調起支付接口

  需要的是7個參數,如下

    應用ID(appid)、商戶號(partnerid)、預支付交易會話ID(prepayid)、擴展字段(package)、隨機字符串(noncestr)、時間戳(timestamp)、簽名(sign)

  其中 應用ID(appid)、商戶號(partnerid)、擴展字段(package)這三個值是可以讓APP寫死的就不用傳值了,但擴展字段(package)參數微信只是暫填寫固定值Sign=WXPay,

  所以以后他要變得話,還得重新讓APP打包,尤其iOS還得審核,特別麻煩,所以建議由參數方式傳值獲取,prepayid就是上邊統一下單接口返回的結果(當然上邊的接口得調用無誤),

  需要注意的是:簽名(sign)並不是統一下單接口返回的那個簽名,而是需要用同樣的簽名方式把前六個參數在簽名一邊,獲取到的簽名才是APP需要的那個簽名。得到這些參數就可以傳給APP開發了。

  如果不知道是不是簽名正確可以用微信提供的簽名在線驗證方法:https://pay.weixin.qq.com/wiki/tools/signverify/。看看同樣的參數你生成的簽名和微信的一樣不,一樣說明對了,不一樣就錯了。

4、支付結果通知

  用的就是統一下單接口發送給微信的那個回調URL(notify_url),處理自己的邏輯業務


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM