xypay-sdk-java 是面向开发者的支付能力 Java SDK,封装了支付、退款、分账等接口的签名、验签与 HTTP 调用细节,开发者只需构造业务参数模型并调用客户端即可完成接口对接。| 项目 | 要求 |
|---|---|
| JDK | 1.8 及以上 |
| 构建工具 | Maven |
| 字符编码 | UTF-8 |
-Dfile 参数替换为本地 jar 包实际所在路径):<dependency>
<groupId>com.xiangyin</groupId>
<artifactId>xypay-sdk-java</artifactId>
<version>1.0.0</version>
</dependency>| 参数 | 说明 |
|---|---|
| devOrgId | 开发者机构ID |
| mchNo | 商户号 |
| appId | 应用ID |
| apiBase | 支付网关地址,默认 http://pay.gdxiangyin.com/,测试环境可通过 XypayClient.getInstance 第三个参数指定 |
| apiKey | MD5 签名方式:开发者机构密钥(devSecret) |
| rsa2AppPrivateKey | RSA2 签名方式:商户 RSA 私钥(PKCS8 格式,Base64 字符串,不含 PEM 头尾) |
| rsa2PayPublicKey | RSA2 签名方式:支付系统 RSA 公钥(X509 格式,由平台提供,用于响应验签) |
MD5 与 RSA2 两种签名方式,签名规则详见 5_签名与验签说明.md。获取 XypayClient 实例 → 构造 XxxRequest → 设置业务模型 XxxReqModel → client.execute(request) → 处理 XxxResponseexecuteByRSA2,验签使用 checkSignByRsa2 / isSuccessByRsa2 并传入支付系统 RSA 公钥:RSA2 密钥要求:私钥为 PKCS8 格式、公钥为 X509 格式,均为 Base64 字符串,不含 -----BEGIN/END-----头尾标记。
XypayResponse 子类)包含以下通用字段与方法:| 方法 | 说明 |
|---|---|
getCode() | 网关返回码,0 表示请求成功 |
getMsg() | 网关返回信息 |
getSign() | 响应数据签名 |
getData() | 响应业务数据(JSON) |
get() | 各 Response 子类提供的业务模型获取方法 |
checkSign(apiKey) / checkSignByRsa2(publicKey) | 校验响应数据签名 |
isSuccess(apiKey) / isSuccessByRsa2(publicKey) | code 为 0 且验签通过 |
isSuccess / isSuccessByRsa2 判断请求成功并验签,再读取业务数据;getErrCode() / getErrMsg() 获取通道错误码与错误信息;XypayClient.execute 会根据请求自动构造 RequestOptions;如需更精细的控制(如自定义超时、重试次数),可自行构造:注意: setUri的接口路径不能以/开头;手动设置了RequestOptions后,客户端将直接使用该配置。
XypayException,调用 execute / executeByRSA2 时需捕获:| 异常类 | 说明 |
|---|---|
| APIConnectionException | 网络连接异常(超时、连接失败等) |
| APIException | 网关返回非成功状态码的 API 异常 |
| InvalidRequestException | 请求参数无效异常 |
XypayException 提供 getStatusCode() 获取 HTTP 状态码(如有),getMessage() 获取错误描述。UTF-8;