凭证上传
# 代码示例
- 代码示例仅供参考,具体参数说明请参考请求参数说明
import com.google.gson.JsonObject;
public class demo {
private static final String PLAT_PUBLIC_KEY = "MIGfMA0GCSqG***AQAB"; // 平台公钥
private static final String MCH_PRIVATE_KEY = "MIICeAI******IBIuhihgi"; // 商户私钥
private static final String URL = "https://tl-openapi.toppay.asia/gateway/order/upload";
public static void main(String[] args) throws Exception {
query();
}
private static void query() throws Exception {
Map<String, String> requestParams = new TreeMap<>();
//只有platOrderNum参与签名
requestParams.put("platOrderNum", "O123123123123123");
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);
requestParams.put("imgStr", "0000030123012031203120312030120210.00ybTRjhcf"); // qrCode/Data base
String postJson = new Gson().toJson(requestParams);
System.out.println("Post Json Params:" + postJson);
String responseJson = TopPayRequestUtil.doPost(URL, postJson); // 发送 post json请求
System.out.println("Response Msg:" + responseJson);
}
}
# 请求地址
- 请求方式 : POST
- 请求地址 : https://tl-openapi.toppay.asia/gateway/order/upload
# 请求参数
图片大小不能超过 1M —— 图片类型为 jpg | png
| 参数 | 必填 | 参与签名 | 类型 | 示例 |
|---|---|---|---|---|
| platOrderNum | Y | Y | 平台订单号 | P1287348712634781236478123 |
| imgStr | Y | N | 图片内容(qrCode或者base64),优先上传qrCode | qrCode:00000000024123478234834132435.90HGUIbbvs data:image..... |
| sign | Y | Y | RSA签名 | ja6R8eukQ... |
# 请求报文示例
{
"platOrderNum": "P019208391823491823",
"imgStr": "00000000024123478234834132435.90HGUIbbvs",
"sign": "X/o+IQUzLJqYe9Feid9Uww72mJGOvhJSJEIfo1EUChrZyVZnzGHtd61QhOqRmXCtAwk7V7k="
}
# 响应参数
| 参数 | 类型 | 必填 | 描述 | 示例 |
|---|---|---|---|---|
| success | BOOLEAN | Y | 接口响应 | true/false |
| code | int | Y | 接口响应码 | 1000代表成功,其他的都为失败 |
| message | String | Y | 接口响应信息 | 返回具体响应信息 |
| data | Json | Y | 接口响应参数 | 以下参数都在data中返回,如失败则为null |
# 响应报文示例
{
"success": true,
"code": 1000,
"message": "SUCCESS",
"data": null
}