Order Query

# Code Example

import com.google.gson.JsonObject;
public class OrderQuery {
  private static final String MCH_ID = "S820211021094748000001";  // merchant code
  private static final String PLAT_PUBLIC_KEY = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2JoMfFqLsSJjAiCahEnlP3aRj8yCT+WHzR+VvPBTw9S1i7iYWb+MY09CG/HYuHF4+IxshXDJygmndxKf/esuwPybS8mAd//yubHpmZsmBqg1FffT8VH1APa6ZRWASUp4U01ZrbCCp35QA8FuWrJGMJxGx4xk7KUtV2yujxC8noQIDAQAB";  // platform public key
  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";  // merchant private key
  private static final String orderQueryUrl = "https://id-openapi.toppay.asia/gateway/query";

  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("queryType", "CASH_QUERY");
    requestParams.put("orderNum", "186888188666");
    requestParams.put("platOrderNum", "PRE186888188666");
    requestParams.put("dateTime", "20220101105500");

    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);  
    System.out.println("Response Msg:" + responseJson);
  }
}
No examples yet
No examples yet
No examples yet
No examples yet
No examples yet

# Request Address

  • Request method: POST
  • Request address: https://id-openapi.toppay.asia/gateway/query

# Request parameters

  • Note: One of the merchant order number and the platform order number must be passed, or they can be passed at the same time
Parameters Is it required (Y-yes, N-no) Description Example
merchantCode Y Merchant ID,Get it in Merchant Platform-Personal Center-Personal Information S820190712000002
queryType Y query Type
Pay: ORDER_QUERY
Cash: CASH_QUERY
ORDER_QUERY
orderNum Y merchant order number T1231511321515
platOrderNum Y plat order number PRE1234567890
dateTime Y Timestamp (format:yyyyMMddHHmmss) 20191018105510
sign Y RSA sign ja6R8eukQ...

# Request example

{
  "dateTime": "20220101105500",
  "merchantCode": "S820211021094748000001",
  "orderNum": "T1642593166888",
  "platOrderNum": "PRE1642593166888",
  "queryType": "ORDER_QUERY",
  "sign": "lGw1OJcuUL0MGaIq44U2u2bFM5dalJJuT/G6mQWbIBT9dmVAJaLwR125emPDXYYSdnOtNxja86A2VJJLf40BCg2HevHolebvt2ay3ukCQaUhwNkIGz4KF0Ud+XMUA36LoFTWZbDYv9y8vgCnWxwZFKj7ePrfLxc+TA7jpqv65lQ\u003d"
}

# Response parameter description (Format reference-Collection order query response message example)

Param Type Required description Example
success BOOLEAN Y response true/false
code int Y response code 1000 It means the query is successful, and the others are query failures.
message String Y response message response message
data Json Y response parameters The following parameters are all returned in data, or null if failed
msg String Y order status details Request Transaction Success
platOrderNum String Y platform order number PI1453242857400963072
amount String Y amout 1500
fee String Y fee 5
orderNum String Y merchant order number 23645782
inAddress String N Account address TLRx8JXsDidC7PYVLmeD6Bhk5k5CUjnPV3
sendAddress String N Billing address TLRx8JcxDidC7PYVLmeD6Bhk5k5CUjnPV3
platRespCode String Y platRespCode FAIL\SUCCESS
platRespMessage String Y platRespMessage Request Transaction Success
status int/String Y order status Pay: stringType, Cash: intType
  • Order query example for pay api
{
  "success": true,
  "code": 1000,
  "message": "Success",
  "data": {
    "msg": "Payment Success",
    "platOrderNum": "BCA1483771634191044608",
    "amount": "150",
    "fee": "16",
    "orderNum": "T1642593166888",
    "platRespCode": "SUCCESS",
    "platRespMessage": "success",
    "status": "SUCCESS"
  }
}
  • Order query example for cash api
{
  "success": true,
  "code": 1000,
  "message": "Success",
  "data": {
    "msg": "test cash",
    "platOrderNum": "W0620220119174331000001",
    "amount": "125",
    "fee": "7",
    "orderNum": "186888188666",
    "platRespCode": "SUCCESS",
    "platRespMessage": "success",
    "status": 2
  }
}