unity探索者之支付宝支付,非第三方插件

版权声明:本文为原创文章,转载请声明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版忘了写了。。。后面补上。。。

原文地址:https://www.cnblogs.com/unityExplorer/p/8405044.html

时间: 2024-11-03 22:16:13

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

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

写在前面的话:每当我们做一个项目,基本上都会涉及到支付的业务,最常用的莫过于微信和支付宝的支付了,项目有bug,有问题,都不叫问题,可一旦钱出了问题,那就是大问题了,所以在支付业务上我们必须慎之又慎! 但是我们做开发的,并不是在一个项目中完成支付模块就万事大吉了,在下一个项目中,我们是不是又要将支付模块的代码复制粘贴一遍,然后再重改支付模块?这样的坏处是频繁修改支付模块难免出现一些我们自己都意识不到的问题,一旦暴露在一些不怀好心的又懂技术的人面前,那我们哭都不知道去找谁. 所以,我试着通过利用s

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

版权声明:本文为原创文章,转载请声明http://www.cnblogs.com/unityExplorer/p/8404604.html 相比微信的登录和分享功能,微信支付sdk的接入显得相当简单,因为大部分的事情需要由服务端或者后台来做 基本流程如下: 1.客户端向服务端发起购买商品请求 2.服务端计算实际支付金额,向微信请求订单 3.微信返回预支付订单信息,服务端将该信息传给客户端 4.客户端解析预支付订单信息json,向微信发起支付请求 5.支付成功后,微信向服务端预设的url和客户端返

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

支付宝WS_APP_PAY_SDK_BASE_2.0 <APP支付> 支付宝的cordova插件其实在github上已经有很多了,但是都已经是以前的版本了.在2016年11月的时候支付宝进行了一次更新,支付宝的SDK升级到2.0版本.以前在app中使用支付宝进行支付叫做移动支付,11月之后更名为APP支付. 本插件仅支持<APP支付>,不支持移动支付 功能说明 根据支付宝的说明文档的建议,为保证安全,签名都放到后端去做,前端只需要接收后台传入签名字符串,使用该插件调用支付宝SDK完

Android app 第三方支付宝支付接入

支付宝的接入相对比较简单,看看支付宝官网的文档基本都能搞定,但是切记一点让你们的后台也要搞清楚支付宝的流程,不然对接起来是一件很蛋疼的事情. 开始搬砖 注意事项 开发前一定要阅读支付宝官方文档 强烈建议签名等处理在后台处理,我这个是测试是在自己本地写的,不要吐槽 想获取支付宝合作商户ID,及支付宝公钥请点击支付宝链接,生成密钥及PKCS8转码工具在文档中 添加android.permission.INTERNET权限和android.permission.ACCESS_NETWORK_STATE

支付宝支付插件使用文档

插件采用最新接口开发,同时集成电脑网站(即时到账)扫码支付和手机网站支付,均含退款,为方便测试,插件添加了沙箱环境. 电脑网站支付开发文档地址: https://docs.open.alipay.com/270/alipay.trade.page.pay 手机网站支付开发文档地址: https://docs.open.alipay.com/203/105286/ 统一退款开发文档地址: https://docs.open.alipay.com/api_1/alipay.trade.refund/

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

目前国内比较流行的第三方支付主要有支付宝和微信支付,博主最近研究了下如何用Python接入支付宝支付,这里我以Tornado作为web框架,接入支付宝构造支付接口. 使用Tornado异步接入支付宝支付流程: 1. 进入蚂蚁金服开放平台填写开发者信息.应用信息 2. 配置RSA256密钥,生成支付宝和应用的密钥 3. 构造订单接口API,生成订单 4. 构造支付接口 1. 进入蚂蚁金服开放平台填写开发者信息.应用信息 这里通过沙箱环境开发测试接口,蚂蚁金服开放平台-->开发者中心-->研发者服

第三方聚合支付vs微信支付宝支付,有何区别?

自移动支付逐步取缔了现金支付后,现在我们在商户的收银台上会看到各种二维码牌,一般比较经常看到的主要是微信L牌.支付宝二维码L牌,有部分商户会直接打印二维码帖子在桌面上.现在很多人估计会听到有些朋友是做微信和支付宝的移动支付,那么他们所说的做微信和支付宝的移动支付究竟是什么?聚合支付品牌有哪些?微信作为聚合支付品牌国内支付龙头企业,根据微信在2018年发布的<2018微信年度数据报告>显示,2018年,微信每个月有10.82亿用户保持活跃,每天有450亿次信息发送出去,每天有4.1亿音视频呼叫成

支付宝微信网银第三方支付靠谱稳定对接开发

需要了解 JR金融项目 区块链,比特币,p2p项目,B2B网关,现货资金盘,期货招商,股票配资,商品交易所 大盘的 金融支付 第三方支付,网关支付,网银支付,银行卡支付,话费卡支付,银联代扣,支付渠道,支付宝支付,微信支付,扫码支付,快捷支付,支付牌照申请,线上支付通道搭建,支付通道申请,支付接口对接,原生支付宝网关支付!独立后台,D0实时结算,API批量代付接口 JR / BC / QP 菠菜奔驰游戏等稳定安全通道!大量三方支付资质出售!请加扣:143~126~5775 结构和功能在中国,已经

第三方支付——支付宝支付

本次针对沙箱环境下的支付宝支付配置以及模拟下订单付款.以及订单查询.话不多说,请看下文 1.首先需要用你的支付宝账户登录蚂蚁金服开放平台 2.进入沙箱环境,APPID.沙箱账号之类的信息就会映入眼帘 3.先配置RSA(SHA1)密钥信息(上图中红框标记的地方),再看阿里粑粑给的Demo吧 4.秘钥生成请移步文档(RSA2签名格式的话,要生成2048位的!!不要被示例图给迷惑了,当时我用的是RSA格式(需要生成的是1024位秘钥)结果用的2048位的,一直报错,需要注意一下) 5.支付宝电脑版支付