粉丝有问Flutter能不能调用支付宝进行支付?还有微信怎么支付?今天我主要是针对支付宝进行支付,教大家怎么来分析你不会的,看了本文以后遇到这样到需求你就知道怎么去查找资料,进行解决了,教你到是思路,而不光是代码。
本头条核心宗旨
欢迎来到「技术刚刚好」头条,本头条是个人维护,每天至少更新一篇Flutter技术文章,实时为大家播报Flutter最新消息。如果你刚好也在关注Flutter这门技术,那就跟我一起学习进步吧,你的赞,收藏,转发是对我个人最大的支持,维护不易,欢迎关注。
技术刚刚好经历
近几年,移动端跨平台开发技术层出不穷,从Facebook家的ReactNative,到阿里家WEEX,前端技术在移动端跨平台开发中大展身手,技术刚刚好作为一名Android开发,经历了从Reactjs到Vuejs的不断学习。而在2018年,我们的主角变成了Flutter,这是Goolge开源的一个移动端跨平台解决方案,可以快速开发精美的移动App。希望跟大家一起学习,一起进步!
本文核心要点
当我们遇到一个不会的技术应该怎么去解决?百度查询?还是问同事?还是直接说不会?「技术刚刚好」遇到问题到解决思路是分析问题,用自己现有到技术来解决,如果解决不了,我会去官网进行一个关键字到查询,看是否有响应到API?如果都没有我还会去dart到包市场看看,https://pub.dev 我相信做Flutter开发到应该知道这个动动,就是第三方到插件,别人给你写好到插件为何不用?而今天到这个就需要用到插件来解决问题。
pub.dev首页
第一步:搜索你需要到功能插件
大家打开这个网址首页,输入:Alipay 也就是支付宝支付到意思,一共21个结果,第一个说:A flutter plugin to use alipay. 这是一个支付宝插件,更新:updated: Aug 30, 2019 ,能看出是最近才更新,下面还有API手册,
这时候我们选择哪一个了?我选择的是:sy_flutter_alipay,因为它是Flutter插件,用于将支付宝集成到iOS和Android应用程序中。支持支付宝、微信支付到SDK。用于IOS,Android两端。使用也挺简单的,Android不需要配置,IOS也是简单配置。
使用示例也有,大家可以简单看看,里面我都有注释。
import 'package:flutter/material.dart';
import 'package:sy_flutter_alipay/sy_flutter_alipay.dart';
void main() => runApp(new MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => new _MyAppState();
}
class _MyAppState extends State{
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new Scaffold(
appBar: new AppBar(
title: const Text('sy_flutter_alipay example'),
),
body: new Center(
child: RaisedButton(
child: Text('支付'),
onPressed: () async {
const payInfo ="从服务端获取的支付参数";
var result = await SyFlutterAlipay.pay(
payInfo,
urlScheme: '你的ios urlScheme', //前面配置的urlScheme
isSandbox: true //是否是沙箱环境,只对android有效
);
print(result);
}),
),
),
);
}
}
Flutter 微信支付插件
一样到微信支付大家翻到最底部,有个微信大家点击进入。打开后跳转到github里面去了,跟支付宝一样不需要配置,
微信支付使用示例
里面有分享和支付到用例。
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:sy_flutter_wechat/sy_flutter_wechat.dart';
void main() => runApp(new MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => new _MyAppState();
}
class _MyAppState extends State{
@override
void initState() {
super.initState();
_register();
}
_register() async {
bool result = await SyFlutterWechat.register('wxf9909bde17439ac2');
print(result);
}
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new Scaffold(
appBar: new AppBar(
title: const Text('Plugin example app'),
),
body: new ListView(
padding: EdgeInsets.all(8.0),
children:[
RaisedButton(
child: Text('分享文字'),
onPressed: () async {
bool res = await SyFlutterWechat.shareText('hello world',
shareType: SyShareType.session);
print('分享文字:' + res.toString());
},
),
RaisedButton(
child: Text('分享图片'),
onPressed: () async {
bool res = await SyFlutterWechat.shareImage(
'https://avatars0.githubusercontent.com/u/10024776',
shareType: SyShareType.timeline);
print('分享图片:' + res.toString());
},
),
RaisedButton(
child: Text('分享网页'),
onPressed: () async {
bool res = await SyFlutterWechat.shareWebPage(
'标题',
'描述',
'https://avatars0.githubusercontent.com/u/10024776',
'http://www.example.com',
shareType: SyShareType.session);
print('分享网页:' + res.toString());
},
),
RaisedButton(
child: Text('支付'),
onPressed: () async {
String payInfo =
'{"appid":"wxf9909bde17439ac2","partnerid":"1518469211","prepayid":"wx120649521695951d501636f91748325073","package":"Sign=WXPay","noncestr":"1541976592","timestamp":"1541976592","sign":"E760C99A1A981B9A7D8F17B08EF60FCC"}';
SyPayResult payResult = await SyFlutterWechat.pay(
SyPayInfo.fromJson(json.decode(payInfo)));
print(payResult);
},
),
],
),
),
);
}
}
总结
今天就算是一个简单到思路解决了一个Flutter上面支付到问题,其实也就用了第三方插件解决的,如果是一个公司需要快速上线,我建议有些东西没必要自己去写,有第三方到就拿过来用就行,如果你有什么想法可以给我评论。
谢谢观看技术刚刚好头条文章,本头条是个人维护,每天至少更新一篇Flutter技术文章,实时为大家播报Flutter最新消息。如果你刚好也在关注Flutter这门技术,那就跟我一起学习进步吧,你的赞,收藏,转发是对我个人最大的支持,维护不易,欢迎关注。
推荐阅读:青海视窗
京城在线所有文字、图片、视频、音频等资料均来自互联网,不代表本站赞同其观点,本站亦不为其版权负责。相关作品的原创性、文中陈述文字以及内容数据庞杂本站无法一一核实,如果您发现本网站上有侵犯您的合法权益的内容,请联系我们,本网站将立即予以删除!
