█ 【安卓学习之第三方库】 Rxpay学习:支付宝微信支付

█ 相关文章:

  • 【安卓学习之第三方库】库的使用2-jar类库的使用(以dom4j为例)和升级(以极光推送为例)
  • 【安卓学习之第三方库】 消息推送之极光推送
  • 【安卓学习之第三方库】 消息推送之阿里云推送
     

█ 读前说明:

  • 本文通过学习别人写demo,学习一些课件,参考一些博客,’学习相关知识,如果涉及侵权请告知
  • 本文只简单罗列相关的代码实现过程
  • 涉及到的逻辑以及说明也只是简单介绍,主要当做笔记,了解过程而已
  • 下载demo
  • 本demo直接参考https://github.com/Cuieney/RxPay,进行简单的集成测试,ok

Rxpay基于java的集成

  1. APP目录下的build.gradle中添加AspectJ的依赖:
dependencies {...  implementation 'com.cuieney:rxpay-api:2.2.3'annotationProcessor 'com.cuieney:rxpay-compiler:2.1.1'implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.51"
}
  1. AndroidManifest.xml修改
 <uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <application...  >...<!-- 支付宝 --><activityandroid:name="com.alipay.sdk.app.H5PayActivity"android:configChanges="orientation|keyboardHidden|navigation|screenSize"android:exported="false"android:screenOrientation="behind"android:windowSoftInputMode="adjustResize|stateHidden"/><activityandroid:name="com.alipay.sdk.app.H5AuthActivity"android:configChanges="orientation|keyboardHidden|navigation"android:exported="false"android:screenOrientation="behind"android:windowSoftInputMode="adjustResize|stateHidden"/><!-- 微信支付 --><!--添加你微信支付的appid 和PARTNER_ID商户号(固定不变的),apiKey(商户平台设置的密钥key获取方法,可以问后台要可以到微信商户平台(pay.weixin.qq.com)-账户设置-API安全-密钥设置)--><meta-dataandroid:name="WX_APPID"android:value="wxbc998sss8d5283csdsdf187" /><!-- 非必填项,此处填写后,请求json的partnerId字段就可以不填  --><meta-dataandroid:name="PARTNER_ID"android:value="124455465765" /><!-- 非必填项,此处填写后,请求json的sign字段就可以不填(即App端签名)  --><meta-dataandroid:name="API_KEY"android:value="sdsdsafshregewrew" /><activityandroid:name=".wxapi.WXPayEntryActivity"android:exported="true"android:screenOrientation="portrait"android:windowSoftInputMode="adjustPan" /></application>
  1. Application修改
@WX(packageName = "com.cuieney.android.rxpay")//微信支付注册keystore时候的包名
public class RxPayApplication extends Application {@Overridepublic void onCreate() {super.onCreate();}
}
  1. 使用:
                //服务器产生的订单信息String str1 = "partner=\"2088121059329235\"&seller_id=\"1993349866@qq.com.....";new RxPay(this).requestAlipay(str1).subscribe(new Consumer<Boolean>() {@Overridepublic void accept(Boolean aBoolean) throws Exception {Toast.makeText(MainActivity.this, "阿里支付状态:"+aBoolean, Toast.LENGTH_SHORT).show();Log.e("oye", "accept: " + aBoolean);}}, new Consumer<Throwable>() {@Overridepublic void accept(Throwable throwable) throws Exception {Log.e("oye", "accept: ", throwable);Toast.makeText(MainActivity.this,"阿里支付状态err:"+throwable.getMessage(), Toast.LENGTH_SHORT).show();}});
             //服务器生成订单后的json 具体看README格式String str2 = "{\"prepayId\":\"wx20171130142918877d249e440347896475\"}";new RxPay(this).requestWXpay(str2).subscribe(new Consumer<Boolean>() {@Overridepublic void accept(Boolean aBoolean) throws Exception {Log.e("oye", "accept: " + aBoolean);Toast.makeText(MainActivity.this, "微信支付状态:"+aBoolean, Toast.LENGTH_SHORT).show();}}, new Consumer<Throwable>() {@Overridepublic void accept(Throwable throwable) throws Exception {Log.e("oye", "accept: ", throwable);Toast.makeText(MainActivity.this,"微信支付状态err:"+throwable.getMessage(), Toast.LENGTH_SHORT).show();}});
  1. 运行效果:

因为我没有资质,没有申请相关的开发者账号,所以只能直接拿开源项目的东西测试下,
测试结果:都可以进行跳转,只是这些信息都过期了,只要换下相关商户信息就可以用,如下图


█ 支付宝alipaySdk

  1. 下载支付宝官方的sdk:App 支付客户端 DEMO&SDK - 支付宝开放平台

    ● 用户已安装支付宝:进入到支付宝--调起支付宝支付--输入密码--显示支付结果--自动回跳到商家 App 中
    ● 用户未安装支付宝:调起支付宝网页支付收银台--用户登录--确认付款页面--输入密码--展示支付结果
    
  2. 添加依赖库(app中的 build.gradle中):

下载支付宝官方的sdk,导入项目中:https://docs.open.alipay.com/54/104509

dependencies {...  implementation files('libs/alipaySdk-20180601.jar')
}
  1. 跳转支付宝转账的代码如下:
     Runnable payRunnable = new Runnable() {@Overridepublic void run() {PayTask alipay = new PayTask(aty);Map<String, String> result = alipay.payV2(key, true);Message msg = new Message();msg.obj = result;// 支付结果mHandler.sendMessage(msg);}};Thread payThread = new Thread(payRunnable);payThread.start();
  1. 支付结果处理的代码如下:(订单是否真实支付成功,需要依赖服务端的异步通知。)
        PayResult payResult = new PayResult((Map<String, String>) msg.obj);String resultInfo = payResult.getResult();// 同步返回需要验证的信息String resultStatus = payResult.getResultStatus();// 判断resultStatus 为9000则代表支付成功if (TextUtils.equals(resultStatus, "9000")) {Toast.makeText(aty, "支付成功", Toast.LENGTH_SHORT).show();} else {Toast.makeText(aty, "支付失败", Toast.LENGTH_SHORT).show();}

█ 支付宝转账

  1. 如果希望点击一个按钮,立即就跳出支付页面,则使用如下:

     ● alipayqr://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode={支付二维码的url}● 这里的二维码需要使用urlencode进行编码,否则不能用哦:
    
  2. 支付二维码的url如下:

    ● 原码:https://qr.alipay.com/fkx14203rsedkzsjvtfat3c?_s=web-other
    ● 编码:https%3a%2f%2fqr.alipay.com%2ffkx14203rsedkzsjvtfat3c%3f_s%3dweb-other
    
  3. 跳转支付宝转账的代码如下:

     Toast.makeText(MainActivity.this, "跳转到支付宝转账", Toast.LENGTH_SHORT).show();try {Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("alipays://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode=https%3a%2f%2fqr.alipay.com%2ffkx14203rsedkzsjvtfat3c%3f_s%3dweb-other"));intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);Toast.makeText(MainActivity.this,"非常感谢你的支持", Toast.LENGTH_SHORT).show();} catch (Exception e) {Toast.makeText(MainActivity.this,"打开支付宝失败,你可能还没有安装支付宝客户端", Toast.LENGTH_SHORT).show();}

H5支付接口

  1. 后台提供H5支付接口如下:

     ● alipayqr://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode={支付二维码的url}● 这里的二维码需要使用urlencode进行编码,否则不能用哦:
    
  2. 支付二维码的url如下:

    ● https://qr.alipay.com/bax06385q32ssucugqxm00f1
    
  3. webView或者直接使用手机浏览器加载:(直接跳转支付宝弹出支付界面)

    mWebview.loadUrl("https://qr.alipay.com/bax06385q32ssucugqxm00f1");
  1. 效果:

码支付:(没用过,群里小伙伴推荐,记录下)

  1. 码支付

    ● 码支付是免费
    ● 不用申请QQ、支付宝免签约接口
    ● 和其他收费的支付宝免签约即时到帐辅助一样
    ● 支持QQ支付监控,支付宝支付接口监控,
    ● 地址是:https://codepay.fateqq.com/
    
  2. 支付方式:任何人可开通

    ● 微信支付
    ● 支付宝支付
    ● QQ钱包支付
    ● 财付通支付
    ● 支持电脑手机
    
  3. 收费:(微信支付监控)

    ● 58元开户,31天全免 ;
    ● 31天后每月微信交易1000免费,超出部分扣除流量套餐;
    ● 31天后如果微信交易不超出1000每月,那么就没有其他费用,永久免费哦;
    
  4. 免费软件版:

    ● 创建订单--》云端保存订单--》用户付款直接到你手里--》辅助软件提取订单数据--》辅助软件通知您网站处理;
    ● 钱不经过我们 自己的网站收银 自行控制二维码 安全放心 全免没其他任何费用。
    
  5. 会员软件版:

    ● 创建订单--》云端保存订单--》用户付款直接到你手里--》官方通知我们--》我们服务器通知您网站处理;
    ● 无需辅助通知 支付宝免制作二维码 自己的网站收银 钱不经过我们 直接到你手里 稳定安全放心
    

█ 相关资料:

- 
 ● 1. GitHub - Cuieney/RxPay: 一个集成支付宝微信的支付工具完全兼容kotlin
 ● 2.发现bug:issues
 ● 3.android 集成微信支付宝 RxPay - 张学涛 - 博客园
 ● 4.支付宝内部功能调用APP的said说明(转载)_zswll2的博客-CSDN博客
 ● 5.UrlEncode编码/UrlDecode解码 - 站长工具
 ● 6. 支付宝开放平台 点击业务接入 -> 即时到账
 ● 7. iOS支付功能篇:原生WebView调起支付宝客户端支付方案_sail的技术博客-CSDN博客
 ● 8.码支付|免费免签接口|支付宝免签约即时到帐

转载请注明出处:
https://blog.csdn.net/ljb568838953/article/details/110525653

【安卓学习之第三方库】 Rxpay学习:支付宝微信支付相关推荐

  1. 微信QQ第三方登录分享和支付宝微信支付

    登录是使用的是友盟第三方登录:APPID 和APPKEY都是成对出现的,改一个都要改不然出错. QQ第三方登录: APPID ,APPKEY: 微信第三方登录:WEIXINID, WEIXINKEY ...

  2. 【安卓学习之第三方库】 人脸识别SDK

    █ [安卓学习之第三方库] 人脸识别 █ 相关文章: - ● [安卓学习之第三方库]库的使用2-jar类库的使用(以dom4j为例)和升级(以极光推送为例) ● [安卓学习之第三方库] 消息推送之极光 ...

  3. 【安卓学习之第三方库】异常上报 库(Crash搜集)

    █ [安卓学习之第三方库]异常上报 库 █ 相关文章: - ● [安卓学习之第三方库]库的使用2-jar类库的使用(以dom4j为例)和升级(以极光推送为例) █ 读前说明: - ● 本文通过学习别人 ...

  4. 【安卓学习之第三方库】 ZlwAudioRecorder学习:内部流程(含aar文件生成)

    █ [安卓学习之第三方库] ZlwAudioRecorder学习:内部流程(含aar文件生成) █ 系列文章目录 提示:这里是收集了安卓学习之常见问题的相关文章 [安卓学习之MP3] MP3读取格式 ...

  5. 【安卓学习之第三方库】 Aspect学习:AOP+注解

    █ [安卓学习之第三方库] Aspect学习:AOP+注解 █ 相关文章: [安卓学习之第三方库]库的使用2-jar类库的使用(以dom4j为例)和升级(以极光推送为例) [安卓学习之第三方库] 消息 ...

  6. 【安卓学习之第三方库】 身份证、银行卡、营业执照OCR识别

    █ [安卓学习之第三方库]身份证.银行卡.营业执照OCR识别 █ 相关文章: - ● [安卓学习之第三方库]库的使用2-jar类库的使用(以dom4j为例)和升级(以极光推送为例) ● [安卓学习之第 ...

  7. Python第三方库pygame学习笔记(一)

    Pygame Python最经典的2D游戏开发第三方库,也支持3D游戏开发 Pygame适合用于游戏逻辑验证.游戏入门及系统演示验证 Pygame是一种游戏开发引擎,基本逻辑具有参考价值 pygame ...

  8. springboot整合支付宝微信支付案例+代码

    springboot支付宝微信支付 每天多学一点点~ 之前写好了一篇,不下心被覆盖的,我的锅....下次写博客记得导出来!!!! 话不多说,这就开始吧- 文章目录 springboot支付宝微信支付 ...

  9. WooCommerce接入支付宝微信支付

    WooCommerce接入支付宝微信支付 前言 安装支付宝插件(方法一) 安装配置 获取注册信息 安装支付宝插件(方法二) 安装微信支付插件 下载及安装 获取微信公众号APPID,微信支付密钥 获取微 ...

最新文章

  1. javascript js异步加载
  2. 2012到2020主要的CNN架构总结
  3. C++ 类型转换运算符
  4. visual studio visual studio 2005 快捷键大全
  5. jmeter.bat配置(主要关于OOM)
  6. Linux学习路径(小白必看)
  7. PHP的session阻塞问题
  8. LeetCode MySQL 1571. 仓库经理
  9. 燃鹅小助手自动抽奖源码
  10. CSS 属性篇(四):Flex弹性盒子
  11. composer 安装
  12. 手机上好用的java编译器_手机上好用的java编译器
  13. 微信小程序用什么工具开发(微信小程序开发工具介绍)
  14. php 7.4连接MySQL
  15. idea java maven 打包,idea maven项目 基于idea自己打包方式 以及使用maven插件打包的三种方式...
  16. 科创板将迎做市商机制,做市商到底是什么?
  17. HCIA-IoT 个人学习总结 Day3
  18. 《文献管理与信息分析》课程笔记
  19. 筛选质数,埃氏筛和欧拉筛(线性筛)
  20. [iOS]如何向 appstore 查询已发布 APP 的信息?

热门文章

  1. [Hive]那些年我们踩过的Hive坑
  2. Warring:No archetype found in remote catalog. Defaulting to internal catalog
  3. CRT控制台显示中文乱码问题
  4. 本地spa应用的nginx简单配置
  5. JAVASE面向对象基础
  6. 【kaggle】印度语和泰米尔语问答赛题baseline
  7. 同步软件、网络同步、备份、分享工具
  8. 无线wifi摄像头怎样可以远程监控
  9. android平板打电话,打电话上网不耽误,通话平板你需要吗?
  10. Idea安装完成后打不开的问题