宅男噜噜噜66在线观看,亚洲精品一区二区三区精品,亚洲一区二区三区乱码在线欧洲,亚洲精品久久麻豆蜜桃,亚洲色无色a片一区二区

您是否正受到短信簽名報(bào)備的困擾?互億無線解決方案讓您最快15分鐘內(nèi)恢復(fù)信息傳遞,馬上 注冊體驗(yàn)。
所有文檔
銀行信息核驗(yàn)
應(yīng)用開發(fā)
產(chǎn)品簡介
文檔中心 > 數(shù)字權(quán)益 > 數(shù)字權(quán)益直充

數(shù)字權(quán)益直充

Java對接充值接口接口DEMO示例

本文為您提供了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"); //時(shí)間戳格式如:yyyyMMddHHmmss 允許 10分鐘統(tǒng)一以東 8 時(shí)間
        bodyArr.put("account", "xxxxxxx"); //充值賬號
        bodyArr.put("productid", "k111-1"); //產(chǎn)品 ID
        bodyArr.put("quantity", "1"); //購買數(shù)量-固定數(shù)量1
        bodyArr.put("extend", "[]"); //擴(kuò)展參數(shù)(必須 json 格式,無此值請保持為“[]”),針對不同商品可能不同,參見 8.擴(kuò)展參數(shù)說明
        bodyArr.put("return", ""); //商家自定義參數(shù),回調(diào)回傳
        bodyArr.put("callback", "http://*****"); //商家回調(diào) url 地址
        bodyArr.put("buyerip", ""); //買家真實(shí) IP(區(qū)域商品須傳)
        bodyArr.put("sign", "81ed625f338277f1bd7f27b9339e302c"); //簽名

        String queryString = convertToQueryString(bodyArr);

        try {
            Map<String, Object> response = sendRequest(url, headers, queryString, "POST");

            // 打印響應(yīng)
            System.out.printf("狀態(tài)碼: %s%n", response.get("status"));
            System.out.printf("響應(yīng)內(nèi)容: %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();
    }

}

5分鐘快速自助開通免費(fèi)體驗(yàn)賬戶

在線咨詢
電話咨詢

服務(wù)熱線:

4008 808 898

服務(wù)熱線(工作時(shí)間):

4008 808 898

業(yè)務(wù)咨詢(非工作時(shí)間):

售后咨詢(非工作時(shí)間):

提交成功
若短信發(fā)送異常,系統(tǒng)將自動給您發(fā)送語音驗(yàn)證碼,請注意接聽電話。

驗(yàn)證碼已發(fā)送到您的手機(jī),請查收!

輸入驗(yàn)證碼后,點(diǎn)擊“開通體驗(yàn)賬戶”按鈕可立即開通體驗(yàn)賬戶。

收不到短信驗(yàn)證碼?
互億無線不提供接碼服務(wù),接碼用戶請勿點(diǎn)擊開通按鈕。
×