版权声明:本文为原创文章,转载请声明http://www.cnblogs.com/unityExplorer/p/8405044.html

支付宝的sdk接入方式和微信支付比较类似,大部分的工作也基本是由服务端去做,客户端只负责支付部分

调用支付宝支付的java核心代码其实只有一行:alipay.payV2()(如果不需要支付的结果的话。。。)

public class AliPay {
private static final int SDK_PAY_FLAG = 1; @SuppressLint("HandlerLeak")
private static Handler mHandler = new Handler() {
@SuppressWarnings("unused")
public void handleMessage(Message msg) {
switch (msg.what) {
case SDK_PAY_FLAG: {
@SuppressWarnings("unchecked")
PayResult payResult = new PayResult((Map<String, String>) msg.obj);
/**
对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。
*/
String resultInfo = payResult.getResult();// 同步返回需要验证的信息
String resultStatus = payResult.getResultStatus();
// 判断resultStatus 为9000则代表支付成功
if (TextUtils.equals(resultStatus, "9000")) {
UnityPlayer.UnitySendMessage("ThirdPartySdkManager", "AliPayCallback", "true");
} else {
UnityPlayer.UnitySendMessage("ThirdPartySdkManager", "AliPayCallback", "false");
}
break;
}
default:
break;
}
}
}; //收到来自服务端返回的orderInfo后,向支付宝发起支付
public static void SendPay(final String orderInfo,final Context context) {
Runnable payRunnable = new Runnable() {
@Override
public void run() {
PayTask alipay = new PayTask((Activity) context);
Map<String, String> result = alipay.payV2(orderInfo, true); Message msg = new Message();
msg.what = SDK_PAY_FLAG;
msg.obj = result;
mHandler.sendMessage(msg);
}
}; Thread payThread = new Thread(payRunnable);
payThread.start();
}
}

值得一提的是,相对于微信支付,支付宝支付除了需要订单信息外,还需要传入context参数,context就是当前的Activity

下面附上c#调用代码

public void SendAliPay(string info)
{
AndroidJavaClass unityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
AndroidJavaObject currentActivity = unityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
AndroidJavaObject utils = new AndroidJavaObject("com.my.ugcf.alipay.AliPay");
utils.CallStatic("SendPay", info, currentActivity);
}

恩。。。写到这里,突然发现这几个sdk的ios版忘了写了。。。后面补上。。。

unity探索者之支付宝支付,非第三方插件的更多相关文章

  1. unity探索者之微信分享所有流程,非第三方插件

    版权声明:本文为原创文章,转载请声明http://www.cnblogs.com/unityExplorer/p/7560575.html 很久没有写新博客了,前段时间有些忙,这几天趟了几个微信分享的 ...

  2. app微信支付宝支付后台的插件模式+回调通过spring广播处理后续业务(已亲测可用)

    写在前面的话:每当我们做一个项目,基本上都会涉及到支付的业务,最常用的莫过于微信和支付宝的支付了,项目有bug,有问题,都不叫问题,可一旦钱出了问题,那就是大问题了,所以在支付业务上我们必须慎之又慎! ...

  3. unity探索者之微信支付,非第三方插件

    版权声明:本文为原创文章,转载请声明http://www.cnblogs.com/unityExplorer/p/8404604.html 相比微信的登录和分享功能,微信支付sdk的接入显得相当简单, ...

  4. unity探索者之安卓微信登录,非第三方插件

    版权声明:本文为原创文章,转载请声明http://www.cnblogs.com/unityExplorer/p/7666348.html 之前写了两篇关于微信分享的博客,其实微信登录.分享.支付博主 ...

  5. java实现支付宝支付及退款(一)

    本篇博客主要做支付宝支付的准备工作(注册沙箱.natapp内网穿透等操作).具体代码实现操作请看下篇博客 一.登录沙箱 1.登录蚂蚁金服开发平台: https://open.alipay.com/pl ...

  6. ionic-cordova 支付宝支付插件cordova-plugin-alipay-v2使用篇

    支付宝WS_APP_PAY_SDK_BASE_2.0 <APP支付> 支付宝的cordova插件其实在github上已经有很多了,但是都已经是以前的版本了.在2016年11月的时候支付宝进 ...

  7. 使用Tornado异步接入第三方(支付宝)支付

    目前国内比较流行的第三方支付主要有支付宝和微信支付,博主最近研究了下如何用Python接入支付宝支付,这里我以Tornado作为web框架,接入支付宝构造支付接口. 使用Tornado异步接入支付宝支 ...

  8. H5使用codovar插件实现支付宝支付(支付宝APP支付模式,前端)

    H5打包的app实现支付及支付宝支付,本章主要详解支付宝支付,微信支付请查看另一篇“H5使用codovar插件实现微信支付(微信APP支付模式,前端)” ps:本文只试用H5开发的,支付宝 APP支付 ...

  9. Vue导入非模块化的第三方插件功能无效解决方案

    一.问题: 最近在写vue项目时,想引入某些非模块化的第三方插件时,总是发现会有报错.且在与本地运行插件测试对比时发现插件根本没有注入到jQuery中(console.log($.fn)查看当前jq有 ...

随机推荐

  1. Presto性能调优的五大技巧

    概述 Presto架构 Presto是一个分布式的查询引擎,本身并不存储数据,但是可以接入多种数据源,并且支持跨数据源的级联查询. Presto的架构分为: Coodinator:解析SQL语句,生成 ...

  2. CentOS 下的验证码显示问题

    开发环境 AND 生产环境.gif 问题: 项目部署到 CentOS 的服务器后,图片验证码请求时出现 500 错误, 日志一直是 ArrayIndexOfBoundsException:0,数组第 ...

  3. 给隔壁的妹子讲『一个SQL语句是如何执行的?』

    前言 SQL作为Web开发是永远离开不的一个话题,天天写SQL,可是你知道一个SQL是如何执行的吗? select name from user where id = 1; 上面是一个简单的查询语句, ...

  4. PHPSTORM常用插件

    Translation 最好用的翻译插件 .env files support 可以在env函数使用是提示.env文件中所有的key值的自动完成功能 PHP composer.json support ...

  5. Linux阶段总结

    Linux总结 一.学习心得: 在学习本阶段关于Linux阶段的课程时,让我对Linux有了一个大概的了解. 我了解到Linux操作系统是基于最初的Unix系统而开发出来的: 在学习Linux的时候, ...

  6. Django开发之Ajax 返回内容报错

    预期效果 Django通过Ajax POST提交数据,前台弹窗处理结果 粗略代码 # views.py 代码 ...省略... msg = { 'code': 200, 'message': 'Hel ...

  7. 00_01_使用Parallels Desktop创建WindosXP虚拟机

    打开paralles软件,选择文件->新建 继续 选择手动选择,之后勾选没有指定源也继续 选择要创建的操作系统(这里以XP为例,其他的windows系统安装基本都差不多) 根据需要选择,这里选择 ...

  8. PHP var_export() 函数

    var_export() 函数用于输出或返回一个变量,以字符串形式表示.高佣联盟 www.cgewang.com高佣联盟 www.cgewang.com var_export() 函数返回关于传递给该 ...

  9. PHP strnatcmp() 函数

    实例 使用"自然"算法来比较两个字符串(区分大小写): <?php高佣联盟 www.cgewang.comecho strnatcmp("2Hello world! ...

  10. ABPHelper.CLI及其依赖项简单介绍

    目录 目录 ABPHelper.CLI 入门 使用指南 命令行 技术点如下 Scriban 通过Microsoft.Extensions.FileProviders.Embedded获取嵌入资源 通过 ...