zoukankan      html  css  js  c++  java
  • 2021年调用工商二维码退款接口

    调用工商二维码退款接口  这里使用main方法调用

    特别说明     二维码支付成功 使用RSA  退款就用RSA     

    文档很坑直接写死RSA2

    public class QrcodeRejectTest {
    
        public static void main(String[] args) throws Exception {

          String appId = "你公司的appid";
          String privateKey = "私钥";
          String icbcPulicKey = "公钥"

    //签名类型为RSA2时,需传入appid,私钥和网关公钥,签名类型使用定值IcbcConstants.SIGN_TYPE_RSA2,其他参数使用缺省值

            DefaultIcbcClient client = new DefaultIcbcClient(appId, IcbcConstants.SIGN_TYPE_RSA, privateKey, icbcPulicKey);
    
            QrcodeRejectRequestV3 request = new QrcodeRejectRequestV3();
    
            //4、根据测试环境和生产环境替换相应ip和端口
            request.setServiceUrl("https://gw.open.icbc.com.cn/api/qrcode/reject/V3");
    
            //5、请对照接口文档用bizContent.setxxx()方法对业务上送数据进行赋值
            QrcodeRejectRequestV3.QrcodeRejectRequestV3Biz bizContent = new QrcodeRejectRequestV3.QrcodeRejectRequestV3Biz();
       
            bizContent.setMerId("1**********9");// 商户线下档案编号(特约商户12位,特约部门15位)
         //bizContent.setCustId("ow8NuxKTCgx9KxdR_8nrv1AlsZM");//该字段非必输项
            //bizContent.setOutTradeNo("ZHL777O15002096");//该字段非必输项,out_trade_no和order_id选一项上送即可
            bizContent.setOrderId("170504150439000042105170153341");//该字段非必输项,out_trade_no和order_id选一项上送即可
            bizContent.setRejectNo("X000000003");//每次调用不能相同  如果相同会显示商户系统流水重复
            bizContent.setRejectAmt("1");  //退款金额 单位分
            //bizContent.setOperId("X000000001");//该字段非必输项
            request.setBizContent(bizContent);
    
            QrcodeRejectResponseV3 response;
            try {
                response = client.execute(request, "msgId");//msgId消息通讯唯一编号,要求每次调用独立生成,APP级唯一
                if (response.isSuccess()) {
                    // 6、业务成功处理,请根据接口文档用response.getxxx()获取同步返回的业务数据
                    System.out.println("ReturnCode:"+response.getReturnCode());
                    System.out.println("response:" + response);
                } else {
                    // 失败
                    System.out.println("ReturnCode:"+response.getReturnCode());
                    System.out.println("ReturnMsg:"+response.getReturnMsg());
                }
            } catch (IcbcApiException e) {
                e.printStackTrace();
            }
        }
    }

    运行结果如下    return_code 交易成功返回0

    微信已经退款

     

    古人学问无遗力,少壮工夫老始成。 纸上得来终觉浅,绝知此事要躬行。
  • 相关阅读:
    POJ3294Life Forms(广义后缀自动机)(后缀数组+二分+数状数组)
    URAL1517Freedom of Choice(后缀数组)
    POJ2406Power Strings (最小循环节)(KMP||后缀数组)
    POJ2774Long Long Message (后缀数组&后缀自动机)
    SPOJ705 Distinct Substrings (后缀自动机&后缀数组)
    Nacos: Namespace 和 Endpoint 在生产环境下的最佳实践
    阿里PB级Kubernetes日志平台建设实践
    深度解读Helm 3: 犹抱琵琶半遮面
    开发者说:如何参与定义一款 IDE 插件
    从开源小白到 Apache Member,我的成长之路
  • 原文地址:https://www.cnblogs.com/wf-zhang/p/14781091.html
Copyright © 2011-2022 走看看