收藏
回答

wechatpay-java 支持服务商模式下单吗?那个字段填写子商户信息

wechatpay-java (版本0.2.9)支持服务商模式下单吗?那个字段填写子商户信息

回答关注问题邀请回答
收藏

1 个回答

  • 王昌胜
    王昌胜
    2023-09-27

    服务商模式下的jsapi预下单示例:


    
    
    import com.alibaba.fastjson.JSON;
    
    import com.wechat.pay.java.core.Config;
    
    import com.wechat.pay.java.core.RSAAutoCertificateConfig;
    
    import com.wechat.pay.java.service.partnerpayments.jsapi.JsapiServiceExtension;
    
    import com.wechat.pay.java.service.partnerpayments.jsapi.model.Amount;
    
    import com.wechat.pay.java.service.partnerpayments.jsapi.model.PrepayRequest;
    
    import com.wechat.pay.java.service.partnerpayments.jsapi.model.PrepayWithRequestPaymentResponse;
    
    
    
    
    
    
    
    /**
    
     *  合作伙伴平台-JSAPI 支付下单
    
     *  https://pay.weixin.qq.com/docs/partner/apis/partner-jsapi-payment/partner-jsons/partner-jsapi-prepay.html
    
     
    
     */
    
    public class PartnerV3PayJsapiTest {
    
    
    
    
    	/** 商户号 */
    
        public static String spMchid = "xxx";
    
        /** 子商户号*/
    
        public static String subMchid = "xxx";
    
        /** 商户API私钥路径 */
    
        public static String privateKeyPath = "D:\\java\\mi\\witsoft\\jcodes\\jcodes-tools\\jcodes-wx\\jcodes-wx-payment\\src\\main\\resources\\cer\\apiclient_key.pem";
    
        /** 商户证书序列号 */
    
        public static String merchantSerialNumber = "xxxxx";
    
        /** 商户APIV3密钥 */
    
        public static String apiV3Key = "xxxxx";
    
        /** 服务商公众号ID*/
    
        public static String spAppid = "xxxxx";
    
        
    
        public static void main(String[] args) {
    
            // 使用自动更新平台证书的RSA配置
    
            // 一个商户号只能初始化一个配置,否则会因为重复的下载任务报错
    
            Config config =
    
                    new RSAAutoCertificateConfig.Builder()
    
                            .merchantId(spMchid)
    
                            .privateKeyFromPath(privateKeyPath)
    
                            .merchantSerialNumber(merchantSerialNumber)
    
                            .apiV3Key(apiV3Key)
    
                            .build();
    
            // 构建service
    
            JsapiServiceExtension service = new JsapiServiceExtension.Builder().config(config).build();
    
            // request.setXxx(val)设置所需参数,具体参数可见Request定义
    
            PrepayRequest request = new PrepayRequest();
    
            // 服务商公众号ID
    
            request.setSpAppid(spAppid);
    
            // 服务商户号
    
            request.setSpMchid(spMchid);
    
            // 子商户/二级商户应用ID
    
            request.setSubMchid(subMchid);
    
            // 金额
    
            Amount amount = new Amount();
    
            amount.setTotal(1);
    
            request.setAmount(amount);
    
            // 描述
    
            request.setDescription("测试商品标题");
    
            // 回调地址
    
            request.setNotifyUrl("http://t83r2s.natappfree.cc/v3/payNotify");
    
            // 商户系统内部订单号,只能是数字、大小写字母_-*且在同一个商户号下唯一
    
            request.setOutTradeNo("out_trade_no_0011");
    
            
    
            PrepayWithRequestPaymentResponse response = service.prepayWithRequestPayment(request, spAppid);
    
            System.out.println(JSON.toJSONString(response));
    
        }
    
    }
    
    2023-09-27
    有用
    回复
登录 后发表内容