微信后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
7.0 KiB

package com.bocom.api.example.pmssMpng;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import com.alibaba.fastjson.JSONArray;
import com.bocom.api.DefaultBocomClient;
import com.bocom.api.helper.DateHelper;
import com.bocom.api.helper.MyConfig;
import com.bocom.api.request.pmssMpng.MPNG210002RequestV1;
import com.bocom.api.request.pmssMpng.MPNG210002RequestV1.MPNG210002RequestV1Biz.*;
import com.bocom.api.request.pmssMpng.MPNG210002RequestV1.MPNG210002RequestV1Biz.ReqBody.*;
import com.bocom.api.request.pmssMpng.MPNG210002RequestV1.MPNG210002RequestV1Biz.ReqBody.AddiTradeData.Value;
import com.bocom.api.response.pmssMpng.MPNG210002ResponseV1;
/**
* <pre>
* 被扫付款码接口@MPNG-CIPP
* </pre>
* <p>
*
* </p>
*/
public class MPNG210002V1Test {
public static final String MY_PRIVATE_KEY = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCER3xnjjYb4na9yf49wJIE/ykXuk9q4QKYJk/+LQuVUmf3HYUmVvngB2jwrMWr0x+Asg3XFyoctmZBDci3mgElQW6u1jNBUEUqbU+9oHT496D1g7KRVZZOWqaSZmFkPYf6Kr+uZgUtQEHeKiTuG3wIR2COSzuEsBvW8Q0RobHiCXXVmKpfpkB2cktwHzfu4sgTNrnvru5EDRFUMk72sMa5M9gasmY8XIVF711LWFreqVTKZPTuMTTIbZuVUd+vADWB7Y48IIEEsdIbbH8qwnTrEIvvWEJkhRYMpPvioLzqlepXZ8xNPD3Hu/SxHRRS+rQHiQvIpkqUK0JxOG+JpD8NAgMBAAECggEAczzrzjOARA6or3K3wQhwrVW1cOxon43i+rX13lNT0gR2ejwHcX04Nsl9zJ5XnvdQbIexsv6FO3pT3rypbfoGoXQ9fqcxA+dwOiP84hBVl0fzu6+98wsC5MPodYYntnI8cd6oGsDaJa/jMi64+Y6MIZI9NfmoolHiDwD1B7U8CNRAZR4XSTd22kmaF222cipgjpxrJozsJWSlwXsaw6ZEYsSraP76ZU1GiKZPKayLxQtTmHmqL/1SgVb2gBnW2FpTTdeanxjhnvE1Ikg28bfZPpA8c0jItjNpFvmyaf/3C2pKJBYKkAuyQSjMexS6anBX4G4LRfcDzrJzY12eHWrb6QKBgQC5iOg9JqxOmDCBN4I7hd3ax9bFPKQe7NO1Hs2cgyOCp3Ph/yK8/OIlGSBDHVlXPOpq80OwmOGU5AXJTBRpgDLC7gF9gphd9l+sIkHtQ5+mWld+jr7qFlW95y+H51PDk0nSg2GIkyID3t3G0NBooDM/XaXyndljBOQwMVpVBdqAWwKBgQC2hKwRCb2C6ZAssw8Cq5LWR2psFONbqAmA6aO9GgFKF0mBsyq0sstz/nE/XBURc+zOnYr72WFMMaoVkNPTxwqXNcHu4vbyepfBSWBDSJxndlMKXcld5+GZCyl9nUFLHGjYbNUsMgahaR5l9eNiMbHzKHdRNw7Trf2gLnvWlH/atwKBgHaP3pj1VbcD2js41ahj61obyktQbTC19rQPcyVJSC/+AjexaumKUJmUbOF2p9jvvH2L5v27NKyI6omwbHreyZF3tswV4HhrMMg3PBn61NLheHgPkEDW9QPd8KnQUd7xCIPWIUW9gEco7GBYoFW7ygP8PEfGR1zXi1qgrzEWBINxAoGBAIe3h6rzrzOVMVvLmbHGmt0zJXNQ5O7WuJpfIR4QJD1Pq50B+RN8j8Skwtj2Q8RCiyfoBdzX+32IwIxgsOKc8scVdiuIIVCU0Bst0KK3b3WPipf+vSlSr3H51tRNBqwvZ9bmtmyyljOX0r7GZFoz0bqZsH93jVLh4eImLneU3K1pAoGAMUCNCHIpMSd+d5ewR9VxXY1DjGHvIC98EdsjL0S7QcVrWb9mh6Br5G6zvlIJcMhIaQm3C1ETLaHG+K9XRrA+HcJo1ApeMT7MgBmIC+cG1aepZREDruNI3G8r4bDS6pHSDKk+Iu8shpEUurxZCzjBX2n5OeMJx+xDgYUq5H4Bn5I=";
public static final String APIGW_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxSJrF8T/5rKB4NnwMjIxUer+ELf1PQXO2GSdZ/fvuQCclOR9tBlNWL4jFOftebeL+bvMVOJ+JHm/aSes1AN8YNIDGiFUpF6aDkSCaLynDdjK/mQTWhSNa2fO0GGO+ywOBTdYUjVjVtzJ48bbyG3NSylf1EdnBWnMpFa8qpXJXR4ELpVpMkPDC+93HBAlxEgUjhcIJlP5VdKIiudsmhE2T07qtpIQSuE5hntXP6X6GKJReCk+yek2QJITvIBq3cHPw8KDsHHCs7MaR81KI3onJRWyqFtTfVYTiKsd9EcYSxv+Gx5MOF8B/P4iJCD8uzx0FrqoB3k5OYGcz4tXs+h+9wIDAQAB";
public static final String BOCOM_PRD_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAihC4Qj8mlFxlO54qhUOmwWTKqhTCrfzZIeWFqS+QH9BxiChja6Za8oYVhyP+kiRiWxffBTzT25DPUfaDiQVCnlhdqlfOHHZ2Gp291pKrmF/E4WxLk50zYE1d69osw20GY0EVxhpml5bOxumxughpKwPKCrcYtN7MXAeWUEpl7AzqPNUgV+KlmE7TxB9tWcP6jeSn4/PQ47BfYmi2LI25UXfaFrUSNITkePoIYVZnP6FVpsC2grTdnPeUgfaCB3f/fPjEwRPrCHXCMopEWQQGIvqZuaZkFaQAd5XYfQnRytnF8nPofuRCDOHZYV2ldb5fVfsne/PuWmKBnBghebcw+QIDAQAB";
public static final String APP_ID = "app201901170913";
// public static final String APIGW_URL_ADDRESS = "http://182.119.88.215:8090"; // 内网uat
public static final String APIGW_URL_ADDRESS = "https://117.184.192.242:9443"; // 外网uat
//public static final String APIGW_URL_ADDRESS = "http://127.0.0.1:9501";
//public static final String APIGW_URL_ADDRESS = "https://open.bankcomm.com"; // 生产地址
public static void main(String[] args) {
try {
DefaultBocomClient client = new DefaultBocomClient(APP_ID, MY_PRIVATE_KEY, APIGW_PUBLIC_KEY);
/**
* 测试环境可以忽略SSL证书告警,生产环境不可忽略
*/
client.ignoreSSLHostnameVerifier();
MPNG210002RequestV1 request = new MPNG210002RequestV1();
request.setServiceUrl(APIGW_URL_ADDRESS + "/api/pmssMpng/MPNG210002/v1");
MPNG210002RequestV1.MPNG210002RequestV1Biz bizContent = new MPNG210002RequestV1.MPNG210002RequestV1Biz();
ReqHead reqHead = new ReqHead();
reqHead.setTransTime(DateHelper.dateToStr(new Date(), DateHelper.DateEnum.yyyyMMddHHmmss)); // 交易时间 yyyyMMddHHmmss
reqHead.setVersion("V-1.0"); // 版本信息
bizContent.setReqHead(reqHead); // 请求头
ReqBody reqBody = new ReqBody(); // 请求体
bizContent.setReqBody(reqBody);
// reqBody.setValidPeriod("20210608124511"); // 交易失效时间
reqBody.setScanCodeText("134531745328433515");
reqBody.setTerminalInfo("");
reqBody.setMerPtcId(MyConfig.MER_PTC_ID); // 131058140006008
reqBody.setPartnerId("ISV202103308895"); // 服务商编号
// reqBody.setMerMemo("备注");
reqBody.setPayMerTranNo("Test20003"); // 商户交易编号
List<RequireFields> require_fieldsList = new ArrayList<>();
RequireFields require_fields = new RequireFields();
require_fieldsList.add(require_fields);
reqBody.setRequireFields(require_fieldsList);
require_fields.setRequireField("");
reqBody.setCurrency("CNY");
// reqBody.setTermBatchNo("");
reqBody.setTranScene("B2C-API-SCANCODE");
reqBody.setIp("182.119.117.128");
AddiTradeData addi_trade_data = new AddiTradeData();
reqBody.setAddiTradeData(addi_trade_data);
addi_trade_data.setMethod("");
Value value = new Value();
addi_trade_data.setValue(value);
// value.setCardNo("");
// value.setName("");
// value.setCardType("");
// 商户侧交易日期 yyyyMMdd
reqBody.setMerTradeDate(DateHelper.dateToStr(new Date(), DateHelper.DateEnum.yyyyMMdd));
// 商户侧交易时间
reqBody.setMerTradeTime(DateHelper.dateToStr(new Date(), DateHelper.DateEnum.HHmmss));
// reqBody.setTermPosNo("");
// reqBody.setShopId("");
reqBody.setTotalAmount("0.01");
reqBody.setLocation("OFFLINE");
// reqBody.setDetail("商品:尺寸");
// reqBody.setTranContent("test内容:");
request.setBizContent(bizContent);
MPNG210002ResponseV1 response = client.execute(request, UUID.randomUUID().toString().replace("-", ""));
System.out.println(JSONArray.toJSONString(response));
if (response.isSuccess()) {
System.out.println("success");
System.out.println(response.toString());
} else {
System.out.println(response.getRspCode());
System.out.println(response.getRspMsg());
}
} catch (Exception xcp) {
xcp.printStackTrace();
}
}
}