数字营销
标准API开放接口规范
1.文档说明
2.接口规则
3.标准接口定义
会员营销
3.1.1会员账户信息查询
3.1.2会员充值
3.1.13第三方优惠试算
3.1.5会员注册
3.1.6统一登录注册
3.1.7会员商户优惠试算
3.1.10会员基本信息查询
3.1.16会员绑储值卡
3.1.17会员实名
3.1.18会员充值查询
3.1.21会员绑定实体卡(开卡)
3.1.22会员卡密码修改
3.1.23会员调账
3.1.24会员调账查询
3.1.25会员状态变更
3.1.26发送短信验证码
3.1.28会员消费查询
3.1.29会员消费撤销
3.1.30会员消费撤销查询
3.1.31会员无密码消费
3.1.32会员消费
3.1.34会员信息更新
3.1.35会员账户流水
3.1.37 获取用户基本信息(OAuth2)
3.1.38 获取基础营销授权链接
3.3.1 H5页面调用绑定微信和手机号(GET)
3.3.2 H5页面调用绑定微信和外部顾客编号(GET)
卡券营销
3.2.1卡/券查询
3.2.2发卡/券
3.2.4卡/券作废
3.2.5卡/券核券撤销
3.2.7发卡/券(套券)
3.2.8发卡/券查询
3.2.9作废优惠券发券
3.2.10储值卡充值
3.2.11储值卡充值查询
3.2.12实体储值卡激活(单张)
3.2.13可发卡/券列表查询(套)
3.2.14卡/券批量查询
3.2.15卡/券鉴权
3.2.16卡/券动态二维码生成
3.2.17卡/券转赠
3.2.18卡/券发放查询
3.2.19卡/券核销查询
3.2.20卡/券核销撤销查询
3.2.21卡/券模板详情查询
3.2.22 卡/券交易流水查询
3.2.23储值卡调账
3.2.24储值卡调账查询
3.2.25 卡/券交易流水分页查询
3.2.26 作废卡/券发放
3.2.27卡/券核销
3.2.33卡/券动账流水
3.2.35券号查询该顾客同券模板下的券号列表
3.2.36卡/券冻结
3.2.45卡券延期
外部平台券
3.2.28第三方核券准备接口
3.2.29第三方核券接口
3.2.30第三方核券流水查询接口
3.2.31第三方撤销核券接口
3.2.32第三方券码查询接口
3.2.34第三方门店验券历史接口
3.2.35券号查询该顾客同券模板下的券号列表
3.2.38美团到店综合预约数据
3.2.39美团到店综合消费数据
3.2.40美团到店综合团单消费详情数据
3.2.41美团到店综合门店流量数据
3.2.42美团餐饮门店套餐映射
3.2.43美团到店综合门店商品信息
3.2.44抖音商品线上数据
3.2.46抖音综合提现记录查询
3.2.47抖音综合账单详情查询
3.2.48抖音订单查询
3.2.49抖音账单详细查询
3.2.50抖音券状态批量查询
订单同步
3.5.1外部订单同步
3.5.2外部订单查询
3.5.3外部订单同步撤销
3.5.17外部订单核销
3.5.18外部订单查询
3.5.19外部订单撤销
订单支付
3.5.9订单查询
3.5.10订单退款
3.5.11退款订单查询
3.5.12统一扫码
3.5.13终端信息采集
3.5.14统一支付
3.5.15 ISV收银台
3.5.16生成订单
3.5.20终端信息查询
3.5.23分账确认
3.5.24分账确认结果查询
7.1终端信息字段说明
7.2 splitList字段说明
账户类
3.9.1 资金管理余额查询
3.9.3 资金管理提现
3.9.4 资金管理提现结果查询
通知相关
3.10通知相关
5.1券核销通知
5.2会员注册/修改通知
5.3订单支付通知
5.4券核销撤销通知
5.5跨机构订单支付通知
5.6微信核销通知转发
5.7发券通知
5.8卡券充值通知
5.9支付宝核销通知转发
5.10 卡券变动通知
5.11 实体卡入库通知
5.13顾客注册/修改通知
5.15提现结果通知
5.16资金管理小b开通通知
对账文件
6.1对账文件
6.2 分账对账流水文件下载
6.3 对账流水文件下载
机构管理类
3.8.1外部门店信息同步
3.8.2 创建/修改机构用户
3.8.3 查询机构用户信息
3.8.4 机构统计信息查询
附录
7.1终端信息字段说明
7.2 splitList字段说明
7.3 店铺经营类型枚举
7.6 支付方式说明
7.7 paytypeinfo-支付方式参数说明
7.9渠道交易类型(trxCode)
7.10交易返回码(trxStatus)
7.11扩展参数说明
4.1 公共返回码(code)
4.开发参考
4.1 SDK参考概述
4.2 Java SDK
4.3 Python SDK
4.4 PHP SDK
一码付开放接口规范
1.接口说明
2.接口规则
3.标准API
3.1统一扫码
3.2统一撤销
3.3统一退款
3.4统一查询
3.5交易结果通知
3.6订单生成
3.7终端信息采集报备
3.8统一支付
3.9资金管理余额查询
3.10资金管理提现
3.11资金管理提现结果查询
3.12资金管理转账
3.13资金管理转账结果查询
3.14终端信息查询
3.15订单关闭
3.16ISV收银台
3.17ISV前端跳转
3.18对账流水文件下载
3.19根据授权码(付款码)获取用户ID
3.20资金管理提现通知
3.21分账/收款确认
3.22分账/收款确认结果查询
3.23资金管理转账通知
3.24资金管理批量转账
3.25资金管理批量转账结果查询
3.26B2B订单支付收款
3.27B2B订单支付付款
3.31代付
3.32代付订单查询
3.33资金管理交易文件查询
3.34收支明细查询
3.35交易列表查询
4.附录
4.1 接口返回码retcode说明
4.2 交易返回码trxstatus说明
4.3 交易类型
4.4 支付渠道优惠信息填写规范(benefitdetail字段)
4.5 拓展参数说明(extendparams)
4.6 终端信息字段说明
4.7 asinfo字段说明
4.8 交易方式
4.9 splitlist字段说明
4.10支付方式
4.11paytypeinfo-支付方式参数说明
4.12民生/平安银行转账子账簿信息
5.13微信订单支付(小程序资金管控)接入说明
5.开发参考
5.1 SDK参考概述
5.2 Java SDK
5.3 C SDK
5.4 PHP SDK
通惠API开放接口规范
1. 文档说明
2. 接口规则
3.标准接口定义
3.1会员信息类
3.3页面调用类
3.4 银行活动类
3.7 互动营销类
3.8 机构管理类
4.公共返回码
5.通知相关
6.对账文件类
7.开发参考
8.接口权限申请表下载
9.常见问题合集
通联核心产品文档中心
-
+
首页
5.2 Java SDK
<div hidden="">AI抽取开始标记</div> # Java SDK 使用指南 通联支付数字营销平台Java SDK旨在降低对接门槛与成本,提供了一套功能完整的开发工具包,以帮助开发者快速完成平台集成。 ### 前提条件 1. 已开通数字营销机构,详情请咨询业务对接人员。 2. 已获得接口对接参数,详情请咨询业务对接人员。 ### 安装 SDK #### 在 Maven 项目中加入依赖项(推荐方式) 在 Maven 工程中使用 Java SDK,只需在 pom.xml 中加入相应依赖即可。以 1.0.0 版本为例,步骤如下: 在 pom.xml 的 <dependencies> 中加入如下内容: ```xml <dependency> <groupId>com.allinpay.cus.sdk</groupId> <artifactId>allinpay-shopoint-sdk-java</artifactId> <version>1.0.0</version> </dependency> ``` 特殊情况处理:在无法访问 Maven 中央仓库的情况下,先下载 JAR 包(下载地址:[点击下载](https://repo1.maven.org/maven2/com/allinpay/cus/sdk/allinpay-shopoint-sdk-java/1.0.0/allinpay-shopoint-sdk-java-1.0.0.jar)),再将 JAR 安装到 Maven 仓库,使用如下命令: ```bash mvn install:install-file -Dfile=.\allinpay-shopoint-sdk-java-1.0.0.jar -DgroupId=com.allinpay.cus.sdk -DartifactId=allinpay-shopoint-sdk-java -Dversion=1.0.0 -Dpackaging=jar ``` ### 示例代码 #### 生成RSA秘钥对 本示例中,采用单元测试的方式生成RSA密钥对。示例如下: ```java /** * 生成RSA密钥对(2048位) */ @Test public void generateRsaKey() { // 创建RSA对象,默认就是2048位 RSA rsa = new RSA(); // 获取Base64编码的公钥 String publicKey = rsa.getPublicKeyBase64(); // 获取Base64编码的私钥 String privateKey = rsa.getPrivateKeyBase64(); System.out.println("==============privateKey=============="); System.out.println(privateKey); System.out.println("==============publicKey=============="); System.out.println(publicKey); assertNotNull(publicKey); assertNotNull(privateKey); } ``` #### 生成SM2秘钥对 本示例中,采用单元测试的方式生成SM2密钥对。示例如下: ```java /** * 生成SM2密钥对 */ @Test public void generateSm2Key() { SM2 sm2 = new SM2(); // 生成公钥 String publicKey = sm2.getPublicKeyBase64(); //生成私钥 String privateKey = sm2.getPrivateKeyBase64(); System.out.println("==============privateKey=============="); System.out.println(privateKey); System.out.println("==============publicKey=============="); System.out.println(publicKey); assertNotNull(publicKey); assertNotNull(privateKey); } ``` #### 使用RSA调用 本示例中,采用单元测试的方式使用RSA签名算法调用 3.4统一查询 接口。示例如下: ```java /** * 单元测试:RSA接口调用示例 */ @Test public void testRSASimpleRequest() { // 数字营销接口地址:测试环境=https://dms-api-test.shopoint.cn/shopoint-openapis-web/szyx/apiweb,生产环境=https://dms-api.shopoint.cn/shopoint-openapis-web/szyx/apiweb String endpoint = "https://dms-api-test.shopoint.cn/shopoint-openapis-web/szyx/apiweb"; // 数字营销分配的appid String appId = "PDlGLYa******"; // 数字营销的RSA公钥 String providerPublicKey = "MIGfMA0GCSq******"; // 对接方的RSA私钥 String callerPrivateKey = "MIICdwIBAD******"; // 接口调用凭证(RSA) CredentialsProvider credsProvider = new OCPayRSACredentialsProvider(appId, providerPublicKey, callerPrivateKey); // 一码付接口client OCPayApisClient client = new OCPayApisClient(endpoint, credsProvider); TreeMap<String, String> paramMap = new TreeMap<String, String>(); paramMap.put("cusid", "266649"); paramMap.put("version", "11"); paramMap.put("reqsn", "202509108000002"); paramMap.put("randomstr", UUID.randomUUID().toString()); try { Map<String, String> map = client.requestApis("/tranx/query", paramMap); assertTrue(Objects.nonNull(map.get("retcode")) && "SUCCESS".equals(map.get("retcode"))); } catch (Exception e) { LogUtils.logException("testRSASimpleRequest:", e); fail(); } } ``` #### 使用SM2调用 本示例中,采用单元测试的方式使用SM2签名算法调用 3.4统一查询 接口。示例如下: ```java /** * 单元测试:SM2接口调用示例 */ @Test public void testSM2SimpleRequest() { // 数字营销接口地址:测试环境=https://dms-api-test.shopoint.cn/shopoint-openapis-web/szyx/apiweb,生产环境=https://dms-api.shopoint.cn/shopoint-openapis-web/szyx/apiweb String endpoint = "https://dms-api-test.shopoint.cn/shopoint-openapis-web/szyx/apiweb"; // 数字营销分配的appid String appId = "DkbQWIj******"; // 数字营销的SM2公钥 String providerPublicKey = "MIGfMA0GCSq******"; // 对接方的SM私钥 String callerPrivateKey = "MIGTAgEAMBM******"; // 接口调用凭证(SM2) CredentialsProvider credsProvider = new OCPaySM2CredentialsProvider(appId, providerPublicKey, callerPrivateKey); // 一码付接口client OCPayApisClient client = new OCPayApisClient(endpoint, credsProvider); TreeMap<String, String> paramMap = new TreeMap<String, String>(); paramMap.put("cusid", "266649"); paramMap.put("version", "11"); paramMap.put("reqsn", "202509108000002"); paramMap.put("randomstr", UUID.randomUUID().toString()); try { Map<String, String> map = client.requestApis("/tranx/query", paramMap); assertTrue(Objects.nonNull(map.get("retcode")) && "SUCCESS".equals(map.get("retcode"))); } catch (Exception e) { LogUtils.logException("testSM2SimpleRequest:", e); fail(); } } ``` #### 使用MD5调用(不推荐) 本示例中,采用单元测试的方式使用MD5签名算法调用 3.4统一查询 接口。示例如下: ```java /** * 单元测试:MD5接口调用示例 */ @Test public void testMD5SimpleRequest() { // 数字营销接口地址:测试环境=https://dms-api-test.shopoint.cn/shopoint-openapis-web/szyx/apiweb,生产环境=https://dms-api.shopoint.cn/shopoint-openapis-web/szyx/apiweb String endpoint = "https://dms-api-test.shopoint.cn/shopoint-openapis-web/szyx/apiweb"; // 数字营销分配的appid String appId = "IisAYeM******"; // 对接方的MD5秘钥 String callerPrivateKey = "2368******"; // 接口调用凭证(MD5) CredentialsProvider credsProvider = new OCPayMD5CredentialsProvider(appId, callerPrivateKey); // 一码付接口client OCPayApisClient client = new OCPayApisClient(endpoint, credsProvider); TreeMap<String, String> paramMap = new TreeMap<String, String>(); paramMap.put("cusid", "266649"); paramMap.put("version", "11"); paramMap.put("reqsn", "202509108000002"); paramMap.put("randomstr", UUID.randomUUID().toString()); try { Map<String, String> map = client.requestApis("/tranx/query", paramMap); assertTrue(Objects.nonNull(map.get("retcode")) && "SUCCESS".equals(map.get("retcode"))); } catch (Exception e) { LogUtils.logException("testMD5SimpleRequest:", e); fail(); } } ``` ### 注意事项 • 请确保使用的 SDK 版本与接口版本匹配 • 如遇依赖冲突问题,请检查项目中是否存在相同组件的不同版本 • 生产环境建议使用最新的稳定版本 <div hidden="">AI抽取结束标记</div>
卜子超buzc
2025年11月20日 17:20
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Word文件
PDF文档
分享
链接
类型
密码
更新密码
有效期