支付宝SDK

本文参考自: 原文地址

unity3d 接入安卓支付宝SDK
操作步骤性这东西,时间长了就难免忘记,以防日后要接的时候再次爬坑

目标:导出支付宝插件包(arr包)给UNITY调用

主要三大坑:
                   A坑 Android Studio的安装和配置 提示少这少那,但又下载不了
                   B坑  导出Jar包时总是下载不了需要的文件
                  C坑  写完了代码 没有企业资质如何测试




A坑爬坑方法
     
电脑右下角打开它,左上角设置->高级 

Android Studio 简称AS
AS设置左上角File->Setting

填入代理给你的HTTP代理地址,OK保存

下载支付宝SDK安卓开发包
https://gw.alipayobjects.com/os/rmsportal/mXaaROddYFUrkSJIouil.zip

用AS   打开alipay_demo
B坑解决方法设置如图


这里就是填入LT代理的地址

到这里安装环境已经配置完毕

进入SDK开发环节
这个自带的demo是发布APP的,要把它转换成 library
具体参照其他网址


进入开发环节

新建一个unityPay的类

DEMO中 PayDemoActivity 的 public void payV2(View v) {.......}可以看到有一句PayTask(PayDemoActivity.this);
PayTask 需要一个Activity,这里我们传入unityActivity即可

问题unityActivity从哪来得到呢?????????????????
这个问题我查了网上几篇文章
网上大多数的文章是让你让你把unity的类库拖进项目,然后继承unityPlayerAcivity
然后通过unityPlayerActivity的子类来调用方法

UNITY调用

这就是网上大多数的DEMO接入SDK思路

但问题和安卓通信的unityActivity只能有一个,而且我想尽量分离插件的耦合,A接好了我就永远不想动了,以后再拓展B,C,D,E,F
如果他们都继承了unityPlayerActivity 那么谁才是当前活动的unityPlayerActivity?由于不是主要做安卓开发,我就不纠结了

直接不继承unityPlayerActivity

回到 问题unityActivity从哪来得到呢?
我的思路是 C#传到安卓即可


PayTask(PayDemoActivity.this)改成 PayTask(p_act)

具体安卓代码我待会打包上传

代码写完了,要配置支付宝参数

注意RSA2_PRIVATE是私匙,是私匙,是私匙

钥匙生成工具在官网可以下载:解压 secret_key_tools_RSA256_win
生成完毕,打开私钥匙pkcs8.pem文件,复制-----BEGIN PRIVATE KEY-----   中间的内容   -----END PRIVATE KEY-----

赋值到RSA2_PRIVATE
配置XML文件如下

好了如果你是有签约的支付宝ID你可以越过下面的步骤了,这里已经开始正常支付调用了
我是个开发者还没签约ID怎么测试?

你的 C坑道路爬坑之路即将开启
支付宝沙箱模式
https://auth.alipay.com/login/ant_sso_index.htm?goto=https%3A%2F%2Fopenhome.alipay.com%2Fplatform%2FmanageHome.htm
申请注册完毕,配置生成好公,私匙,具体参照网上文章
简单步骤就是下载支付宝APP沙箱版,
在AS找个合适的初始化方法写入
EnvUtils. setEnv(EnvUtils.EnvEnum. SANDBOX);切换到沙箱模式
如果你是CTRL+C,CTRL+V发现找不到该类,自己手动打这行代码吧,
我是官网CTRL+C复制这段代码,IDE老提示找不到方法,折腾了大半天


发布模块

由于AS版本不断在变,这个生成路径不好确定,直接搜索

app_debug.arr就是插件包了

拖进UNITY得对应目录



UNITYC#代码调用支付


对比下安卓的方法
拼写正常,发布测试

猜你喜欢

转载自blog.csdn.net/qq_39706019/article/details/81384359