FlutterがAndroidにWeChat決済を実装

Flutter AndroidはWeChat支払いsy_flutter_wechatを実装しています

 

Android WeChat支払いに関する注意

注:WeChat Payをデバッグツールに直接接続してテストすることはできません。直接接続されている場合は、-1が返されます。現時点では、以前の署名ファイルを使用して署名を生成し、携帯電話に送信してテストします。
注:
1. WeChatオープンプラットフォームは、アプリケーションパッケージ名とアプリケーション署名で構成する必要があります

2. Androidアプリケーションパッケージの名前は、WeChatオープンプラットフォーム構成と同じである必要があります。3. WeChatオープンプラットフォームでアプリケーションシグネチャを構成するときに使用されるキーストアファイルは、公式にパッケージ化されたキーストアシグネチャファイルと同じである必要があります。
4.コードで構成されたAppidはオープンプラットフォームと一致している必要があります
5.前払い情報を生成するサーバーAPIインターフェースは事前に準備する必要があります
6. AndroidはWeChat支払いを行う前に正式にパッケージ化する必要があります

 

import 'dart:convert'; 
import 'package:flutter / material.dart';
import 'package:sy_flutter_wechat / sy_flutter_wechat.dart';
import 'package:dio / dio.dart';
void main()=> runApp(MyApp());
クラスMyApp extends StatelessWidget {
//このウィジェットはアプリケーションのルートです。@Override
ウィジェットのビルド(BuildContextコンテキストは){
MaterialApp(タイトルを返す:「フラッターデモ」、テーマ:ThemeDataは(
//これは、アプリケーションのテーマです。
//
//は「フラッター実行」を使用してアプリケーションを実行してみてくださいあなたがよ。//「ホットリロード」の 呼び出しを確認し

ください(「フラッターラン」を実行したコンソールで「r」を押します。


//または、変更をFlutter IDEの「ホットリロード」に保存します)。
//カウンターがゼロにリセットされていないことに注意してください。
// アプリケーションは再起動されません。
primarySwatch:Colors.blue、)、
home:HomePage()、);
}}
クラスHomePageはStatefulWidgetを拡張します{
HomePage({Key key}):super(key:key);
_HomePageState createState()=> _HomePageState(); }
クラス_HomePageState extends State <HomePage> {
@override
void initState(){
super.initState();
_登録();
}
_register()async {
bool result = await SyFlutterWechat.register( 'wx5881fa2638a2ca60'); 印刷(結果);
}
_weixinPay()async {
var apiUrl = 'http://agent.itying.com/wxpay/'; var myPayInfo = await Dio()。get(apiUrl);
//アプリケーションには青いツールバーがあります。次に、アプリを終了せずに、
//以下のprimarySwatchをColors.greenに変更してから、

マップmyInfo = json.decode(myPayInfo.data); print(myInfo);
var payInfo = {"appid":myInfo ["appid"]。toString()、 "partnerid":myInfo ["partnerid"]。toString()、 "prepayid":myInfo ["prepayid"]。toString()、 "パッケージ ":myInfo ["パッケージ "] .toString()、" noncestr ":myInfo [" noncestr "]。toString()、" timestamp ":myInfo [" timestamp "]。toString()、" sign ":myInfo [ "sign"]。toString()、
};
SyPayResult payResult = SyFlutterWechatを待ちます。
pay( SyPayInfo.fromJson(payInfo)); print(payResult);
}
@Override
Widget build(BuildContext context){
return Scaffold(
appBar:AppBar(
title:Text( " 微信")、)、
body:Center(
child:Column(
mainAxisAlignment:MainAxisAlignment.center、children:<Widget> [
RaisedButton(
child:Text ( '分享文字')、onPressed:()async {
bool res = await SyFlutterWechat.shareText( 'hello
shareType:SyShareType.session); print('分享文字: '+ res.toString());
}、)、
RaisedButton (
子:Text( '分享图片')、onPressed:()async {
bool res = await SyFlutterWechat.shareImage( 'https://avatars0.githubusercontent.com/u/10024776'、
world '、


shareType:SyShareType.timeline); print(' Share picture: '+ res.toString());
}、)、
RaisedButton(
child:Text(' Share page ')、onPressed:()async {
bool res = await SyFlutterWechat.shareWebPage( 'title'、
'description'、
'https://avatars0.githubusercontent.com/u/10024776'、 'http
://www.example.com'、shareType:SyShareType.session); print( 'ページを共有する:' + res.toString());
}、)、
RaisedButton(
child:Text( 'payment')、onPressed:_weixinPay、
)、]、
)、)、
);}
}

おすすめ

転載: www.cnblogs.com/zhaofeis/p/12761345.html