flutter微信支付、微信授權(quán)登錄、微信小程序、微信醫(yī)保鏈接支付問題

1、微信開發(fā)者平臺創(chuàng)建應(yīng)用(略:這個網(wǎng)上有教程)


image.png

2、引入插件

  wechat_kit: ^1.1.2

3、配置
直接看文檔提供的.
4、代碼+解釋

import 'package:wechat_kit/wechat_kit.dart';

class WeChatTool{
 WeChatTool._();
 static final tools=WeChatTool._();
 factory WeChatTool.getInstance() => tools;
///初始化
 Wechat init(){
   Wechat _weChatInit = Wechat() // 微信
     ..registerApp(
       appId:這里填上面圖片獲取到的appid,
       universalLink: 這里先填包名就行,下面ios有說到修改
     );
   return _weChatInit;
 }

///小程序
 miniProgram({String userName,String path}){
   init().launchMiniProgram(
       userName: userName, path:path);
 }

///微信支付
 weChatPay({String appId,partnerId,prepayId,package,nonceStr,timeStamp,sign}){
   init().pay(
     appId: appId,
     partnerId:partnerId,
     prepayId: prepayId,
     package: package,
     nonceStr:nonceStr,
     timeStamp:timeStamp,
     sign:sign,
   );
 }

///微信授權(quán)--并獲取相關(guān)內(nèi)容
 weChatAuthorize(){
   init().auth(scope:<String>[WechatScope.SNSAPI_USERINFO]);
   init().authResp().listen((event)async {
     if(event.errorCode== WechatSdkResp.ERRORCODE_SUCCESS){
       WechatAccessTokenResp wechatAccessTokenResp=await  init().getAccessTokenUnionID(
           appId:上面第一張圖的appid,
           appSecret:也在上面第一張圖里,
           code: event.code
       );
         if(wechatAccessTokenResp.errcode==WechatSdkResp.ERRORCODE_SUCCESS){
           print(wechatAccessTokenResp.openid);
         }

     }
   });
 }

}

使用用例:

1.授權(quán)登錄
  WeChatTool.tools.weChatAuthorize();
2.打開小程序
   WeChatTool.tools.miniProgram(userName: "gh_***********a", path: "pages/home/index");
userName:記得讓小程序提供者給你小程序的id,path:進入小程序后要去到哪個頁面
3、微信支付
大概做法:創(chuàng)建訂單,拿到訂單id再去請求接口返回微信支付所要的參數(shù)。然后再調(diào)用微信sdk支付,如下:
  WeChatTool.tools.weChatPay(
        appId: _payInfo.appId,
        partnerId: _payInfo.partnerId,
        prepayId: _payInfo.prepayId,
        package: _payInfo.package,
        nonceStr: _payInfo.nonceStr,
        timeStamp: _payInfo.timestamp,
        sign: _payInfo.sign,
      );

監(jiān)聽回調(diào):
WeChatTool.tools.init().payResp().listen(void方法);
插件提供很多


image.png

IOS需要做的工作


image.png

如果剛開始沒有的,修改添加就行。
這里的buildId需要注意,要跟你的申請證書一致


image.png

然后修改這里

      ..registerApp(
        appId:這里填上面圖片獲取到的appid,
        universalLink: 鏈接
      );

這個鏈接是你請求接口時的那個鏈接域名如(https://www.baidu.com/)。也是你開發(fā)者平臺ios填的那個鏈接
(注意一點一定要是https的哦)
應(yīng)該沒了。。。。
補充:可能有人做醫(yī)療用到-->醫(yī)保
插件這個方法是不行的,它可能可以打開其他一些鏈接(沒得試),但醫(yī)保鏈接是一定不行的,底層用的方法都不一樣。
插件方法:

image.png

插件底層微信實現(xiàn):
image.png

微信醫(yī)保支付文檔:
image.png

改:(我是直接改這個辦法,也可以再寫一個方法,不過得自己寫通道)
image.png

注:ios也是兩行而已,文檔看著改就行。
最后就是把插件下載下來,在pubspec.yaml本地應(yīng)用,或者下載完把插件傳到自己的giuhub,同樣在pubspec.yaml引用。

最后編輯于
?著作權(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)容

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