法币(卢比)余额查询
# 代码示例
import com.google.gson.Gson;
import java.util.HashMap;
import java.util.Map;
public class BalanceQuery {
//MCH_ID: 商户ID
//请登录商户后台,点击 个人中心 > 个人信息 在基本信息中获取商户ID
private static final String MCH_ID = "S820211021094748000001";
private static final String MCH_PRIVATE_KEY = "MIICeAIBADANBgkqhkiG9w0BAQEFAASCAmIwggJeAgEAAoGBAJU8gKFKD0luIYx7X8+JRdCIE0UDBctS6LjXxWLEv/EO7jDBTid6zYP1KmNgpd2DAWWtBFBSQ+gcNwVZZSBHJiSDqVvvJVs2FEbeBvfdv4X93+IYRAXksBasSW5Tpdshbo82pVL4V7wuKCuFLk9UxBHbpQjWAbfyF66RmwIbZD71AgMBAAECgYBjPe7UU2nDDSfmQg0++CyjNjqKRC5QPfxhH6w1uF1kMueXKJWOj42n2RutJpJmsj31nY8m0u4xpsG4HvCu/GGSFhhKZCHLvzp41oY2ubYj9nuFNU//81LycQjulWo2y0UUBY0k2piEt+SwPaiUNbT6nMxNMjlnjRe2okp/3rw+KQJBANG3YlZWoVbCEqzy64bJJLxiPsCA5ErGB0NzRGitq44xkhqGtR8ZZQyVz40pruNa58d73O2xyJSy5+fmZGn4E+sCQQC2LBnguj0CSCKub0mPDcunTTz9V79VXBBZdlB1/YGmRUx2s4sQrJNZS7rL4EqBQ3maIRnG+s+AXCSTfsYrV6CfAkEAxugnVfpelhoGepEAgNuggyivmgfl/2Gpm/jk5l/qOjib+ZrQiQmeBPzGWX4yiSM8eMDrP2sC8r5pJFMp5DRONwJBAJ4n4XuSFJ9jgwCPy3vvzSv9SYLk6E6yM9uHdUlKgoGYzk6Lh6M9QFuY/J49plFdBDiEnj16yCU3WeXXfTJpzB8CQQDMNMR/rIOTE9xGybS3mlQbt22AUnO6XhupWcckEKW4nPGxATwYBQzCY3i/9FTGN0vA+9ZPC2cwHtNxI2kXf3Vp"; // 商户私钥
private static final String REQ_URL = "https://india-openapi.toppay.asia/balance/query";
public static void main(String[] args) throws Exception {
query();
}
private static void query() throws Exception {
//根据接口要求组装参数
Map<String, String> requestParams = new HashMap<>();
requestParams.put("merchantCode", MCH_ID);
requestParams.put("timestamp", "1745377181");
//参数格式化并计算签名 并将签名值加入到请求参数中
String source = TopPaySignUtil.paramFormat(requestParams);
requestParams.put("sign", TopPaySignUtil.sign(MCH_PRIVATE_KEY, source));
//参数序列化成Json 并发起post请求
String postJson = new Gson().toJson(requestParams);
System.out.println("Post Json Params:" + postJson);
String responseJson = TopPaySignUtil.doPost(REQ_URL, postJson);
System.out.println("Response Msg:" + responseJson);
}
}
# 请求地址
- 请求方式 : POST
- 请求地址 : https://india-openapi.toppay.asia/balance/query
# 请求参数
| 参数 | 必填 | 描述 | 示例 |
|---|---|---|---|
| merchantCode | Y | 商户ID | S820190712000002 |
| timestamp | Y | 时间戳(秒),取系统实时时间戳 | 1745377181 |
| sign | Y | RSA签名 | ja6R8eukQ... |
# 请求报文示例
{
"merchantCode": "S820211021094748000001",
"timestamp": "1745377181",
"sign": "lGw1OJcuUL0MGaIq44U2u2bFM5dalJJuT/G6mQWbIBT9dmVAJaLwR125emPDXYYSdnOtNxja86A2VJJLf40BCg2HevHolebvt2ay3ukCQaUhwNkIGz4KF0Ud+XMUA36LoFTWZbDYv9y8vgCnWxwZFKj7ePrfLxc+TA7jpqv65lQ\u003d"
}
# 响应参数
- 外层统一返回结构
| 参数 | 类型 | 必填 | 描述 | 示例 |
|---|---|---|---|---|
| code | int | Y | 接口响应码 | 0代表成功,其他的都为失败 |
| message | String | Y | 接口响应信息 | 返回具体响应信息 |
| data | Json | Y | 接口响应参数 | 参考如下data字段内部结构 |
- data字段内部结构
| 参数 | 类型 | 必填 | 描述 | 示例 |
|---|---|---|---|---|
| merchantCode | String | Y | 商户ID | S820211021094748000001 |
| totalAmount | decimal | Y | 总金额(单位:1卢比) | 10345.78 |
| balance | decimal | Y | 余额(单位:1卢比) | 9208.66 |
| freeze | decimal | Y | 冻结金额(单位:1卢比) | 1137.12 |
# 响应报文示例
{
"success": true,
"code": 0,
"message": "Success",
"data": {
"merchantCode": "S820211021094748000001",
"totalAmount": "10345.78",
"balance": "9208.66",
"freeze": "1137.12"
}
}