flutter 支付宝APP支付 (包含后台)

13,697

支付宝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支付宝支付

这里我用的别人集成的插件

sy_flutter_alipay

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--