pay_data.go 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. package lapay
  2. const (
  3. PAY_TYPE = "EGYPT_PAY" // 支付类型:埃及,默认是INTERNATIONAL_CARD_PAY国际卡支付
  4. PAY_MODEL = "PAYMOB_WALLET" // 支付模式:Paymob Wallet 钱包
  5. PAY_MODEL2 = "CARDPAYMENT" // 支付模式:(埃及收单)银行卡支付,所以默认国际卡
  6. CARD_TYPE = "MASTERCARD" // payType为“国际卡支付”时需要:【VISA、MASTERCARD、JCB、AMEX、UPI、DISCOVER、MIR、DinersClub、RuPay、BCcard、DinaCard、WEB】 备注:为WEB时,卡信息非必传
  7. )
  8. type ret struct {
  9. Code string `json:"code" form:"code"` // 响应 ‘SUCCESS’
  10. Msg string `json:"msg" form:"msg"` // 响应 ‘Success’
  11. }
  12. // 文档格式
  13. // R 该参数为必填项
  14. // O 参数可选
  15. // C 该参数在一定条件下出现(有条件)
  16. // Y/N 签署
  17. // 下单接口(网关模式)
  18. type (
  19. payReqData struct {
  20. MerchantNo string `json:"merchantNo" form:"merchantNo"` // R Y 系统分配的唯一标识符
  21. MerchantOrderNo string `json:"merchantOrderNo" form:"merchantOrderNo"` // R Y 商户订单号
  22. TimeStamp string `json:"timeStamp" form:"timeStamp"` // R Y 标准时间 (GMT) 的当前时间戳。见备注 【Timestamp】
  23. OrderAmount string `json:"orderAmount" form:"orderAmount"` // R Y 订单金额,正整数, 单位:分
  24. Currency string `json:"currency" form:"currency"` // R Y 币种,见备注 【币种】
  25. ProductDetail string `json:"productDetail" form:"productDetail"` // R Y 商品详情
  26. CallbackUrl string `json:"callbackUrl" form:"callbackUrl"` // R Y 系统异步回调地址
  27. NoticeUrl string `json:"noticeUrl" form:"noticeUrl"` // R N 页面通知地址
  28. CustomParam string `json:"customParam" form:"customParam"` // O N 当我们需要重定向到 noticeUrl 时,会将此参数返回给您,最多 500 位
  29. Country string `json:"country" form:"country"` // C Y 非必传,国家
  30. City string `json:"city" form:"city"` // C Y 非必传,市
  31. Phone string `json:"phone" form:"phone"` // C Y 非必传,手机号
  32. Sign string `json:"sign" form:"sign"` // R N 签名,根据签名步骤生成加密字符串,并使用加密方式[RsaUtil. Sign] .
  33. Version string `json:"version" form:"version"` // R N 1
  34. MerType string `json:"merType" form:"merType"` // C N 非必传,值为0/1,默认为0,当值为1时,收银台phone、address、city、country、state、postCode字段不收集,反之需收集
  35. }
  36. )
  37. // api下单
  38. type (
  39. respApiReturn struct {
  40. Meta respApiMeta `json:"meta" form:"meta"`
  41. Data respApiData `json:"data" form:"data"`
  42. }
  43. respApiMeta struct {
  44. Success bool `json:"success" form:"success"`
  45. Code string `json:"code" form:"code"`
  46. Message string `json:"message" form:"message"`
  47. }
  48. respApiData struct {
  49. MerchantNo string `json:"merchantNo" form:"MerchantNo"` // Y 系统中商户的唯一标识
  50. MerchantOrderNo string `json:"merchantOrderNo" form:"MerchantOrderNo"` // Y 自定义系统订单号(不能重复,否则会被拒绝)
  51. OrderNo string `json:"orderNo" form:"OrderNo"` // Y 业务订单号,系统订单的唯一标识
  52. Currency string `json:"currency" form:"Currency"` // Y 币种,见备注 【币种】
  53. OrderAmount int `json:"orderAmount" form:"OrderAmount"` // Y 订单金额,正整数,单位:分
  54. OrderFee int `json:"orderFee" form:"OrderFee"` // Y 订单费用金额,正整数,单位:分
  55. PayModel string `json:"payModel" form:"PayModel"` // Y 见备注 【PayModel】
  56. OrderStatus string `json:"orderStatus" form:"OrderStatus"` // Y 订单状态,见备注 【订单状态】
  57. WebUrl string `json:"webUrl" form:"WebUrl"` // Y 需要访问/重定向的url,当pauType为“印尼支付”时,注意:1、印尼支付中直连(payModel为DIRECT),此字段返回VA ,具体情况以实际沟通为准
  58. Page string `json:"page" form:"Page"` // N 显示给用户的 html 页面
  59. OrderTime int `json:"orderTime" form:"OrderTime"` // N N
  60. FinishTime int `json:"finishTime" form:"FinishTime"` // N
  61. Sign string `json:"sign" form:"Sign"` // N 该字段记录了交易通道的返回信息,例如:descriptor
  62. Remark string `json:"remark" form:"Remark"` // Y 签名,根据签名步骤生成加密字符串,使用加密方式 [RsaUtil. Sign] .
  63. }
  64. // 入参
  65. inputParameter struct {
  66. OrderID string `json:"orderId" form:"orderId" desc:"订单号"`
  67. PayModel string `json:"payModel" form:"payModel" desc:"支付模式"`
  68. Price float64 `json:"price" form:"price" desc:"价格"`
  69. Tel string `json:"tel" form:"tel" desc:"电话"`
  70. Country string `json:"country" form:"country" desc:"国家"`
  71. Email string `json:"email" form:"email" desc:"邮箱"`
  72. Name string `json:"name" form:"name" desc:"姓名"`
  73. CardNum string `json:"cardNum" form:"cardNum" desc:"银行卡号"`
  74. IpAddress string `json:"ipAddress" form:"ipAddress" desc:"IP地址"`
  75. Currency string `json:"currency" form:"currency" desc:"币种"`
  76. T string `json:"t" form:"t" desc:"当前时间,单位:毫秒"`
  77. }
  78. )
  79. // 回调通知
  80. type (
  81. payNotifyData struct {
  82. Msg string `json:"msg" form:"msg"`
  83. FinishTime int64 `json:"finishTime" form:"finishTime"`
  84. OrderNo string `json:"orderNo" form:"orderNo"` // Y 业务订单号,系统订单的唯一标识
  85. Sign string `json:"sign" form:"sign"` // N 签名,根据签名步骤生成加密字符串,使用加密方式 [RsaUtil. Sign] .
  86. OrderFee int `json:"orderFee" form:"orderFee"` // Y 手续费,正整数,单位:分
  87. OrderStatus string `json:"orderStatus" form:"orderStatus"` // Y 订单状态,见备注 【订单状态】
  88. PayModel string `json:"payModel" form:"payModel"` // Y
  89. MerchantOrderNo string `json:"merchantOrderNo" form:"merchantOrderNo"` // Y 自定义系统订单号(不能重复,否则会被拒绝)
  90. OrderAmount int `json:"orderAmount" form:"orderAmount"` // Y 订单金额,正整数,单位:分
  91. PayType string `json:"payType" form:"payType"` // Y
  92. OrderTime int64 `json:"orderTime" form:"orderTime"`
  93. Currency string `json:"currency" form:"currency"` // Y 币种,见备注 【币种】
  94. MerchantNo string `json:"merchantNo" form:"merchantNo"` // Y 系统中商户的唯一标识
  95. }
  96. )