flutter 支付宝APP支付 (包含后台)
支付宝app支付,最全攻略,看完了你就会了,这里就是实际运行把每一步都写下来,和看视频是没有区别的,而且我这个是一个系列,欢迎关注,点赞最好啦。
博主这里全部都是一字不漏的,和操作一个不漏的记录下来,并且亲测,完全不懂的都可以入手
支付宝支付对接(后端JAVA, Nodejs)
下面有app支付哦
正题 先申请app支付
申请应用
登陆支付宝开放平台
,然后上面导航选择【网页&移动应用】
然后一路下去申请,按指示就可以了,这里就不截图了。
这时候狠重要的一点,看到这个图了么,点击其他,里面有一个app支付,点击添加。(默认是没有这个权限的)

这个问题困扰了我两天呢
生成签名
这时候点击签名,然后下载他们的工具。
如图

按如下点击,生成私钥。(这个是非java,是Java就点击java)
然后保存私钥,记得保存哦,不然再点击一次之前的不见了。
然后在点击获取SCR文件。
(如果是非Java也可以点击复制公钥,因为CSR是生成证书的,这个证书对Javasdk天生支持,非Java要自己实现)
上传公钥 或者 CSR
然后在支付宝刚刚的应用里上传公钥,或者 SCR。
如图

然后就设置完成了, 这时候如果是公钥,就点击复制【支付宝公钥】,是证书就点击下载支付宝证书,其他的就需要根据下载,以后也可以下载。目前我们用不到。
我是使用证书
下载支付宝证书 | 公钥
如图

然后就可以开始编码了
下载对应的SDK,把参数传进去,就可以。
对了,上面可能你会看到【网关】和【回调】,网关就是支付成功的结果回调,而回调是对异常等信息阿里给你的消息接收。
哦,记得写alipay.trade.app.pay
, 这个是app支付,别搞错了。
到这里就完成啦,如果app还不行,就自己下载校验了,因为有可能是app自己的原因
openclub.alipay.com/club/histor… 到这里查看下载app校验哦,如果可以,那就是app的问题咯。
我这里上一个目前可以下载的apk地址 alipaybbs.oss-cn-hangzhou.aliyuncs.com/1807/thread…
还有一点,有可能,生成的前面有域名,后面带一个问号,记得把问号前面的都干掉。
--- 按我这个就可以, 如果不可以就重新看一遍,反省下自己 ---
如果报没有权限这种,可以上支付宝商家里面申请app支付,
按如下步骤操作:创建应用—>应用管理—>添加功能—>上线应用
记得是商家支付宝,和上面的开放支付宝不一样哦。
这里应用需要上传营业执照和app下载地址跟测试账号,如果没上线,上传文档,文档支持world问题,里面要有至少三个截图,如(首页、主业务界面、支付界面)支付界面要说明金额的范围,比如一单1w元以下。 (上传个人界面之类的,肯定会被拒绝)
APP,flutter支付宝支付
这里我用的别人集成的插件
Install
可以通过git引用,也可以下载当本地包引用,比如不会本地引用,就直接git引用,到
dependencies
下
sy_flutter_alipay:
git:
url: https://github.com/lishuhao/sy_flutter_alipay
加urlScheme (IOS)
然后添加自己的urlScheme
,如果没有的话。
(科普下,urlScheme可以理解为请求协议,就跟http一样,是一个协议,干过原生的都知道,但是跟原生的说协议和请求头,他们可能就不知道了)
怎么加呢
打开Xcode,没导入的话就点击导入,导入的文件是ios/Runner
, 然后点击左侧的Runner,这时候右侧就出现了,点击tabs上面的Info,找到URL Type,然后就看到了urlScheme,然后输入就完成了。
如图

如果实在不想用Xcode设置的话,请到ios/Runner/info.plist加入下面两句
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLSchemes</key>
<array>
<string>这个就是要设置自己的urlScheme</string>
</array>
</dict>
</array>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
USE
import 'package:sy_flutter_alipay/sy_flutter_alipay.dart';
。。。
var result = await SyFlutterAlipay.pay(
payInfo,
urlScheme: '你的ios urlScheme', //前面配置的urlScheme
isSandbox: true //是否是沙箱环境,只对android有效
);
print(result);
完成,不过在模拟器可能会出问题,那就用真机,安装连接就不用说了,插入USB,直接运行,如果是IOS真机运行,就搜索下,或者看我下个文章,如何IOS真机运行,篇幅有限,告辞
--END--
转载自:https://juejin.cn/post/6844903957391736845