汇付聚合支付解决方案扫码支付接口代码详解

工作   2023-09-25 11:18   1370   0  

下面是扫码支付接口代码:


JAVA代码示例:

首先将需要收集的参数都写成json格式的字符串。

String valueObj = “{

“version”: “10”,

“cmd_id”: “123”, //扫码支付的交易指令ID具体可以参见对方的接口文档

“mer_cust_id”: “123123123123”,//入驻商户id

“user_cust_id”: “321321321321321”,//入驻商户下级商户ID

“order_id”: “1234567”,//订单编号

“order_date”: “20170829”,

“trans_amt”: “0.03”,

“bg_ret_url”: “http://192.168.0.74:8001/npayCallBack/asyncHandle.json”,

“mer_priv”: “*1erwer.868@”,

“ret_url”: “”,

“extension”: “u”,

“div_detail”: “[{‘divCustId’:‘123123123123’,‘divAcctId’:‘45841’,‘divAmt’:‘6.92’,‘divFreezeFg’:‘01’},{‘divCustId’:‘321321321321’,‘divAcctId’:‘12345’,‘divAmt’:‘0.03’,‘divFreezeFg’:‘00’}]”,//分账串信息

“device_info”: “测试测qq”,

“goods_desc”: “分账串,有冻结”,

“goods_type”: “试测试试qq”,

“oper_user_id”: “试试qq”,

“order_expire_time”: “9900”,

“pay_type”: “04”,

“request_type”: “01”

}”;


String testUrl = “http://192.168.3.170:8083/npay/merchantRequest”;//地址可以询问对方运营

String checkValue = sign(valueObj);

String cmdId = “209”;

String merCustId = “123123123123”;//入驻商户id

String version = “10”;

httpServletResponse.setContentType(“application/x-www-form-urlencoded; charset=UTF-8”);

PrintWriter out = httpServletResponse.getWriter();

out.println();

out.println("");

out.println("");

out.println(" ");

out.println(" <BODY style=“display: none”>");

out.println("<form name=“submitForm” action="" + url + “” method=“post”>");

out.println("<input type=“hidden” name=“cmd_id” value="" + cmd_id + “”/>");

out.println("<input type=“hidden” name=“version” value="" + version + “”/>");

out.println("<input type=“hidden” name=“mer_cust_id” value="" + merCustId + “”/>");

out.println("<input type=“hidden” name=“check_value” value="" + checkValue + “”/>");

out.println("");

out.println(“”);

out.println(" “);

out.println(”");

out.flush();

out.close();


成功响应:

{

“cmd_id”: “123”,

“resp_code”: “123000”,

“resp_desc”: “交易成功”,

“mer_cust_id” : “123123123123”,

“order_date”: “20180327”,

“order_id”: “10000000001”,

}


失败响应:

{

“cmd_id”: “123”,

“resp_code”: “123003”,

“resp_desc”: “交易失败”,

“mer_cust_id” : “123123123123”,

“order_date”: “20180327”,

“order_id”: “10000000001”,

}

加签方法:

private static String sign(String valueObj) {

// 加签用pfx文件

String pfxFileName = “888888-汇付测试商户.pfx”;

// 加签用密码

String pfxFilePwd = “888888”;

// 进行base64转换

String base64RequestParams = Base64.encodeBase64String(valueObj.getBytes(Charset.forName(“utf-8”)));

// 加签

SignResult signResult = CFCASignature.signature("/app/etc/product/" + pfxFileName, pfxFilePwd,base64RequestParams, “utf-8”);

if (“000”.equals(signResult.getCode())) {

return signResult.getSign();

} else {

return “加签失败”;

}

}

好了,今天就记录到这里,相关的报错信息在接口文档中也有,开始调试吧。

   

个人分享评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。