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.
68 lines
3.7 KiB
68 lines
3.7 KiB
package com.bocom.api.example.pmssMpng;
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.bocom.api.DefaultBocomClient;
|
|
import com.bocom.api.helper.DateHelper;
|
|
import com.bocom.api.helper.MyConfig;
|
|
import com.bocom.api.request.pmssMpng.MPNG210003RequestV1;
|
|
import com.bocom.api.request.pmssMpng.PmmsMpngNotifyRequestV1;
|
|
import com.bocom.api.response.pmssMpng.MPNG210003ResponseV1;
|
|
import com.bocom.api.response.pmssMpng.PmmsMpngNotifyResponseV1;
|
|
import com.bocom.api.utils.ApiUtils;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.UUID;
|
|
|
|
/**
|
|
* <pre>
|
|
* 交行通知企业回调(通知接收方使用)
|
|
* </pre>
|
|
* <p>
|
|
*
|
|
* </p>
|
|
*/
|
|
|
|
public class PmmsMpngNotify {
|
|
|
|
public static void main(String[] args) {
|
|
try {
|
|
DefaultBocomClient client = new DefaultBocomClient(MyConfig.APP_ID, MyConfig.MY_PRIVATE_KEY, MyConfig.APIGW_PUBLIC_KEY);
|
|
/*
|
|
测试环境可以忽略SSL证书告警,生产环境不可忽略
|
|
*/
|
|
client.ignoreSSLHostnameVerifier();
|
|
|
|
PmmsMpngNotifyRequestV1 request = new PmmsMpngNotifyRequestV1();
|
|
|
|
|
|
|
|
String notifyJson = "{\"notify_biz_content\":{\"notify_url\":\"https://bp.winning-health.com.cn:11571/winupay/n/309/40124787-2/0\",\"tran_type\":\"PAY\",\"mer_tran_no\":\"WNCS20210526043954\",\"tran_state\":\"SUCCESS\",\"tran_state_code\":\"\",\"tran_state_msg\":\"\",\"partner_id\":\"\",\"mer_ptc_id\":\"131007420005887\",\"final_time\":\"20210526164025\",\"total_amount\":\"0.01\",\"buyer_pay_amount\":\"0.01\",\"trd_dsct_amount\":\"0.00\",\"pay_dsct_amount\":\"0.00\",\"currency\":\"CNY\",\"tran_content\":\"\",\"mer_memo\":\"天津市永久医院卫宁测试\",\"require_values\":{\"bank_tran_no\":null,\"third_party\":null,\"third_party_tran_no\":null,\"payment_info\":null,\"refund_info\":null}},\"sign\":\"gpYV8HsUOFuiJVvy4689IJirE5jW4C8TQhwQiPj/9XzrbZ1++7JY5mNzvq3PGqJRKLabBH3AVeqyUSFdV6Ic3btjqGnnp99lmQ7y0Ys86xN50z0vWj/0ZVbZnlhBGGTgR/kHo7knjOqEPu4qq61yZJXYCiUd0FMei7VuOzg5ltTB5I5x2VhHw38tYhbMLWWuyRpMkttLvuGf4hJfZHq0fgT44ZL+6SrJbvq48Y7s1Uv7zFgEFwhgbKKIMs+P93TNB8jJ147ChN1U9h5z2xBeC1HJZGRniLsR5kfRgBBWCf1VbxBsLp3twd2zahKwygnFSZ2xzZj3TJrq1HjG7oZrkQ==\"}";
|
|
PmmsMpngNotifyRequestV1.PmmsMpngNotifyRequestV1Biz bizContent = (PmmsMpngNotifyRequestV1.PmmsMpngNotifyRequestV1Biz) ApiUtils.parseNotifyJsonWithBocomSign(notifyJson, "UTF-8", MyConfig.APIGW_PUBLIC_KEY, PmmsMpngNotifyRequestV1.PmmsMpngNotifyRequestV1Biz.class);
|
|
|
|
request.setServiceUrl(MyConfig.APIGW_URL_ADDRESS + "/api/notify/pmmsMpngNotify/v1");
|
|
|
|
request.setBizContent(bizContent);
|
|
PmmsMpngNotifyResponseV1 response = client.execute(request, UUID.randomUUID().toString().replace("-", ""));
|
|
|
|
// MPNG210003ResponseV1.RspHead rspHead = response.getRspHead();
|
|
// String responseStatus = rspHead.getResponseStatus();
|
|
//
|
|
// System.out.println("[交行]二维码下单返回 resp={}" + JSON.toJSONString(response));
|
|
// if (response.isSuccess() && "S".equals(response.getBizState()) && "S".equals(responseStatus)) {
|
|
// System.out.println("success");
|
|
// MPNG210003ResponseV1.RspBody rspBody = response.getRspBody();
|
|
// String qrCodeUrl = rspBody.getRedirectUrl();
|
|
// String outTradeNo = rspBody.getPayMerTranNo();
|
|
// System.out.println(qrCodeUrl);
|
|
// System.out.println(outTradeNo);
|
|
// } else {
|
|
// String responseCode = rspHead.getResponseCode();
|
|
// String responseMsg = rspHead.getResponseMsg();
|
|
// }
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
} |