Beispiel #1
0
        public void PayBusifavorReceiptsAsyncTest()
        {
            if (createBusifavorStockResult is null)
            {
                CreateBusifavorStockAsyncTest();
            }

            var key          = TenPayHelper.GetRegisterKey(Config.SenparcWeixinSetting);
            var TenPayV3Info = TenPayV3InfoCollection.Data[key];

            var coupon_code = "coupon_code";       // TODO: 发券似乎还是V2接口 或者 微信支付平台流量场景发放 https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter5_2_1.shtml

            var transaction_id = "transaction_id"; // TODO: 填入现有订单的transaction_id

            var payer_merchant = "payer_merchant"; // TODO: 收款商户号 需要另一个收款的商户号
            // TODO:流水号?这样是否有效?
            var out_subsidy_no = string.Format("{0}{1}{2}", TenPayV3Info.MchId /*10位*/, SystemTime.Now.ToString("yyyyMMddHHmmss"), TenPayV3Util.BuildRandomStr(6));
            var requestData    = new PayBusifavorReceiptsRequestData(createBusifavorStockResult.stock_id, coupon_code, out_subsidy_no, transaction_id, payer_merchant, 100, "Senparc营销补差付款接口单元测试", out_subsidy_no);

            var marketingApis = new MarketingApis();
            var result        = marketingApis.PayBusifavorReceiptsAsync(requestData).GetAwaiter().GetResult();

            Console.WriteLine("微信支付 V3 营销补差付款接口:" + result.ToJson(true));

            Assert.IsNotNull(result);
            Assert.IsTrue(result.ResultCode.Success);
            Assert.IsTrue(result.VerifySignSuccess == true);//通过验证
        }