Пример #1
0
        public async Task ExecuteCallback_Tests()
        {
            await paymentManager.ExecuteCallback("缴费支付", outTradeNo, "aaaa", 100);

            UsingDbContext(context =>
            {
                var log = context.TransactionLogs.First(p => p.OutTradeNo == outTradeNo);
                log.TransactionState.ShouldBe(TransactionStates.Success);
                log.PayTime.HasValue.ShouldBeTrue();
                log.Exception.ShouldBeNull();
            });
        }
Пример #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="outTradeNo"></param>
 /// <param name="transactionId"></param>
 /// <param name="totalFee"></param>
 /// <param name="customData"></param>
 /// <returns></returns>
 protected async Task PayActionAsync(string outTradeNo, string transactionId, int totalFee, string customData)
 {
     if (string.IsNullOrWhiteSpace(customData))
     {
         throw new UserFriendlyException("请配置自定义参数!");
     }
     //using (var uow = _unitOfWorkManager.Begin())
     {
         //目前仅用支付参数的业务字段存储key,自定义数据在交易日志的CustomData中
         var key = customData.Contains("{") ? customData.FromJsonString <JObject>()["key"]?.ToString() : customData;
         await PaymentManager.ExecuteCallback(key, outTradeNo, transactionId, totalFee);
     }
 }