账户余额查询

# 代码示例

  • 代码示例仅供参考,具体参数说明请参考请求参数说明
import com.google.gson.JsonObject;
public class OrderQuery {

  // MCH_ID: 商户ID
  // 请登录商户后台,点击 个人中心 > 个人信息 在基本信息中获取商户ID
  private static final String MCH_ID = "S820211021094748000001"; // 商户号
  private static final String PLAT_PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2JoMfFqLsSJjAiCahEnlP3aRj8yCT+WHzR+VvPBTw9S1i7iYWb+MY09CG/HYuHF4+IxshXDJygmndxKf/esuwPybS8mAd//yubHpmZsmBqg1FffT8VH1APa6ZRWASUp4U01ZrbCCp35QA8FuWrJGMJxGx4xk7KUtV2yujxC8noQIDAQAB"; // 平台公钥
  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 orderQueryUrl = "https://id-openapi.toppay.asia/gateway/interface/getBalance";

  public static void main(String[] args) throws Exception {
    query();
  }
  private static void query() throws Exception {
    Map<String, String> requestParams = new TreeMap<>();
    requestParams.put("merchantCode", MCH_ID);
    requestParams.put("currency", "IDR"); // 币种(IDR)

    StringBuilder stringBuilder = new StringBuilder();
    for (String key : requestParams.keySet()) {
      stringBuilder.append(requestParams.get(key)); // 拼接参数
    }

    String keyStr = stringBuilder.toString(); // 得到待加密的字符串
    System.out.println("keyStr:" + keyStr);
    String signedStr = TopPayRequestUtil.privateEncrypt(keyStr, TopPayRequestUtil.getPrivateKey(MCH_PRIVATE_KEY)); // 私钥加密
    requestParams.put("sign", signedStr);

    String postJson = new Gson().toJson(requestParams);
    System.out.println("Post Json Params:" + postJson);

    String responseJson = TopPayRequestUtil.doPost(orderQueryUrl, postJson); // 发送 post json 请求
    System.out.println("Response Msg:" + responseJson);
  }
}

暂无示例
暂无示例
暂无示例
暂无示例
暂无示例

# 请求地址

  • 请求方式:POST
  • 请求地址:https://id-openapi.toppay.asia/gateway/interface/getBalance

# 请求参数

参数 必填 描述 示例
merchantCode Y 商户ID,在商户平台-个人中心-个人信息中获取 S820211021094748000001
currency N 币种 IDR (不传展示所有货币单位的余额)
sign Y RSA签名 ja6R8eukQ...

# 请求报文示例

{
  "merchantCode": "S8202110212321300001",
  "currency": "IDR",
  "sign": "X/o+IQUzLJqYe9Feid9Uww72mJGOvhJSJEIfo1EUChrZyVZnzGHtd61QhOqRmXCtAwk7V7k="
}

# 响应参数

参数 类型 必填 描述 示例
success BOOLEAN Y 接口响应 true/false
code int Y 接口响应码 1000代表查询成功,其他的都为查询失败
message String Y 接口响应信息 返回具体响应信息
data JSON Y 接口响应参数 以下参数都在data中返回,如失败则为null
mchId String Y 商户ID S8202110212321300001
mchName String Y 商户名称 test
mchNo String Y 商户编号 TP123
currency String Y 币种 IDR
balance String Y 可用余额 1000.00
freeze String Y 冻结余额 10.00
waitingSettleAmount String Y 待结算金额 200.00
freezeWaitingSettleAmount String Y 冻结待结算金额 100.00
totalAmount String Y 全部金额(可用余额 + 冻结余额 + 待结算金额 + 冻结待结算金额) 1310.00

# 响应报文示例

{
  "success": true,
  "code": 1000,
  "message": "SUCCESS",
  "data": [
    {
      "mchId": "S82022091232130000001",
      "mchName": "test",
      "mchNo": "test",
      "country": "INDONESIANEW",
      "currency": "IDR",
      "balance": "1000000.01",
      "freeze": "10.00",
      "waitingSettleAmount": "10.00",
      "freezeWaitingSettleAmount": "20.00",
      "totalAmount": "1000040.01"
    }
  ]
}