Example #1
0
        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);
                }
            }
        }
Example #2
0
        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);
                }
            }
        }