微信支付接口開發之---微信支付之JSSDK(公眾號支付)步驟


1、准備

    1.1、公眾號為服務號,開通微信支付功能
    1.2、為了方便調試微信后台的回調URL(必須為外網),我用了nat123軟件來做一個映射
    1.3、官方微信開發的示例WxPayApi(.net版本)
 

2、業務流程圖

 
 
 

3、步驟

 

3.1、用戶訪問商戶的鏈接,商戶鏈接地址調用【網頁授權獲取用戶信息】接口獲取用戶的openid和access_token

 
3.1.1、第一步,用戶同意授權,獲取code,調用接口如下
如:redirect_uri填:http://edoec.com/EdoecPayWeb/Views/WxPay/ProductPage.aspx,redirect_uri網址的域名(這里是edoec.com)要先在公眾號的“網頁授權獲取用名基本信息”的“授權回調域名地址”里設置好,如下圖:
 
        
這個接口要調用成功的條件是要在公眾號的“網頁授權獲取用戶基本信息”填寫“授權回調頁面域名” 否則微信公眾號支付jsapi,打開網頁后,出錯如下錯誤:redirect_uri錯誤
 
 
 
 
        
授權回調頁面的域名是上面:redirect_uri的域名,即:edoec.com
 
 
 
 
3.1.2、第二步,通過回調地址redirect_uri收到code值,通過code換取網頁授權access_token和openid
請求格式如:
 
 
 
在WxPayApi示例里第二步出錯:
請求格式:
出錯如下:
原因:在HttpService.cs的get方法里用了代理,我代理里的ip寫成了空,不要用代理
 
 

3.2、用3.1中獲取到openid調用統一下單api,代碼如下

通過調用url:https://api.mch.weixin.qq.com/pay/unifiedorder,來在微信支付系統下單,生成賬單,這里會返回生成賬單的賬單號prepay_id
 

3.3、最終在HTML5界面調用支付JSAPI(對應業務流程圖的“JSAPI接口請求支付”流程):

需要:
    1、在3.2步驟里微信支付系統通過統一下單已經產生的單號:prepay_id,和paySign
    2、 發起支付的HTML5界面必須在微信公眾號——>微信支付——〉開發配置——〉支付授權目錄里,如下圖
 
 
 
 
格式如下:
"{\"appId\":\"wxa842e8005c427e2d\",\"nonceStr\":\"1f2f9eda959b468e8c98c100e5e3b755\",\"package\":\"prepay_id=wx201602291402363c9dbefb210900648129\",\"paySign\":\"94AB6A4E818266C0338A4A28E08D016C\",\"signType\":\"MD5\",\"timeStamp\":\"1456725741\"}"
 
 
 
 
 
 
 
 


免責聲明!

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



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