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

## 示例:

# 测试账号:
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 —— 该组件为封装了 微信,支付宝,银联支付的更多相关文章

  1. SpringBoot2.1电商通用(微信+支付宝)支付系统实战

    『课程目录』: ├─第10章 全模块电商系统之商品模块 │      10-1_商品列表-上.mp4 │      10-2_商品列表-中.mp4 │      10-3_商品列表-下.mp4 │  ...

  2. iOS支付宝,微信,银联支付集成封装调用(下)

    一.越来越多的app增加第三方的功能,可能app有不同的页面但调用相同的支付方式,例如界面如下: 这两个页面都会使用第三方支付支付:(微信,支付宝,银联)如果在每一个页面都直接调用第三方支付的接口全部 ...

  3. iOS支付宝,微信,银联支付集成封装(上)

    一.集成支付宝支付 支付宝集成官方教程https://docs.open.alipay.com/204/105295/ 支付宝集成官方demo https://docs.open.alipay.com ...

  4. spring_boot_pay支付宝,微信,银联支付详细代码案例

    spring-boot-pay 支付服务:支付宝,微信,银联详细代码案例(除银联支付可以测试以外,支付宝和微信支付测试均需要企业认证,个人无法完成测试),项目启动前请仔细阅读 注意事项  . 友情提示 ...

  5. wap站、手机APP 接入支付宝、微信、银联支付。

    一.wap站 ①.支付宝接入 1.开发前准备:申请一个通过实名认证的企业支付宝账号,并申请开通手机WAP支付功能. 2.流程 参数准备: 企业支付宝账号的PID(也叫ParnerID)和KEY,如果使 ...

  6. 不接入微信sdk,在APP中实现微信分享,支付

    前段时间在很多地方接入了微信的sdk,发现过程比较繁琐,此外因为导入的sdk比较大会影响最终APP打包的体积,所以就有了不接入sdk也实现相同的功能的想法. 要实现这个目标我个人认为最困难的地方是不知 ...

  7. uni-app - 支付(app支付、小程序支付、h5(微信端)支付)

    App支付.小程序支付.h5(微信端)支付 APP支付(内置) appPay.js /** * 5+App支付,仅支持支付宝以及微信支付 * * 支付宝Sdk集成,微信sdk未集成 * * @para ...

  8. 微信扫码支付功能详细教程————Java

    前言  首先声明 我并非原创 原创是 http://blog.csdn.net/wangqiuyun/article/details/51241064 我只是在前辈的基础 加以解释说明 还有自己的一些 ...

  9. java实现微信支付宝等多个支付平台合一的二维码支付(maven+spring springmvc mybatis框架)

    首先申明,本人实现微信支付宝等支付平台合多为一的二维码支付,并且实现有效时间内支付有效,本人采用的框架是spring springmvc mybatis 框架,maven管理.其实如果支付,不需要my ...

随机推荐

  1. 【C#】发票助手二维码生成

    之前一起吃饭听说了发票助手这个东西,可以生成发票抬头的二维码,扫码就可以开票了. 官方也有个小程序的 [税务发票助手],微信中搜这个名字就可以了. 我准备在自己的小程序中也尝试一下,本来觉得只要拼接一 ...

  2. 如何在linux下录制terminal操作?

    相关包: ttyrec: ttyrec is a tty recorder. Recorded data can be played back with the included ttyplay co ...

  3. cyclictest 简介

    1. cyclictest 简介以及安装 1.1 cyclictest 简介 cyclictest 是什么? 看名字应该就能大致猜出来它是一种 test 程序,Cyclictest的维基主页这么介绍它 ...

  4. 开发高性能JAVA应用程序基础(内存篇)

    虽然Java的垃圾回收和当前高配置的服务器可以让程序员大部分时间忘掉OutOfMemoryError的存在,但是访问量增大后频繁的GC会额外消耗CPU (使用top查看结果为us值高),系统响应速度下 ...

  5. 状压dp入门第一题 poj3254

    题目链接 http://poj.org/problem?id=3254 转自http://blog.csdn.net/harrypoirot/article/details/23163485 #inc ...

  6. the quick brown fox jumps over the lazy dog

    THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG

  7. Genymotion的安装与使用(附百度云盘下载地址,全套都有,无需注册Genymotion即可使用)

    http://blog.csdn.net/scythe666/article/details/70216144 附百度云盘下载地址 :http://pan.baidu.com/s/1jHPG7h8 1 ...

  8. c++---天梯赛---大笨钟

    ★题目: ★思路分析: 对可能的情况进行分类处理.在这里我把它们分成了3大类. ①不在敲钟时间 ②在敲钟时间但为整点 ③在敲钟时间且不为整点. 在敲钟时间段内我们可分别对晚8点前后进行分类讨论, 我们 ...

  9. 浅谈 C/S 和 B/S 架构

    概述 在这个信息急剧膨胀的社会,我们不得不说人类正进入一个崭新的时代,那就是信息时代.信息时代的一个主要而显著的特征就是计算机网络的应用.计算机网络从最初的集中式计算,经过了Client/Server ...

  10. 邓_phpcms_二次开发_创建插件

    Phpcms_V9           [test]测试 ================================================================ ====== ...