BarcodePayRequest.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System;
  2. using PaySharp.Core.Response;
  3. using PaySharp.Wechatpay.Domain;
  4. using PaySharp.Wechatpay.Response;
  5. namespace PaySharp.Wechatpay.Request
  6. {
  7. public class BarcodePayRequest : BaseRequest<BarcodePayModel, BarcodePayResponse>
  8. {
  9. public BarcodePayRequest()
  10. {
  11. RequestUrl = "/pay/micropay";
  12. }
  13. /// <summary>
  14. /// 轮询间隔,单位毫秒
  15. /// </summary>
  16. public int PollTime { get; set; } = 5000;
  17. /// <summary>
  18. /// 轮询次数
  19. /// </summary>
  20. public int PollCount { get; set; } = 5;
  21. /// <summary>
  22. /// 支付失败事件
  23. /// </summary>
  24. /// <param name="response">返回结果</param>
  25. /// <param name="message">提示信息</param>
  26. internal void OnPayFailed(IResponse response, string message) => PayFailed?.Invoke(response, message);
  27. /// <summary>
  28. /// 支付成功事件
  29. /// </summary>
  30. /// <param name="response">返回结果</param>
  31. /// <param name="message">提示信息</param>
  32. internal void OnPaySucceed(IResponse response, string message) => PaySucceed?.Invoke(response, message);
  33. /// <summary>
  34. /// 网关同步返回的支付通知验证失败时触发
  35. /// </summary>
  36. public event Action<IResponse, string> PayFailed;
  37. /// <summary>
  38. /// 网关同步返回的支付通知验证成功时触发
  39. /// </summary>
  40. public event Action<IResponse, string> PaySucceed;
  41. internal override void Execute(Merchant merchant)
  42. {
  43. GatewayData.Remove("notify_url");
  44. }
  45. }
  46. }