支付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

 1 <!-- 微信支付 begin -->
 2 <activity
 3 android:name="net.lbh.pay.PaymentActivity"
 4 android:launchMode="singleTop"
 5 android:theme="@android:style/Theme.Translucent.NoTitleBar" />
 6
 7 <activity-alias
 8 android:name=".wxapi.WXPayEntryActivity"
 9 android:exported="true"
10 android:targetActivity="net.lbh.pay.PaymentActivity" />

<!-- 微信支付 end -->

<!-- 支付宝 begin -->

1 <activity
2 android:name="com.alipay.sdk.app.H5PayActivity"
3 android:configChanges="orientation|keyboardHidden|navigation"
4 android:exported="false"
5 android:screenOrientation="behind"
6 android:windowSoftInputMode="adjustResize|stateHidden" />

<!-- 支付宝 end -->

<!-- 银联支付 begin -->

 1 <activity
 2 android:name="com.unionpay.uppay.PayActivity"
 3 android:configChanges="orientation|keyboardHidden"
 4 android:excludeFromRecents="true"
 5 android:screenOrientation="portrait"
 6 android:windowSoftInputMode="adjustResize" />
 7
 8 <activity
 9 android:name="com.unionpay.UPPayWapActivity"
10 android:configChanges="orientation|keyboardHidden"
11 android:screenOrientation="portrait"
12 android:windowSoftInputMode="adjustResize" />

<!-- 银联支付 end -->

<!-- 微信 广播 start -->

1 <receiver android:name="net.lbh.pay.wxpay.AppRegister" >
2 <intent-filter>
3 <action android:name="com.tencent.mm.plugin.openapi.Intent.ACTION_REFRESH_WXAPP" />
4 </intent-filter>
5 </receiver>

<!-- 微信 广播 end -->

<!-- 微信支付 参数 appid, 需要替换成你自己的 -->

 1 <meta-data
 2 android:name="WXPAY_APP_ID"
 3 android:value="替换成自己的 app id" >
 4 </meta-data>
 5 <meta-data
 6 android:name="WXPAY_MCH_ID"
 7 android:value="替换成自己的 MCH_ID" >
 8 </meta-data>
 9 <meta-data
10 android:name="WXPAY_API_KEY"
11 android:value="替换成自己的 api key" >
12 </meta-data>

<!-- 微信支付 参数 end 需要替换成你自己的 -->

<!-- 支付宝 参数 appid, 需要替换成你自己的 --> //如果是 超过10位数字,要在前边加 ,Eg: \0223987667567887653

 1 <meta-data
 2 android:name="ALIPAY_PARTNER_ID"
 3 android:value="替换成自己的 partenr id" >
 4 </meta-data>
 5 <meta-data
 6 android:name="ALIPAY_SELLER_ID"
 7 android:value="替换成自己的 seller id" >
 8 </meta-data>
 9
10 <meta-data
11 android:name="ALIPAY_PRIVATE_KEY"
12 android:value="替换成自己的 private key" >
13 </meta-data>
14
15 <meta-data
16 android:name="ALIPAY_PUBLIC_KEY"
17 android:value="替换成自己的 public key" >
18 </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);

# // 调起支付

 1 PayAgent.getInstance().onPay(payType, this, payInfo,
 2 new OnPayListener() {
 3
 4 @Override
 5 public void onStartPay() {
 6
 7 progressDialog.setTitle("加载中。。。");
 8 progressDialog.show();
 9 }
10
11 @Override
12 public void onPaySuccess() {
13
14 Toast.makeText(MainActivity.this,"支付成功!", 1).show();
15
16 if (null != progressDialog) {
17 progressDialog.dismiss();
18 }
19
20 }
21
22 @Override
23 public void onPayFail(String code, String msg) {
24 Toast.makeText(MainActivity.this,
25 "code:" + code + "msg:" + msg, 1).show();
26 Log.e(getClass().getName(), "code:" + code + "msg:" + msg);
27
28 if (null != progressDialog) {
29 progressDialog.dismiss();
30 }
31 }
32 });

#

## 支付参数说明:
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

原文地址:https://www.cnblogs.com/Mr-stockings/p/8407295.html

时间: 2024-08-02 00:22:40

支付sdk —— 该组件为封装了 微信,支付宝,银联支付的相关文章

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

一.越来越多的app增加第三方的功能,可能app有不同的页面但调用相同的支付方式,例如界面如下: 这两个页面都会使用第三方支付支付:(微信,支付宝,银联)如果在每一个页面都直接调用第三方支付的接口全部代码,显然并不是很合适,更何况,可能一个app并不止两个入口.所以封装还是很有必要的. 1.新建Model:-------后台返回支付方式的列表json #import <Foundation/Foundation.h> @interface IOAPayItemModel : NSObject

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

spring-boot-pay 支付服务:支付宝,微信,银联详细代码案例(除银联支付可以测试以外,支付宝和微信支付测试均需要企业认证,个人无法完成测试),项目启动前请仔细阅读 注意事项  . 友情提示 由于工作原因,项目正在完善中(仅供参考),随时更新日志,有疑问请留言或者加群 演示界面 欢迎关注 支付宝 电脑支付:https://docs.open.alipay.com/270 扫码支付:https://docs.open.alipay.com/194 手机支付:https://docs.op

经典设计模式之策略模式【如何重构聚合支付平台,对接【支付宝,微信,银联支付】】

写在前面:设计模式源于生活,而又高于生活! 为什么要使用设计模式重构代码 使用设计模式可以重构整体架构代码.提高代码复用性.扩展性.减少代码冗余问题. Java高级工程师装逼的技能! 什么是策略模式 策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理,最终可以实现解决多重if判断问题. 1.环境(Context)角色:持有一个Strategy的引用 2.抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现.此角色给出所有的具体策略类所需的

微信支付 支付成功后不跳转 ecshop微信支付 如下操作即可

微信--订单处理页: <?php    include("WxPayPubHelper.php");    //使用jsapi接口    $jsApi = new JsApi_pub();    //=========步骤1:网页授权获取用户openid============    //通过code获得openid    if (!isset($_GET['code']))    {        //触发微信返回code码        $url = $jsApi->c

支付宝在线支付接口开发教程

1.什么是第三方支付 所谓第三方支付,就是一些和各大银行签约.并具备一定实力和信誉保障的第三方独立机构提供的交易支持平台.在通过第三方支付平台的交易中,买方选购商品后,使用第三方平台提供的账户进行货款支付,由第三方通知卖家货款到达. 目前提供第三方支付的机构很多,常见的有支付宝.财付通.快钱.网银在线.易宝支付.云网等各大支付平台.网站如果需要实现第三方支付首先应该向第三方支付平台申请一个账号并签署协议,协议生效后第三方支付平台将为其开通在线支付功能,通过程序将接口集成到网站中. 为什么要使用第

支付宝和银联支付区别

最大的区别:支付宝支付是在支付宝开发平台申请就可以了,银联需要交钱才行! 支付宝支付开发:https://b.alipay.com/order/productDetail.htm?productId=2013080604609654&tabId=2#ps-tabinfo-hash 银联支付开发文档:https://merchant.unionpay.com/portal/pages/login/download.jsp?locale=zh_CN 支付宝支付是用户从后台获取订单号,提交数据到支付宝

支付宝在线支付接口开发流程

本文转自:https://www.cnblogs.com/lazb/p/5881678.html 1.什么是第三方支付 所谓第三方支付,就是一些和各大银行签约.并具备一定实力和信誉保障的第三方独立机构提供的交易支持平台.在通过第三方支付平台的交易中,买方选购商品后,使用第三方平台提供的账户进行货款支付,由第三方通知卖家货款到达. 目前提供第三方支付的机构很多,常见的有支付宝.财付通.快钱.网银在线.易宝支付.云网等各大支付平台.网站如果需要实现第三方支付首先应该向第三方支付平台申请一个账号并签署

使用开源库MAGICODES.WECHAT.SDK进行微信公众号支付开发

概要 博客使用Word发博,发布后,排版会出现很多问题,敬请谅解.可加群获取原始文档. 本篇主要讲解微信支付的开发流程,相关业务基于MAGICODES.WECHAT.SDK实现.通过本篇教程,您可以很方便的快速完成微信公众号支付的开发. 关于Magicodes.WeChat.SDK MAGICODES.WECHAT.SDK为心莱团队封装的轻量级微信SDK,现已全部开源,开源库地址为:https://github.com/xin-lai/Magicodes.WeChat.SDK 更多介绍,请关注后

支付宝支付 微信支付SDK接口不统一? 盘他!

??开发过支付宝.微信支付的同学都知道,微信的支付 API 设计感觉是 Java 开发工程师写的,远不如支付宝 SDK 的接口设计用起来顺手.在这里,统一封装微信支付和支付宝支付的API,使两种支付方式对外提供一致的调用接口. ?? 首先我们来看支付宝支付SDK的API是怎么设计的: /** * 支付接口 * * @param orderStr 支付订单信息字串 * @param schemeStr 调用支付的app注册在info.plist中的scheme * @param completio