Order Query
# Code Example
TopPayRequestUtil(Click here to get the code sample)
import com.google.gson.JsonObject;
public class OrderQuery {
private static final String MCH_ID = "S820211021094748000001";
private static final String PLAT_PUBLIC_KEY = "MIGfMA0GCSqGSIb........3DQEBAQUA";
private static final String MCH_PRIVATE_KEY = "MIICeAIBADANBgkqhkiG........kXf3Vp";
private static final String orderQueryUrl = "https://vnm-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");
List<String> paramNameList = new ArrayList<>();
for (String key : maps.keySet()) {
paramNameList.add(key);
}
Collections.sort(paramNameList);
StringBuilder stringBuilder = new StringBuilder();
for (String key : paramNameList) {
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);
}
}
# Api Address
- Method : POST
- Address : https://vnm-openapi.toppay.asia/gateway/query
# Request Params
- Note: Either the merchant order number or the platform order number must be passed, or both can be passed
| Params | Required | Desc | Ex |
|---|---|---|---|
| merchantCode | Y | MchId | S820190712000002 |
| queryType | Y | Query Type | Collection:ORDER_QUERY Cash:CASH_QUERY |
| orderNum | Y | Merchant order number | T1231511321515 |
| platOrderNum | Y | Platform order number | PRE1234567890 |
| dateTime | Y | Timestamp | 20191018105510 yyyy-MM-dd HH:mm:ss |
| sign | Y | Sign | ja6R8eukQ... |
# Request Example
{
"dateTime": "20220101105500",
"merchantCode": "S820211021094748000001",
"orderNum": "T1642593166888",
"platOrderNum": "PRE1642593166888",
"queryType": "ORDER_QUERY",
"sign": "lGw1OJcuUL0MGaIq44U2u2bFM5dalJJuT/G6mQWbIBT9dmVAJaLwR125emPDXYYSdnOtNxja86A2VJJLf40BCg2HevHolebvt2ay3ukCQaUhwNkIGz4KF0Ud+XMUA36LoFTWZbDYv9y8vgCnWxwZFKj7ePrfLxc+TA7jpqv65lQ\u003d"
}
# Response Params
| Params | Type | Required | Desc | Ex |
|---|---|---|---|---|
| success | BOOLEAN | Y | Response Result | true/false |
| code | int | Y | Code | 1000-Request Success, all others are failures |
| message | String | Y | Message | success |
| data | Json | Y | Data | The following parameters are returned in data, or null if failed |
| msg | String | Y | msg | Request Transaction Success |
| platOrderNum | String | Y | Platform order number | PI1453242857400963072 |
| amount | String | Y | Order Amount | 10000.00 |
| orderNum | String | Y | Merchant order number | 23645782 |
| status | int/String | Y | Order Status | Order Status |
- Collection Response Example
{
"success": true,
"code": 1000,
"message": "Success",
"data": {
"msg": "Payment Success",
"platOrderNum": "PRE1483771634191044608",
"amount": "150",
"orderNum": "T1642593166888",
"status": "SUCCESS"
}
}
- Cash Response Example
{
"success": true,
"code": 1000,
"message": "Success",
"data": {
"msg": "test cash",
"platOrderNum": "W0620220119174331000001",
"amount": "125",
"orderNum": "186888188666",
"status": 2
}
}