| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- using System.Collections.Generic;
- using Essensoft.AspNetCore.Payment.WeChatPay.Response;
- using Essensoft.AspNetCore.Payment.WeChatPay.Utility;
- namespace Essensoft.AspNetCore.Payment.WeChatPay.Request
- {
- /// <summary>
- /// 关闭订单
- /// </summary>
- public class WeChatPayCloseOrderRequest : IWeChatPayRequest<WeChatPayCloseOrderResponse>
- {
- /// <summary>
- /// 子商户应用号
- /// </summary>
- public string SubAppId { get; set; }
- /// <summary>
- /// 子商户号
- /// </summary>
- public string SubMchId { get; set; }
- /// <summary>
- /// 商户订单号
- /// </summary>
- public string OutTradeNo { get; set; }
- #region IWeChatPayRequest Members
- public string GetRequestUrl()
- {
- return "https://api.mch.weixin.qq.com/pay/closeorder";
- }
- public IDictionary<string, string> GetParameters()
- {
- var parameters = new WeChatPayDictionary
- {
- { "sub_appid", SubAppId },
- { "sub_mch_id", SubMchId },
- { "out_trade_no", OutTradeNo }
- };
- return parameters;
- }
- public WeChatPaySignType GetSignType()
- {
- return WeChatPaySignType.MD5;
- }
- public void PrimaryHandler(WeChatPayOptions options, WeChatPaySignType signType, WeChatPayDictionary sortedTxtParams)
- {
- sortedTxtParams.Add(WeChatPayConsts.nonce_str, WeChatPayUtility.GenerateNonceStr());
- sortedTxtParams.Add(WeChatPayConsts.appid, options.AppId);
- sortedTxtParams.Add(WeChatPayConsts.mch_id, options.MchId);
- sortedTxtParams.Add(WeChatPayConsts.sign, WeChatPaySignature.SignWithKey(sortedTxtParams, options.Key, signType));
- }
- public bool GetNeedCheckSign()
- {
- return true;
- }
- #endregion
- }
- }
|