支付sdk —— 该组件为封装了 微信,支付宝,银联支付
[精品] 支付组件 简要说明
该组件为封装了 微信,支付宝,银联支付, 一键快速集成,几行代码即可集成 微信,支付宝,银联支付。
## 示例:





# 测试账号:
1、银联支付:
提供测试使用卡号、手机号信息(此类信息仅供测试,不会发生正式交易)
招商银行借记卡:6226090000000048
手机号:18100000000
密码:111101
短信验证码:123456(先点获取验证码之后再输入)
证件类型:01身份证
证件号:510265790128303
姓名:张三
华夏银行贷记卡:6226388000000095
手机号:18100000000
cvn2:248
有效期:1219
短信验证码:123456(先点获取验证码之后再输入)
证件类型:01身份证
证件号:510265790128303
姓名:张三
------------------------------------
## 接入指南:
1、导入libSdk 依赖工程
2、配置 AndroidManifest文件(配置内容,请看下文,此处支持 两种方式来配置 第三方支付 参数【①可以在AndroidManifest 对应的meta-data 配置;②支持在代码中配置;选其一即可】)
- 2.1 拷贝assets/data.bin 文件到 项目中
3、项目中实际使用支付:具体使用看下文 ---> 调起支付 。
------
请配置正确的参数,否则支付宝和微信 会出现无法调起的情况。
----
# //配置 AndroidManifest
<!-- 微信支付 begin -->
<activity
android:name="net.lbh.pay.PaymentActivity"
android:launchMode="singleTop"
android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <activity-alias
android:name=".wxapi.WXPayEntryActivity"
android:exported="true"
android:targetActivity="net.lbh.pay.PaymentActivity" />
<!-- 微信支付 end -->
<!-- 支付宝 begin -->
<activity
android:name="com.alipay.sdk.app.H5PayActivity"
android:configChanges="orientation|keyboardHidden|navigation"
android:exported="false"
android:screenOrientation="behind"
android:windowSoftInputMode="adjustResize|stateHidden" />
<!-- 支付宝 end -->
<!-- 银联支付 begin -->
<activity
android:name="com.unionpay.uppay.PayActivity"
android:configChanges="orientation|keyboardHidden"
android:excludeFromRecents="true"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" /> <activity
android:name="com.unionpay.UPPayWapActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" />
<!-- 银联支付 end -->
<!-- 微信 广播 start -->
<receiver android:name="net.lbh.pay.wxpay.AppRegister" >
<intent-filter>
<action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_REFRESH_WXAPP" />
</intent-filter>
</receiver>
<!-- 微信 广播 end -->
<!-- 微信支付 参数 appid, 需要替换成你自己的 -->
<meta-data
android:name="WXPAY_APP_ID"
android:value="替换成自己的 app id" >
</meta-data>
<meta-data
android:name="WXPAY_MCH_ID"
android:value="替换成自己的 MCH_ID" >
</meta-data>
<meta-data
android:name="WXPAY_API_KEY"
android:value="替换成自己的 api key" >
</meta-data>
<!-- 微信支付 参数 end 需要替换成你自己的 -->
<!-- 支付宝 参数 appid, 需要替换成你自己的 --> //如果是 超过10位数字,要在前边加 ,Eg: \0223987667567887653
<meta-data
android:name="ALIPAY_PARTNER_ID"
android:value="替换成自己的 partenr id" >
</meta-data>
<meta-data
android:name="ALIPAY_SELLER_ID"
android:value="替换成自己的 seller id" >
</meta-data> <meta-data
android:name="ALIPAY_PRIVATE_KEY"
android:value="替换成自己的 private key" >
</meta-data> <meta-data
android:name="ALIPAY_PUBLIC_KEY"
android:value="替换成自己的 public key" >
</meta-data>
<!-- 支付宝 参数 end 需要替换成你自己的 -->
# // 初始化支付组件
PayAgent payAgent = PayAgent.getInstance();
payAgent.setDebug(true);
// 代码初始化 参数, 此处针对场景,所有参数有 自己app server保管的时候,动态的支付配置下发参数
payAgent.initAliPayKeys(partnerId, sellerId, privateKey, publicKey);
payAgent.initWxPayKeys(appId, mchId, appKey)
// 初始化 银联支付 所需的 验签 参数
//payAgent.initUpPayKeys(PublicKeyPMModulus, publicExponent, PublicKeyProductModulus);
// 代码动态初始化为 可选
## payAgent.initPay(this);
# // 调起支付
PayAgent.getInstance().onPay(payType, this, payInfo,
new OnPayListener() { @Override
public void onStartPay() { progressDialog.setTitle("加载中。。。");
progressDialog.show();
} @Override
public void onPaySuccess() { Toast.makeText(MainActivity.this,"支付成功!", 1).show(); if (null != progressDialog) {
progressDialog.dismiss();
} } @Override
public void onPayFail(String code, String msg) {
Toast.makeText(MainActivity.this,
"code:" + code + "msg:" + msg, 1).show();
Log.e(getClass().getName(), "code:" + code + "msg:" + msg); if (null != progressDialog) {
progressDialog.dismiss();
}
}
});
#
## 支付参数说明:
PayType:
支付的支付方式,目前支持:
- 1、PayAgent.PayType.WECHATPAY(微信支付);
- 2、PayAgent.PayType.ALIPAY(支付宝);
- 3、PayAgent.PayType.UPPAY(银联)。
Activity:
调起支付的 Activity
PayInfo:
/** 商品名称*/
private String subject;
/** 商品详细信息 商品的标题/交易标题/订单标题/订单关键字等。该参数最长为128个汉字*/
private String body;
/** 商品价格*/
private String price;
/** 商品订单号*/
private String orderNo;
/** 支付通知地址*/
private String notifyUrl;
OnPayListener:
支付监听器:
- onStartPay() 开始支付,可以在此做 支付前准备提示
- onPaySuccess(); 支付成功
- onPayFail(String code, String msg); 支付失败,code和msg 均为第三方原样返回
# 配置第三方参数说明:
- 1、支付宝:
-
-----------------------------------------------------------------------------------------------------------------------------------------------
# 注意:
- 1、支付宝支付,调用支付宝时, 所有参数为必须向
- 2、微信支付,orderNo 为必须项
- 3、银联支付时,orderNo 为必须项
-4、关于支付后,通知回调,只有支付宝是 在客户端手动设置,其余都是在 后台配置。
## 注意事项:
- 1、当测试时,可以使用Debug模式,开启方式为:
PayAgent payAgent = PayAgent.getInstance();
payAgent.setDebug(true);
- 2、调试模式(非正式环境,目前只有 银联):
PayAgent payAgent = PayAgent.getInstance();
payAgent.setOnlieMode(false);
# 版本說明:
- 1、银联支付:3.3.2
- 2、支付宝:
- 3、微信:
# 更新日志:
- 2016.04.15更新:
- 1、2016.4.14 银联更新sdk,更新银联支付控件为3.3.3
- 2、去除银联客户端验签;添加银联需要权限(nfc等)
- 1、更新银联支付控件为3.3.2
- 2、添加调试模式(非正式环境模式、主要正对银联支付)
payAgent.setOnlieMode(false);
- 3、添加银联 验证签名,初始化签名参数
- 4、修改Demo ,测试 Demo能正常运行。
## 其他说明:
- 银联支付平台官网:https://open.unionpay.com/ajweb/product/detail?id=3
- 支付宝平台官网:https://doc.open.alipay.com/doc2/detail?treeId=54&articleId=103419&docType=1
- 微信支付平台官网:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317784&token=&lang=zh_CN
- https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1
支付sdk —— 该组件为封装了 微信,支付宝,银联支付的更多相关文章
- SpringBoot2.1电商通用(微信+支付宝)支付系统实战
『课程目录』: ├─第10章 全模块电商系统之商品模块 │ 10-1_商品列表-上.mp4 │ 10-2_商品列表-中.mp4 │ 10-3_商品列表-下.mp4 │ ...
- iOS支付宝,微信,银联支付集成封装调用(下)
一.越来越多的app增加第三方的功能,可能app有不同的页面但调用相同的支付方式,例如界面如下: 这两个页面都会使用第三方支付支付:(微信,支付宝,银联)如果在每一个页面都直接调用第三方支付的接口全部 ...
- iOS支付宝,微信,银联支付集成封装(上)
一.集成支付宝支付 支付宝集成官方教程https://docs.open.alipay.com/204/105295/ 支付宝集成官方demo https://docs.open.alipay.com ...
- spring_boot_pay支付宝,微信,银联支付详细代码案例
spring-boot-pay 支付服务:支付宝,微信,银联详细代码案例(除银联支付可以测试以外,支付宝和微信支付测试均需要企业认证,个人无法完成测试),项目启动前请仔细阅读 注意事项 . 友情提示 ...
- wap站、手机APP 接入支付宝、微信、银联支付。
一.wap站 ①.支付宝接入 1.开发前准备:申请一个通过实名认证的企业支付宝账号,并申请开通手机WAP支付功能. 2.流程 参数准备: 企业支付宝账号的PID(也叫ParnerID)和KEY,如果使 ...
- 不接入微信sdk,在APP中实现微信分享,支付
前段时间在很多地方接入了微信的sdk,发现过程比较繁琐,此外因为导入的sdk比较大会影响最终APP打包的体积,所以就有了不接入sdk也实现相同的功能的想法. 要实现这个目标我个人认为最困难的地方是不知 ...
- uni-app - 支付(app支付、小程序支付、h5(微信端)支付)
App支付.小程序支付.h5(微信端)支付 APP支付(内置) appPay.js /** * 5+App支付,仅支持支付宝以及微信支付 * * 支付宝Sdk集成,微信sdk未集成 * * @para ...
- 微信扫码支付功能详细教程————Java
前言 首先声明 我并非原创 原创是 http://blog.csdn.net/wangqiuyun/article/details/51241064 我只是在前辈的基础 加以解释说明 还有自己的一些 ...
- java实现微信支付宝等多个支付平台合一的二维码支付(maven+spring springmvc mybatis框架)
首先申明,本人实现微信支付宝等支付平台合多为一的二维码支付,并且实现有效时间内支付有效,本人采用的框架是spring springmvc mybatis 框架,maven管理.其实如果支付,不需要my ...
随机推荐
- CubeMX使用及感受
简介 CubeMX这几年刚流行起来,是一个STM32代码的初始化配置工具,里面封装了硬件层.中间层,以及示例代码. cube使用 该软件的安装需要较高版本jdk支持,固件库安装时需要注意和主程序的版本 ...
- Go 语言打包静态文件
对于 Go 语言开发者来说,在享受语言便利性的同时,最终编译的单一可执行文件也是我们所热衷的.但是,一旦遇到我们需要分发的东西不只有可执行文件的时候,事情就变得稍微有点复杂了,例如,需要分发个默认的配 ...
- Centos上安装jdk版本出错的问题
今天买了个阿里云的服务器,于是手动安装了一遍JavaWeb运行环境,首先安装jdk与配置jdk就遇到了问题. 我下载的是解压版的jdk-8u151-linux-i586.tar.gz.安装和配置到是蛮 ...
- SQLServer 创建服务器和数据库级别审计
概述 在上一篇文章中已经介绍了审计的概念:本篇文章主要介绍如何创建审计,以及该收集哪些审核规范. 一.常用的审核对象 1.1.服务器审核对象 1.FAILED_LOGIN_GROUP( Audit L ...
- 请求库-selenium 模块
# -*- coding: utf-8 -*- # 安装:pip3 install selenium # 下载chromdriver.exe放到python安装路径的scripts目录中即可,注意最新 ...
- BZOJ 2222: [Cqoi2006]猜数游戏【神奇的做法,傻逼题,猜结论】
2222: [Cqoi2006]猜数游戏 Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 604 Solved: 260[Submit][Status ...
- Sass的四种编译方式
我们都知道Sass其实有两种,一种是Sass,一种是SCSS. Sass 和 SCSS 其实是同一种东西,我们平时都称之为 Sass,两者之间不同之处有以下两点: 文件扩展名不同,Sass 是以“.s ...
- Flask连接数据库打怪升级之旅
一.前言 在初学 Flask 的时候,在数据库连接这部分也跟每个初学者一样.但是随着工作中项目接手的多了,代码写的多了,历练的多了也就有了自己的经验和技巧.在对这块儿代码不断的进行升级改造后,整理了在 ...
- Map,List,POJO深拷贝(序列化实现)方法与注意事项
转载请注明出处,谢谢! 方法1: /*jdk >= 1.5*/ @SuppressWarnings("unchecked") public static <T> ...
- 【转载】keil5中加入STM32F10X_HD,USE_STDPERIPH_DRIVER的原因
初学STM32,在RealView MDK 环境中使用STM32固件库建立工程时,初学者可能会遇到编译不通过的问题.出现如下警告或错误提示: warning: #223-D: function &qu ...