private void QueryPayResultFromYeePay(String outTradeNo, ConcurrentQueue <YeePayAgreePayQueryResult> results) { var execResult = YeePayAgreePayUtil.Execute <Object, RawYeePayAgreePayResultQueryResponse>("/rest/v1.0/paperorder/api/pay/query", new { merchantno = GlobalConfig.YeePay_AgreePay_MerchantNo, requestno = outTradeNo }); if (execResult.Success && execResult.Value != null) { var respResult = execResult.Value; if (respResult.status == "SUCCESS" || respResult.status == "PAY_FAIL" || respResult.status == String.Empty) { var result = new YeePayAgreePayQueryResult() { Amount = respResult.amount, CompleteTime = respResult.banksuccessdate, OutTradeNo = respResult.requestno, YeePayTradeNo = respResult.yborderid, PayStatus = respResult.status == nameof(PayStatus.SUCCESS) ? PayStatus.SUCCESS : PayStatus.FAILURE }; results.Enqueue(result); } } }
private void QueryRefundResultFromYeePay(String outTradeNo, ConcurrentQueue <YeePayAgreePayQueryResult> results) { var execResult = YeePayAgreePayUtil.Execute <Object, RawYeePayRefundResultQueryResponse>("/rest/v1.0/paperorder/api/refund/query", new { merchantno = GlobalConfig.YeePay_AgreePay_MerchantNo, requestno = outTradeNo }); if (execResult.Success && execResult.Value != null) { var respResult = execResult.Value; var result = new YeePayAgreePayQueryResult() { Amount = respResult.amount, CompleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), OutTradeNo = respResult.requestno, YeePayTradeNo = respResult.yborderid }; Boolean changed = false; switch (respResult.status) { case "REFUND_SUCCESS": result.PayStatus = PayStatus.SUCCESS; changed = true; break; case "": case "REFUND_FAIL": result.PayStatus = PayStatus.FAILURE; changed = true; break; } if (changed) { results.Enqueue(result); } } }