Java版本SDK


简介

为了提⾼客户接⼊的便捷性,本系统提供 SDK ⽅式介⼊,使⽤本 SDK 将极⼤的简化开发者的⼯作,开发者将⽆需考虑通信、签名、 验签等,只需要关注业务参数的输⼊。

版本记录

版本 日期 版本说明
v1.0.0 2025/05/22 初始版本

版本要求

JDK版本 8.0及以上

SDK包结构说明

  • ystpay-java-sdk-*.jar 为待添加到项⽬中的⽂件;
  • ystpay-java-sdk-demo-*-sources.jar 为示例DEMO项⽬,供接⼊时参考使⽤;

使⽤⽅法

1、将 ystpay-java-sdk-demo-*-sources.jar 解压缩后,内容整体复制到您的项⽬⼯程内;
 
2、在您的项⽬创建 SDK 初始化的⼊⼝⽂件,完成如下配置:
 
2.1 进⾏相关环境及调试参数的配置
 
// SDK初始化
# debug 模式,开启后有详细的日志
BasePayConfig.debug = false;
# prodMode 模式,默认为生产模式
# MODE_PROD = "prod"; // 生产环境
# MODE_TEST = "test"; // 线上联调环境(针对商户联调测试)
BasePay.prodMode = BasePay.MODE_PROD;
MerConfig merConfig = new MerConfig();
merConfig.setAppId(应用号);
merConfig.setPrivateKey(私钥);
merConfig.setPublicKey(公钥);
merConfig.setEncryptKey(加解密 key);
 
2.2 完成 sdk 初始化
 
# 加载 SDK 初始化文件
BasePayConfig.initWithMerConfig(merConfig);
 
3、在业务代码中进⾏ SDK 的调⽤
 
3.1 基本必要参数封装
 
#基本参数封装
// 构建会员注册请求
MemberRegisterReq memberRegisterReq = new MemberRegisterReq();
// 请求流水号
memberRegisterReq.setReqTraceNum(SequenceTools.getReqSeqId32());
// 商户会员号
memberRegisterReq .setSignNum("gejunqing");
// 会员类型
memberRegisterReq .setMemberType("3");
// 会员角色
memberRegisterReq.setMemberRole("二级商户");
 
3.2 ⾮必要参数、可扩展参数封装
 
拓展参数 (可选)
memberRegisterReq.addExtendInfo("key1", "value1");
 
3.3 发起业务请求
 
#发起请求
Map<String, Object> response = BasePayClient.request(memberRegisterReq)
 
4、其他调⽤⽅式
 
为了应对接⼝变化后sdk更新的滞后性,以及sdk使⽤习惯不同等因素;
同时提供灵活可扩展的调⽤⽅式
 
# 构建会员注册请求
JSONObject dataMap = new JSONObject();
// 请求流水号
dataMap.put("reqTraceNum", SequenceTools.getReqSeqId32());
// 商户会员号
dataMap.put("signNum", "gejunqing");
// 会员类型
dataMap.put("memberType", "3");
// 会员角色
dataMap.put("memberRole", "二级商户");
System.out.println("构建会员注册请求: " + JSON.toJSONString(dataMap));
#发起请求
Map<String, Object> response = BasePayClient.request(TransCode.CODE_1001.getCode() , dataMap);
 
5、银⾏卡、证件号、银⾏卡有效期,银⾏卡CVV2等信息加解密:
 
为了安全性考虑,接⼝参数敏感数据需要进⾏密⽂,及调⽤⽅拿到密⽂后进⾏明⽂显示,对此,需要使⽤ SDK 提供的加解密⼯具如下:
 
工具类文件: com.allinpay.ystpay.sdk.core.utils.SM4Utils
SM4加密方法: encryptEcb(明文 ,加解密 key);
SM4解密方法: decryptEcb(密文 ,加解密 key);
 

附件

 
 

maxy2 2025年6月12日 16:36 收藏文档