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

流程php

  1. 申請APP的微信支付
  2. 申請成功以後獲得APPID 商戶號 以及本身設置商戶號的支付密碼
  3. 這時就能夠開發接口了

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

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

接口開發mvc

  一、就說三個接口吧主要這三個接口是必須用的(如圖),使用的方法SDK裏面應該有(由於以前先開發的jsapi支付,因此我直接使用的是jsapi的dome方法)app

      

 

二、調用統一下單。dom

  照着參數列表把必須傳的參數賦值就能夠了(非必傳的看你本身的業務須要了),而後發送給微信,獲得返回的結果是xml,若是你用的是微信的dome,那麼下單的方法是給你返回的 WxPayData 類型post

      

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

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

三、調起支付接口spa

  須要的是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/。看看一樣的參數你生成的簽名和微信的同樣不,同樣說明對了,不同就錯了。

四、支付結果通知

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

相關文章
相關標籤/搜索