flutter关于调起微信支付及支付宝支付相关问题

近期做了关于flutter的商城项目 有调用到flutter唤醒支付宝及微信的支付功能

多余的不多说 分享一下自己踩坑经过(支付的都是关于安卓端的)

包名

支付宝 : tobias 微信 fluwx  

支付宝这里不多数官方讲解很清楚

这里重点说一下关于微信方面的问题 很重要很重要很重要 一定要区分开发包和正式打包因为他们打包生成的应用签名是不一样的 

在用真机调试时应用是这直接通过USB安装的  这里一定要用工具Gen_Signature_Android2.apk 查看一下真机调试的时安装的应用签名 该工具可百度搜索 然后要在微信支付方面配置时签名不要写错 否则一定调起失败  

那么再用flutter build apk 后这里打包出来的apk则就是正式应用 需要配置正式签名 也就是我们用密钥生成的签名 再生成包时一定要注意自己的签名是否正确  

还有一点就是微信可能有缓存记录 也就是说第一次调起失败提示签名不对之后就算你把签名写正确 也可能会提示签名不对  这里建议大家用的安卓机支持微信双开或者需要把微信卸载重装 否则缓存问题很难受真的很难受 不想提~


ios打包的话需要做出一些配置 这里文档里面讲解的并不是很清楚

在 tobias 及 fluwx  均升级到1.0后 文档里面声明不在需要在AppDelegate.m里面重写回调方法 

可以不用写 我这边个人是写的了 

- (BOOL)application:(UIApplication *)application openURL:(NSURL*)url sourceApplication:(NSString*)sourceApplication annotation:(id)annotation {return[superapplication:applicationopenURL:urlsourceApplication:sourceApplicationannotation:annotation];}

- (BOOL)application:(UIApplication *)application openURL:(NSURL*)url options:(NSDictionary *)options{return[superapplication:applicationopenURL:urloptions:options];}


然后主要问题是在 Info.plist里面  (支付宝 微信支付写在一块)

CFBundleURLTypes

CFBundleTypeRole

Editor

CFBundleURLName

alipay

CFBundleURLSchemes

    aliplays

    Your wx APP ID

    YOUR APP SCHEME NAME


LSApplicationQueriesSchemes

weixin

NSAppTransportSecurity

NSAllowsArbitraryLoads

以上代码都要添加 重点添加粗线标注的如果忘记写则调起支付宝支付后不会返回APP 无法监听支付结果

然后还有微信的appid 也要写在里面


再一个说一下关于flutter 关于软键盘遮挡输入框的问题

flutter关于调起微信支付及支付宝支付相关问题_第1张图片

这里建议大家使用 SingleChildScrollView   要注意如果Scaffold设置了resizeToAvoidBottomPadding: false,这向上滚动会不生效 

正常大家可以用

推一下效果 


flutter关于调起微信支付及支付宝支付相关问题_第2张图片

你可能感兴趣的:(flutter关于调起微信支付及支付宝支付相关问题)