pay.go 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package model
  2. import "github.com/satori/go.uuid"
  3. // qr tip
  4. const (
  5. QrTip = "请使用微信、支付宝或QQ扫码支付"
  6. QrAutoRenewTip = "请使用微信扫码支付"
  7. )
  8. //APIPayCancelResp api pay cancel resp.
  9. type APIPayCancelResp struct {
  10. TraceID string `json:"traceId"`
  11. ServerTime int64 `json:"serverTime"`
  12. CustomerID int64 `json:"customerId"`
  13. OrderID string `json:"orderId"`
  14. OrderCloseTime int64 `json:"orderCloseTime"`
  15. }
  16. // UUID4 is generate uuid
  17. func UUID4() string {
  18. return uuid.NewV4().String()
  19. }
  20. // PayParam call pay param.
  21. type PayParam struct {
  22. CustomerID int64 `json:"customerId,omitempty"`
  23. DeviceType int8 `json:"deviceType,omitempty"`
  24. DefaultChoose string `json:"defaultChoose,omitempty"`
  25. OrderID string `json:"orderId,omitempty"`
  26. OrderCreateTime int64 `json:"orderCreateTime,omitempty"`
  27. OrderExpire int `json:"orderExpire,omitempty"`
  28. NotifyURL string `json:"notifyUrl,omitempty"`
  29. CreateIP string `json:"createIp,omitempty"`
  30. SignURL string `json:"signUrl,omitempty"`
  31. ShowTitle string `json:"showTitle,omitempty"`
  32. ShowContent string `json:"showContent,omitempty"`
  33. TraceID string `json:"traceId,omitempty"`
  34. Timestamp int64 `json:"timestamp,omitempty"`
  35. Version string `json:"version,omitempty"`
  36. SignType string `json:"signType,omitempty"`
  37. Sign string `json:"sign,omitempty"`
  38. ProductID string `json:"productId,omitempty"`
  39. PayAmount int32 `json:"payAmount,omitempty"`
  40. PlanID int32 `json:"planId,omitempty"`
  41. DisplayAccount string `json:"displayAccount,omitempty"`
  42. UID int64 `json:"uid,omitempty"`
  43. ServiceType int `json:"serviceType,omitempty"`
  44. OriginalAmount int32 `json:"originalAmount,omitempty"`
  45. ReturnURL string `json:"returnUrl,omitempty"`
  46. FeeType string `json:"feeType,omitempty"`
  47. SubscribeType int `json:"subscribeType,omitempty"`
  48. }
  49. // CreateOrderRet create order ret.
  50. type CreateOrderRet struct {
  51. PayParam map[string]interface{} `json:"pay_param"`
  52. Dprice float64 `json:"dprice"`
  53. Oprice float64 `json:"oprice"`
  54. CouponMoney float64 `json:"coupon_money"`
  55. UserIP string `json:"user_ip"`
  56. PID int64 `json:"p_id"`
  57. }
  58. // PayQrCode resp.
  59. type PayQrCode struct {
  60. CodeURL string `json:"codeUrl"`
  61. ExpiredTime int64 `json:"expiredTime"`
  62. }
  63. // PayQrCodeResp pay qr resp.
  64. type PayQrCodeResp struct {
  65. CodeURL string `json:"codeUrl"`
  66. ExpiredTime int64 `json:"expiredTime"`
  67. Amount float64 `json:"amount"`
  68. SaveAmount float64 `json:"saveAmount"`
  69. Tip string `json:"tip"`
  70. OrderNo string `json:"orderNo"`
  71. }
  72. // PayQrCodeRet pay qr resp.
  73. type PayQrCodeRet struct {
  74. PayQrCodeResp *PayQrCodeResp `json:"pay_qr_data"`
  75. Dprice float64 `json:"dprice"`
  76. CouponMoney float64 `json:"coupon_money"`
  77. UserIP string `json:"user_ip"`
  78. PID int64 `json:"p_id"`
  79. }