pay_data.go 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package kaya
  2. const (
  3. RESP_CODE_SUCCESS = "SUCCESS"
  4. RESP_CODE_FAIL = "FAIL"
  5. RESP_CODE_UNKNOWN = "UNKNOWN"
  6. RESP_CODE_NOTEXIST = "NOTEXIST"
  7. RESP_CODE_ERROR = "ERROR"
  8. TIME_FORMAT = "20060102150405"
  9. WITHDRAW_SUCCESS = "2"
  10. WITHDRAW_FAIL = "4"
  11. )
  12. // 代收下单
  13. type (
  14. pay_req struct {
  15. MerchantCode string `json:"merchantCode" form:"merchantCode"` // 唯一商户代码
  16. Method string `json:"method" form:"method"` // 银行类型
  17. OrderNum string `json:"orderNum" form:"orderNum"` // 这个号码对于商家来说应该是唯一的。平台不接受重复的号码。
  18. PayMoney int `json:"payMoney" form:"payMoney"` // 支付数量。只接受整数。
  19. ProductDetail string `json:"productDetail" form:"productDetail"` // 账单说明
  20. Name string `json:"name" form:"name"` // 当用户向 VA 付款时,此名称将显示在账单页面上
  21. Email string `json:"email" form:"email"` // 客户电子邮件
  22. Phone string `json:"phone" form:"phone"` // 用户电话号码
  23. NotifyUrl string `json:"notifyUrl" form:"notifyUrl"` // 当用户向 va 付款时,商家将在此 url 上收到通知
  24. ExpiryPeriod int `json:"expiryPeriod" form:"expiryPeriod"` // 以分钟为单位的订单/账单到期时间
  25. DateTime string `json:"dateTime" form:"dateTime"` // 格式 yyyyMMddHHmmss
  26. AppId string `json:"appId,omitempty" form:"appId,omitempty"` // 应用程序 ID。商家可以根据业务创建自己的应用程序。该字段是可选的。
  27. Sign string `json:"sign" form:"sign"`
  28. }
  29. pay_resp struct {
  30. PlatRespCode string `json:"platRespCode" form:"platRespCode"` // 结果代码: "SUCCESS" "FAIL" "UNKNOWN" "NOTEXIST" "ERROR"
  31. PlatRespMessage string `json:"platRespMessage" form:"platRespMessage"` // 响应代码说明
  32. PlatOrderNum string `json:"platOrderNum" form:"platOrderNum"` // 平台范围内的唯一订单号。
  33. OrderNum string `json:"orderNum" form:"orderNum"` // 商户范围内的唯一订单号。与请求正文中的 orderNum 相同。
  34. Method string `json:"method" form:"method"` // 银行类型
  35. Name string `json:"name" form:"name"` // 当用户向 VA 付款时,此名称将显示在账单页面上
  36. Email string `json:"email" form:"email"` // 客户电子邮件
  37. VaNumber string `json:"vaNumber" form:"vaNumber"` // VA账户
  38. PayMoney string `json:"payMoney" form:"payMoney"` // 与请求正文中的字段相同。
  39. PayFee string `json:"payFee" form:"payFee"` // 平台收取的费用
  40. ProductDetail string `json:"productDetail" form:"productDetail"` // 账单的描述。与请求正文中的字段相同。
  41. SourcePartnerName string `json:"sourcePartnerName" form:"sourcePartnerName"` // 收款人名称,请求参数method值为FT时返回
  42. PlatSign string `json:"platSign" form:"platSign"` // 加密的响应数据
  43. }
  44. )
  45. // 代收回调通知
  46. type payNotify struct {
  47. Code string `json:"code" form:"code"` // 00代表成功, 其他失败
  48. Email string `json:"email" form:"email"` // 邮箱
  49. Method string `json:"method" form:"method"` // 渠道code
  50. Msg string `json:"msg" form:"msg"` // 描述
  51. Name string `json:"name" form:"name"` // 名称
  52. OrderNum string `json:"orderNum" form:"orderNum"` // 商户订单号
  53. PayFee int `json:"payFee" form:"payFee"` // 手续费
  54. PayMoney int `json:"payMoney" form:"payMoney"` // va金额
  55. PlatOrderNum string `json:"platOrderNum" form:"platOrderNum"` // 平台订单号
  56. PlatSign string `json:"platSign" form:"platSign"` // 签名一致则代表是平台下发,否则不是
  57. VaNumber string `json:"vaNumber" form:"vaNumber"` // va number
  58. }