微信支付--網頁版-V3-(1)

最近要做網頁微信公衆號網頁調微信支付。好了,廢話不多說,先看官方的文檔: 
https://pay.weixin.qq.com/index.php/home/login?return_url=%2F 
1、打開公衆號支付: 
這裏寫圖片描述 
2、查看第二階段的開發文檔 
此處輸入圖片的描述 
進入到 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1 
3、先查看業務流程 
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_4 
4、重點如下圖紅框標識 
這裏寫圖片描述 
5、重點在第4和第5步;圖中有提到調用【統一下單API()】來生成預付訂單()也就是先要生成prepay_id。 
廢話不多說,先看接口文檔中的統一下單API:統一下單API 
6、在該接口中有提到【“除被掃支付場景以外,商戶系統先調用該接口在微信支付服務後臺生成預支付交易單,返回正確的預支付交易回話標識後再按掃碼、JSAPI、APP等不同場景生成交易串調起支付。”】。OK,其它的先不管;先根據接口API,編寫代碼:

    /**
     * 構建微信統一支付請求xml串
     * @param payParams
     * @return str
     */
    public static String buildUnifiedOrderReq(Map<String,String> payParams){
        String payStr = "";
        payStr += "<xml>";
        payStr +=    "<appid>"+payParams.get("appid")+"</appid>";
        payStr +=    "<body>"+payParams.get("body")+"</body>";
        payStr +=    "<mch_id>"+payParams.get("mch_id")+"</mch_id>";
        payStr +=    "<nonce_str>"+payParams.get("nonce_str")+"</nonce_str>";
        payStr +=    "<notify_url>"+payParams.get("notify_url")+"</notify_url>";
        payStr +=    "<openid>"+payParams.get("openid")+"</openid>";
        payStr +=    "<out_trade_no>"+payParams.get("out_trade_no")+"</out_trade_no>";
        payStr +=    "<spbill_create_ip>"+payParams.get("spbill_create_ip")+"</spbill_create_ip>";
        payStr +=    "<total_fee>"+payParams.get("total_fee")+"</total_fee>";
        payStr +=    "<trade_type>JSAPI</trade_type>";
        payStr +=    "<sign>"+payParams.get("sign")+"</sign>";
        payStr +="</xml>";
        return payStr;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

7、在編寫代碼的過程中,你會發現在調用統一下單接口前,需要獲取支付用戶的openid。在接口中有獲取openid的相關鏈接。因我是公衆號,故來到此頁面:公衆號獲取openid 
8、因是網頁獲取,故點此鏈接進入獲取用戶openid的api,如下圖 
此處輸入圖片的描述 
9、點擊鏈接,來到了微信公衆號網頁授權獲取用戶基本信息;初步一看,一堆堆的說明,怎麼搞啊,頭大了。不用擔心,一步一句看下去,到最後,你會發現獲取openid有兩種不同的方式:

  • 靜默授權(用戶無感知)
  • 感知授權(需用戶授權)

10、爲了提升用戶體驗,初步決定使用靜默授權方式。 
11、瀏覽完該api說明,可以得到靜默授權方式獲取到微信用戶的openid獲取步驟。

12、那麼問題又來了,如何測試-請看下篇~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章