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(); }); }
/// <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); } }