1234567891011121314151617181920212223242526272829303132333435 |
-
- namespace Wechat.PayAPI
- {
- public class OrderQuery
- {
- /***
- * 订单查询完整业务流程逻辑
- * @param order 所查定单信息
- * @return 订单查询结果
- */
- public static WxPayData Run(Gateway.Payment.Shared.PaymentOrder order)
- {
- WxPayData data = new WxPayData();
- data.SetValue("out_trade_no", order.BillNumber);
- WxPayData result = WxPayApi.OrderQuery(data, (Gateway.Payment.Shared.WxPayConfig)order.Config);//提交订单查询请求给API,接收返回数据
- if (result.GetValue("return_code").ToString() == "SUCCESS"
- && result.GetValue("result_code").ToString() == "SUCCESS")
- {
- //定单状态为支付成功
- if (result.GetValue("trade_state").ToString() == "SUCCESS")
- {
- order.TradeStatus = Gateway.Payment.Shared.TradeStatusEnum.SUCCESS;
- }
- else if ((result.GetValue("trade_state").ToString() == "CLOSED") ||
- (result.GetValue("trade_state").ToString() == "REVOKED"))
- {
- order.TradeStatus = Gateway.Payment.Shared.TradeStatusEnum.CLOSED;
- }
- }
- return result;
- }
- }
- }
|