WeChatPayLiteAppReceiveRedPacketSdkRequest.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System.Collections.Generic;
  2. using Essensoft.AspNetCore.Payment.WeChatPay.Utility;
  3. namespace Essensoft.AspNetCore.Payment.WeChatPay.Request
  4. {
  5. /// <summary>
  6. /// 小程序红包 - 领取红包
  7. /// </summary>
  8. public class WeChatPayLiteAppReceiveRedPacketSdkRequest : IWeChatPaySdkRequest
  9. {
  10. /// <summary>
  11. /// 红包详情的扩展
  12. /// </summary>
  13. public string Package { get; set; }
  14. #region IWeChatPaySdkRequest Members
  15. public IDictionary<string, string> GetParameters()
  16. {
  17. var parameters = new WeChatPayDictionary
  18. {
  19. { "package", Package }
  20. };
  21. return parameters;
  22. }
  23. public void PrimaryHandler(WeChatPayOptions options, WeChatPayDictionary sortedTxtParams)
  24. {
  25. sortedTxtParams.Add(WeChatPayConsts.timeStamp, WeChatPayUtility.GetTimeStamp());
  26. sortedTxtParams.Add(WeChatPayConsts.nonceStr, WeChatPayUtility.GenerateNonceStr());
  27. sortedTxtParams.Add(WeChatPayConsts.signType, WeChatPayConsts.MD5);
  28. sortedTxtParams.Add(WeChatPayConsts.paySign, WeChatPaySignature.SignWithKey(sortedTxtParams, options.Key, WeChatPaySignType.MD5));
  29. }
  30. #endregion
  31. }
  32. }