本文为您提供了Java语言版本的充值接口接口对接DEMO示例
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.io.UnsupportedEncodingException;
import java.util.HashMap;
import java.util.Map;
import java.util.*;
public class test
{
public static void main(String args[])
{
String url = "https://api.ihuyi.com/f/recharge?action=buy";
Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
HashMap<String, String> bodyArr = new HashMap<>();
bodyArr.put("username", "123456"); //API ID
bodyArr.put("orderid", "DD20253995959"); //商家订单 ID
bodyArr.put("timestamp", "20240321150546"); //时间戳格式如:yyyyMMddHHmmss 允许 10分钟统一以东 8 时间
bodyArr.put("account", "xxxxxxx"); //充值账号
bodyArr.put("productid", "k111-1"); //产品 ID
bodyArr.put("quantity", "1"); //购买数量-固定数量1
bodyArr.put("extend", "[]"); //扩展参数(必须 json 格式,无此值请保持为“[]”),针对不同商品可能不同,参见 8.扩展参数说明
bodyArr.put("return", ""); //商家自定义参数,回调回传
bodyArr.put("callback", "http://*****"); //商家回调 url 地址
bodyArr.put("buyerip", ""); //买家真实 IP(区域商品须传)
bodyArr.put("sign", "81ed625f338277f1bd7f27b9339e302c"); //签名
String queryString = convertToQueryString(bodyArr);
try {
Map<String, Object> response = sendRequest(url, headers, queryString, "POST");
// 打印响应
System.out.printf("状态码: %s%n", response.get("status"));
System.out.printf("响应内容: %s%n", response.get("body"));
} catch (Exception e) {
e.printStackTrace();
}
}
public static Map<String, Object> sendRequest(String url, Map<String, String> headers, String queryString, String method) throws Exception {
HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
.uri(URI.create(url))
.method(method, queryString.isEmpty() ?
HttpRequest.BodyPublishers.noBody() :
HttpRequest.BodyPublishers.ofString(queryString, StandardCharsets.UTF_8));
headers.forEach(requestBuilder::header);
HttpClient httpClient = HttpClient.newBuilder().build();
HttpResponse<String> response = httpClient.send(
requestBuilder.build(),
HttpResponse.BodyHandlers.ofString(StandardCharsets.UTF_8)
);
Map<String, Object> result = new HashMap<>();
result.put("status", response.statusCode());
result.put("body", response.body());
return result;
}
public static String convertToQueryString(HashMap<String, String> map) {
StringBuilder queryString = new StringBuilder();
for (Map.Entry<String, String> entry : map.entrySet()) {
String encodedKey = URLEncoder.encode(entry.getKey(), StandardCharsets.UTF_8);
String encodedValue = URLEncoder.encode(entry.getValue(), StandardCharsets.UTF_8);
if (queryString.length() > 0) {
queryString.append("&");
}
queryString.append(encodedKey).append("=").append(encodedValue);
}
return queryString.toString();
}
}
国内专业互联网团队
21年行业经验
7x24小时售后支持
丰富的行业经验
Copyright © 2004-2025 上海思锐信息技术有限公司 All rights reserved. 沪ICP备07035915号-15 电信增值业务许可证:B2-20160082
服务热线:
4008 808 898
服务热线(工作时间):
4008 808 898
业务咨询(非工作时间):
售后咨询(非工作时间):