pay.go 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package model
  2. // PayCallbackMSG .
  3. type PayCallbackMSG struct {
  4. CustomerID int64 `json:"customerId"` //业务id
  5. ServiceType int64 `json:"serviceType"` //业务方业务类型
  6. TXID int64 `json:"txId"` //支付平台支付id
  7. OrderID string `json:"orderId"` //业务方订单id
  8. DeviceType int64 `json:"deviceType"` //支付设备渠道类型, 1 pc 2 webapp 3 app 4jsapi 5 server 6小程序支付 7聚合二维码支付
  9. PayStatus string `json:"payStatus"` //支付状态,FINISHED(交易成功)|SUCCESS(成功)|REFUND(退款中)|PAYING(支付中)|CLOSED(关闭)|NOT_PAY(未支付)|FAIL(支付失败)|WITHDRAW(支付撤销) 支付回调暂时仅通知 SUCCESS, 其他状态不通知。
  10. PayChannelID int64 `json:"payChannelId"` //支付渠道id, 用户实际选择的支付实体渠道。(payChannel 代表笼统的微信、支付宝等第三方渠道, payChannelId 代表实际签约的实体渠道 id)
  11. PayChannel string `json:"payChannel"` //支付渠道,alipay(支付宝)、wechat(微信) ,paypal(paypal), iap(In App Purchase)、qpay(QQ支付)、huabei(花呗支付)、ali_bank(网银支付)、bocom(交行信用卡支付)、bp(B币支付)
  12. PayChannelName string `json:"payChannelName"` //支付渠道名称 如支付宝、微信、PayPal、IAP、QQ、花呗、网银支付、B币支付
  13. PayAccount string `json:"payAccount"` //支付渠道账号
  14. PayBank string `json:"payBank"` //支付银行
  15. FeeType string `json:"feeType"` //货币类型,默认人民币CNY
  16. PayAmount int64 `json:"payAmount"` //实际支付金额
  17. PayMsgContent string `json:"payMsgContent"` //支付返回的额外信息,json格式字符串,比如:payCounponAmount:使用B币券金额(单位 分),payBpAmount:B币金额(分)
  18. ExtData string `json:"extData"` //支付请求时的扩展json串
  19. ExpiredTime int64 `json:"expiredTime"` //IAP代扣过期时间,毫秒值,业务方需要判断expiredTime的值,因为重复通知返回的expiredTime是一样的
  20. OrderPayTime string `json:"orderPayTime"` //订单支付时间,格式:0000-00-00 00:00:00
  21. Timestamp string `json:"timestamp"` //请求时间戳,毫秒
  22. TraceID string `json:"traceId"` //追踪id
  23. SignType string `json:"signType"` //签名类型 ,默认MD5
  24. Sign string `json:"sign"` //签名(应当支持支付平台这边新增返回字段)
  25. }
  26. // IsSuccess 是否为成功支付内容
  27. func (p *PayCallbackMSG) IsSuccess() bool {
  28. return p.PayStatus == PayStateFinished || p.PayStatus == PayStateSuccess
  29. }
  30. // PayRefundCallbackMSG .
  31. type PayRefundCallbackMSG struct {
  32. CustomerID int64 `json:"customerId"` //业务id
  33. OrderID string `json:"orderId"` //业务方订单id
  34. TXID int64 `json:"txId"` //支付平台支付id
  35. List []PayRefundCallbackEle `json:"batchRefundList"` //
  36. }
  37. // PayRefundCallbackEle .
  38. type PayRefundCallbackEle struct {
  39. RefundStatus string `json:"refundStatus"`
  40. RefundStatusDesc string `json:"refundStatusDesc"`
  41. RefundEndTime string `json:"refundEndTime"`
  42. }
  43. // IsSuccess 是否为成功退款内容
  44. func (p *PayRefundCallbackEle) IsSuccess() bool {
  45. return p.RefundStatus == PayStateRefund
  46. }
  47. // RechargeShellCallbackMSG .
  48. type RechargeShellCallbackMSG struct {
  49. CustomerID int64 `json:"customerId"`
  50. Status string `json:"status"`
  51. ThirdOrderNo string `json:"thirdOrderNo"`
  52. MID int64 `json:"mid"`
  53. }
  54. // PayQuery .
  55. type PayQuery struct {
  56. Orders []*PayOrder `json:"orders"`
  57. }
  58. // PayOrder .
  59. type PayOrder struct {
  60. TXID int64 `json:"txId"`
  61. OrderID string `json:"orderId"`
  62. PayStatus string `json:"payStatus"`
  63. PayStatusDesc string `json:"payStatusDesc"`
  64. FailReason string `json:"failReason"`
  65. }