78 lines
5.5 KiB
Java
78 lines
5.5 KiB
Java
import com.huifu.bspay.sdk.opps.client.BasePayClient;
|
|
import com.huifu.bspay.sdk.opps.core.request.V2TradePaymentScanpayQueryRequest;
|
|
import com.huifu.bspay.sdk.opps.core.utils.DateTools;
|
|
import com.huifu.bspay.sdk.opps.core.utils.SequenceTools;
|
|
import com.alibaba.fastjson.JSON;
|
|
import java.util.Map;
|
|
|
|
public class TestQueryWithRealOrder {
|
|
public static void main(String[] args) {
|
|
try {
|
|
String merchantPrivateKey = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCcxAwrhZF+izz1gxQKOr4jnC05obIBHbl0DzHOcd4CaaDV7Kv1NRJKi33JhdDsW4JGgu16e5Rtzq1VzU5VWz5EKgGL46maOFwCkngJUTP/LC3JVf/wtJmYCm8xNE8C7GNNIqKzYEvUOEfXqagpVvVrGsQ9FpzFp2rP9hBmHY3yizVyPX/uT9S+af5TRxiaItj3SSJGgloaEMrnKOpb/EH7JwPSS0liAyT/NxPfOyyZHc22AvaAIOE5y+0PMUCKPuIdfpOrej3LVpO1Arc2hSgmdB+YIPSiBVYPXa6AuAmil9mpbtSikQJ7Uu7lX4JyTW4QxQ06rPFKnFWVKkzivAElAgMBAAECggEAJd0AJ37iTlMpDQ90xqe7hvRQxAu256gbQ9nrqLY97g0/KIw6WEZSPakFX6gvdvb/NzKmUyAIEKGLoh6tXdZk6qfOqc/6BeK47nIcBfwT9/zerjNUVvn34w4aHyNINieMMHQ+Id8PUZmqWH+Euz9ilVTosuyEPwUZulLvUQqwXzU5VnwVghURbUhDd+ecBJACWgemRun6d5241PQXNYAdH1k7cETd8GfIi3qclhhJrxi7tu5tq4YGCXQIoz7HCLim7GIvT0M+FRgSw2EOrHnAQNFeQ/vQbP71ttLoTxehL6Se9dfWrV5OI+Y/T7vR2F84Qt0iNbaxyJGir7siKDFIwQKBgQDXDzinx3/TasplM78pR/0CtuuKr1Ch02LOPrTosJ1qf1OohxQThowhOTxMsBlgYSKu9s1QRffUUXEqYXxd2B6lzDKfggwO6U2XxIcxWeNow0xoFfqcXYSg7Ga2sCr9uhdwxIdFQNF7SNBpT8ht4fJrRX6mWY1nHybpyTDQ4xoQNQKBgQC6m+yiOoi5JD3zVSSJq/iq5DJPA5B4aoP+t5u9lp2Q7iVO0QI5ilBlEKGE4VOU0glnXlDTfuqEYooMY85ekl4WGb3AOT0PhLL2i+gO2nlWBzf4HPzB/hibjfyPyniRM03cHkG3HXucL7Sne6FwERcfjEqjUd2cdP1l89PNrq4rMQKBgQCMmjABSWYh8/y1I5rEQ4OAJdVjC3GdC1Xa35ZpVybjvLEWSpHunhW5lvD8dllw8LC7UTI0XDpGPqTM/4VO2YBYB2PFc0Gs8g0/v0ZgFpOeJ6kpl80MM/wFNemFYTIKRoMSv/psZY9PmfBgGcBBTuquBXZjDcNr+yr2yAm5V/DvTQKBgHqRi94KoF8q5N39IKCkqhJlDH5FkxDktYoKw2rFkPzuzuZz9gghRyj6wXxsG9/2DWMt2dzw0czehFoa/CO188KEadPmRKr6uCmkP2nyKhxNZX+8WnB5G2Sg4DD6BjMpBYz8+qDx5ozx8LDJTYI0V4HLPgMD9JGdbgsXGhlREOkhAoGALr6IQOXnviWNAhCdc7rrsaMLMPbLZ1wqzWtQUG1JxDobbpzEP4CW/mvW5pMn58mSBg5qbXhyDI4fFP0CPb98QIz2tGnIzYyFzdKmF5Z1N7X1OF9O+tsSqASoBZzTqB4fr/o4mz0s9JCeriBR2LWjsbsDU13DTLsfQpWbtOnIy70=";
|
|
String merchantPublicKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuqolFneAH66z3/3gaIYIaRZOIk/UYzdsXIm0RyawYBYAOu/NJ7ul8CRIrRlt5vd98HodW2yPrXA4+VHF3AS9UE4WTDpo9qV5brhqQSr/lAuZtEwMZwUWwgdnGFMkUFd9RvyGXAqY0bsQrcQgQ6zGjZHzlMljogDR3iblG0ak5ssD2TSC2W+1cxu+id+FP6onZXlXizuClTyIRh17m7CbS6rl0P3M96MlTdCzTeBw/Y54CiegBJI2wOrm2Qa6Dg6KRc+YkaJWjuRJVJkwjk8JhSyALno9oEzuDKaAXlsQlxeIhmAy4esRrZGrMV8SG0gwUZIP8lduPjQE95lCqqJ0gQIDAQAB";
|
|
String merchantSysId = "6666000207581039";
|
|
String merchantHuifuId = "6666000207581039";
|
|
String productId = "XLSISV";
|
|
String skillSource = "hfps/1.3.0";
|
|
|
|
String outOrdId = "20260626063214992n7xcukl8mp4cbx";
|
|
String hfSeqId = "002900TOP1B260626063214P375ac139c1e00000";
|
|
|
|
System.out.println("========== 测试单笔交易查询 ==========");
|
|
System.out.println("商户订单号: " + outOrdId);
|
|
System.out.println("汇付流水号: " + hfSeqId);
|
|
System.out.println();
|
|
|
|
com.huifu.bspay.sdk.opps.core.config.MerConfig merConfig = new com.huifu.bspay.sdk.opps.core.config.MerConfig();
|
|
merConfig.setSysId(merchantSysId);
|
|
merConfig.setProductId(productId);
|
|
merConfig.setRsaPrivateKey(merchantPrivateKey);
|
|
merConfig.setRsaPublicKey(merchantPublicKey);
|
|
merConfig.setSkillSource(skillSource);
|
|
|
|
com.huifu.bspay.sdk.opps.core.BasePay.prodMode = com.huifu.bspay.sdk.opps.core.BasePay.MODE_PROD;
|
|
com.huifu.bspay.sdk.opps.core.BasePay.initWithMerConfig(merConfig);
|
|
|
|
System.out.println("========== 1. V2 扫码支付查询 - 按商户订单号查询 ==========");
|
|
try {
|
|
V2TradePaymentScanpayQueryRequest request = new V2TradePaymentScanpayQueryRequest();
|
|
request.setHuifuId(merchantHuifuId);
|
|
request.setOutOrdId(outOrdId);
|
|
|
|
System.out.println("请求参数: huifuId=" + merchantHuifuId + ", outOrdId=" + outOrdId);
|
|
|
|
Map<String, Object> response = BasePayClient.request(request, false);
|
|
|
|
String respCode = String.valueOf(response.getOrDefault("resp_code", ""));
|
|
String respDesc = String.valueOf(response.getOrDefault("resp_desc", ""));
|
|
|
|
System.out.println("响应码: " + respCode);
|
|
System.out.println("响应描述: " + respDesc);
|
|
System.out.println("完整响应: " + JSON.toJSONString(response, true));
|
|
} catch (Exception e) {
|
|
System.out.println("调用失败: " + e.getMessage());
|
|
e.printStackTrace();
|
|
}
|
|
|
|
System.out.println();
|
|
System.out.println("========== 2. V2TradePaymentScanpayQueryRequest 所有方法 ==========");
|
|
try {
|
|
java.lang.reflect.Method[] methods = V2TradePaymentScanpayQueryRequest.class.getMethods();
|
|
for (java.lang.reflect.Method m : methods) {
|
|
if (m.getName().startsWith("set") || m.getName().startsWith("get")) {
|
|
System.out.println(" " + m.getName());
|
|
}
|
|
}
|
|
} catch (Exception e) {
|
|
System.out.println("获取方法失败: " + e.getMessage());
|
|
}
|
|
|
|
System.out.println();
|
|
System.out.println("========== 测试结束 ==========");
|
|
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|