蛋蛋星球-制度模式
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

240 lines
16 KiB

  1. package lakala
  2. type ErrorCode struct {
  3. ReturnCode string `json:"return_code,omitempty"` // 执行结果
  4. ResultCode string `json:"result_code,omitempty"` // SUCCESS表示成功
  5. ReturnMsg string `json:"return_msg,omitempty"` // 返回错误信息
  6. }
  7. type ExchangeRateRsp struct {
  8. ErrorCode
  9. WechatRate float64 `json:"wechat_rate,omitempty"` // 微信汇率
  10. AlipayRetailRate float64 `json:"alipay_retail_rate,omitempty"` // 支付宝线下渠道汇率
  11. AlipayOnlineRate float64 `json:"alipay_online_rate,omitempty"` // 支付宝线上渠道汇率
  12. }
  13. type EncryptRsp struct {
  14. ErrorCode
  15. PublicKey string `json:"public_key,omitempty"` // 公钥信息
  16. EncryptType string `json:"encrypt_type,omitempty"` // 加密类型(目前仅支持RSA)
  17. KeyId string `json:"key_id,omitempty"` // 密钥ID
  18. Expire int64 `json:"expire,omitempty"` // 过期时间(13位毫秒时间戳)
  19. }
  20. type OrdersRsp struct {
  21. ErrorCode
  22. OrderId string `json:"order_id,omitempty"` // Lakala订单ID
  23. PartnerOrderId string `json:"partner_order_id,omitempty"` // 商户订单ID
  24. ChannelOrderId string `json:"channel_order_id,omitempty"` // 渠道方(微信、支付宝等)流水号ID,只有支付成功时返回
  25. TotalFee int `json:"total_fee,omitempty"` // 订单金额,单位是货币最小面值单位
  26. RealFee int `json:"real_fee,omitempty"` // 实际支付金额,单位是货币最小面值单位(目前等于订单金额,为卡券预留)
  27. Rate float64 `json:"rate,omitempty"` // 交易时使用的汇率,1JPY=?CNY,只有支付成功时返回,若渠道未提供汇率,会返回1.0
  28. CustomerId string `json:"customer_id,omitempty"` // 客户ID,若渠道未提供则不存在
  29. PayTime string `json:"pay_time,omitempty"` // 支付时间(yyyy-MM-dd HH:mm:ss,GMT+9),只有支付成功时返回
  30. CreateTime string `json:"create_time,omitempty"` // 订单创建时间(最新订单为准)(yyyy-MM-dd HH:mm:ss,GMT+9)
  31. Currency string `json:"currency,omitempty"` // 币种,通常为JPY
  32. Channel string `json:"channel,omitempty"` // 支付渠道 Alipay|支付宝、Wechat|微信、AlipayOnline|支付宝线上、Alipay+、日系QR*、UnionPay|银联,若订单未确定渠道则不返回
  33. PayType string `json:"pay_type,omitempty"` // 支付钱包类型(日系QR* /Alipay+存在)
  34. OrderDescription string `json:"order_description,omitempty"` // 备注
  35. ChannelErrorCode string `json:"channel_error_code,omitempty"` // 渠道错误码,订单提交失败、支付失败或已关闭时存在
  36. ChannelErrorMessage string `json:"channel_error_message,omitempty"` // 渠道错误描述,订单提交失败、支付失败或已关闭时存在
  37. MerchantAppId string `json:"merchant_app_id,omitempty"` // 小程序/开放平台APPID,微信小程序或微信SDK订单且支付完成时存在
  38. MerchantCustomerId string `json:"merchant_customer_id,omitempty"` // 小程序关联消费者openid,微信小程序或微信SDK订单且支付完成时存在
  39. }
  40. type RefundRsp struct {
  41. ErrorCode
  42. RefundId string `json:"refund_id,omitempty"` // Lakala退款单号
  43. PartnerRefundId string `json:"partner_refund_id,omitempty"` // 商户提交的退款单号
  44. Amount int `json:"amount,omitempty"` // 退款金额,单位是货币最小单位
  45. Currency string `json:"currency,omitempty"` // 币种,通常为JPY
  46. }
  47. type OrderListRsp struct {
  48. ErrorCode
  49. Data []*OrderData `json:"data,omitempty"` // 订单列表
  50. Pagination Pagination `json:"pagination,omitempty"` // 分页信息
  51. Analysis Analysis `json:"analysis,omitempty"` // 分析信息
  52. }
  53. type OrderData struct {
  54. OrderId string `json:"order_id,omitempty"` // Lakala订单ID
  55. PartnerOrderId string `json:"partner_order_id,omitempty"` // 商户订单ID
  56. TotalFee int `json:"total_fee,omitempty"` // 订单金额,单位是货币最小面值单位
  57. RealFee int `json:"real_fee,omitempty"` // 实际支付金额,单位是货币最小面值单位(目前等于订单金额,为卡券预留)
  58. Channel string `json:"channel,omitempty"` // 支付渠道 Alipay|支付宝、Wechat|微信、AlipayOnline|支付宝线上、Alipay+、日系QR*、UnionPay|银联,若订单未确定渠道则不返回
  59. Currency string `json:"currency,omitempty"` // 币种,通常为JPY
  60. PayTime string `json:"pay_time,omitempty"` // 支付时间(yyyy-MM-dd HH:mm:ss,GMT+9),只有支付成功时返回
  61. CreateTime string `json:"create_time,omitempty"` // 订单创建时间(最新订单为准)(yyyy-MM-dd HH:mm:ss,GMT+9)
  62. Status string `json:"status,omitempty"` // 订单状态
  63. OrderBody string `json:"order_body,omitempty"` // 订单标题
  64. Gateway string `json:"gateway,omitempty"` // 订单模式
  65. PartnerCode string `json:"partner_code,omitempty"` // 商户编码
  66. PartnerName string `json:"partner_name,omitempty"` // 商户名称
  67. RefundFee string `json:"refund_fee,omitempty"` // 当前订单退款金额,货币最小单位
  68. }
  69. type Pagination struct {
  70. Page int `json:"page,omitempty"` // 当前页码
  71. Limit int `json:"limit,omitempty"` // 每页条数
  72. TotalCount int `json:"totalCount,omitempty"` // 总条数
  73. TotalPages int `json:"totalPages,omitempty"` // 总页数
  74. }
  75. type Analysis struct {
  76. OrderCount int `json:"order_count,omitempty"` // 支付成功订单数(包含有退款订单)
  77. TotalFee int `json:"total_fee,omitempty"` // 成交订单总额,货币最小单位
  78. RealFee int `json:"real_fee,omitempty"` // 支付总额,货币最小单位
  79. }
  80. type TransactionListRsp struct {
  81. ErrorCode
  82. TransactionCount int `json:"transaction_count,omitempty"` // 流水总条目
  83. OrderCount int `json:"order_count,omitempty"` // 付款单数
  84. RefundCount int `json:"refund_count,omitempty"` // 退款单数
  85. Transactions []*Transaction `json:"transactions,omitempty"` // 流水列表
  86. }
  87. type Transaction struct {
  88. TransactionTime string `json:"transaction_time,omitempty"` // 交易时间,格式yyyyMMddHHmmss,GMT+9
  89. OrderId string `json:"order_id,omitempty"` // Lakala订单ID
  90. PartnerOrderId string `json:"partner_order_id,omitempty"` // 商户订单ID
  91. ChannelOrderId string `json:"channel_order_id,omitempty"` // 渠道方(微信、支付宝等)流水号ID,只有支付成功时返回
  92. RefundId string `json:"refund_id,omitempty"` // Lakala退款单号
  93. PartnerRefundId string `json:"partner_refund_id,omitempty"` // 商户提交的退款单号
  94. Gateway string `json:"gateway,omitempty"` // 下单接口
  95. Channel string `json:"channel,omitempty"` // 支付渠道 Alipay|支付宝、Wechat|微信、AlipayOnline|支付宝线上、Alipay+、日系QR*、UnionPay|银联,若订单未确定渠道则不返回
  96. Type string `json:"type,omitempty"` // 流水类型
  97. Currency string `json:"currency,omitempty"` // 币种,通常为JPY
  98. TotalAmount int `json:"total_amount,omitempty"` // 订单总金额,单位是货币最小单位
  99. InputAmount int `json:"input_amount,omitempty"` // 订单输入金额,单位是货币最小单位
  100. CustomerPaymentAmount int `json:"customer_payment_amount,omitempty"` // 客户实际支付金额,单位是货币最小单位
  101. SettleAmount int `json:"settle_amount,omitempty"` // 结算金额,币种为JPY,单位是货币最小单位
  102. SurchargeRate string `json:"surcharge_rate,omitempty"` // 手续费费率(x%)
  103. Surcharge int `json:"surcharge,omitempty"` // 手续费金额,单位是JPY分
  104. TransferAmount int `json:"transfer_amount,omitempty"` // 打款金额,单位是JPY分
  105. ExchangeRate float64 `json:"exchange_rate,omitempty"` // 使用汇率
  106. Remark string `json:"remark,omitempty"` // 备注
  107. }
  108. type SettlementsRsp struct {
  109. ErrorCode
  110. SettleFrom string `json:"settle_from,omitempty"`
  111. SettleTo string `json:"settle_to,omitempty"`
  112. SettleDays string `json:"settle_days,omitempty"`
  113. TransactionCount int `json:"transaction_count,omitempty"` // 流水总条目
  114. OrderCount int `json:"order_count,omitempty"` // 付款单数
  115. RefundCount int `json:"refund_count,omitempty"` // 退款单数
  116. TotalCredit int `json:"total_credit,omitempty"`
  117. TotalDebit int `json:"total_debit,omitempty"`
  118. TotalSurcharge int `json:"total_surcharge,omitempty"`
  119. TotalTransfer int `json:"total_transfer,omitempty"`
  120. Transactions []*Transaction `json:"transactions,omitempty"` // 流水列表
  121. }
  122. type ConsultPaymentRsp struct {
  123. ErrorCode
  124. SubChannels []*SubChannel `json:"sub_channels,omitempty"`
  125. }
  126. type SubChannel struct {
  127. SubChannel string `json:"sub_channel,omitempty"`
  128. SubChannelName string `json:"sub_channel_name,omitempty"`
  129. Logo string `json:"logo,omitempty"`
  130. }
  131. type GetCouponRsp struct {
  132. Res string `json:"res,omitempty"`
  133. AvailableTime string `json:"available_time,omitempty"`
  134. VoucherNum string `json:"voucher_num,omitempty"`
  135. EndTime string `json:"end_time,omitempty"`
  136. Discount string `json:"discount,omitempty"`
  137. Title string `json:"title,omitempty"`
  138. State string `json:"state,omitempty"`
  139. Type string `json:"type,omitempty"`
  140. IsValidNow string `json:"is_valid_now,omitempty"`
  141. AvailableWeek string `json:"available_week,omitempty"`
  142. BeginAmount string `json:"begin_amount,omitempty"`
  143. }
  144. type PaymentRsp struct {
  145. ErrorCode
  146. Channel string `json:"channel,omitempty"` // 支付渠道 允许值: Alipay, Alipay+, Wechat, UnionPay
  147. PartnerCode string `json:"partner_code,omitempty"` // 商户编码
  148. FullName string `json:"full_name,omitempty"` // 商户注册全名
  149. PartnerName string `json:"partner_name,omitempty"` // 商户名称
  150. OrderId string `json:"order_id,omitempty"` // Lakala订单ID
  151. PartnerOrderId string `json:"partner_order_id,omitempty"` // 商户订单ID
  152. CodeUrl string `json:"code_url,omitempty"` // 支付码链接,商户可以据此自行生成二维码
  153. QrcodeImg string `json:"qrcode_img,omitempty"` // Base64封装的二维码图片,可直接作为img的src属性
  154. PayUrl string `json:"pay_url,omitempty"` // 跳转URL
  155. SdkParams string `json:"sdk_params,omitempty"` // NativeJsapi、小程序支付所需参数(Json字符串)
  156. }
  157. type RetailPayRsp struct {
  158. ErrorCode
  159. OrderId string `json:"order_id,omitempty"` // Lakala订单ID
  160. PartnerOrderId string `json:"partner_order_id,omitempty"` // 商户订单ID
  161. TotalFee int `json:"total_fee,omitempty"` // 订单金额,单位是货币最小面值单位
  162. RealFee int `json:"real_fee,omitempty"` // 实际支付金额,单位是货币最小面值单位(目前等于订单金额,为卡券预留)
  163. PayTime string `json:"pay_time,omitempty"` // 支付时间(yyyy-MM-dd HH:mm:ss,GMT+9),只有支付成功时返回
  164. CreateTime string `json:"create_time,omitempty"` // 订单创建时间(最新订单为准)(yyyy-MM-dd HH:mm:ss,GMT+9)
  165. Currency string `json:"currency,omitempty"` // 币种 (JPY/CNY)
  166. Channel string `json:"channel,omitempty"` // 支付渠道 Alipay|支付宝、Wechat|微信、AlipayOnline|支付宝线上、Alipay+、日系QR*、UnionPay|银联,若订单未确定渠道则不返回
  167. OrderDescription string `json:"order_description,omitempty"` // 备注
  168. ChannelErrorCode string `json:"channel_error_code,omitempty"` // 渠道错误码,订单提交失败、支付失败或已关闭时存在
  169. ChannelErrorMessage string `json:"channel_error_message,omitempty"` // 渠道错误描述,订单提交失败、支付失败或已关闭时存在
  170. }
  171. type ReportRsp struct {
  172. ErrorCode
  173. Reports []*ReportSub `json:"reports,omitempty"`
  174. }
  175. type ReportSub struct {
  176. ReportId string `json:"report_id,omitempty"` // Lakala海关单号
  177. PartnerReportId string `json:"partner_report_id,omitempty"`
  178. Status string `json:"status,omitempty"`
  179. Channel string `json:"channel,omitempty"`
  180. ChannelReportId string `json:"channel_report_id,omitempty"`
  181. PartnerSubReportId string `json:"partner_sub_report_id,omitempty"`
  182. ChannelSubReportId string `json:"channel_sub_report_id,omitempty"`
  183. Customs string `json:"customs,omitempty"`
  184. MchCustomsNo string `json:"mch_customs_no,omitempty"`
  185. MchCustomsName string `json:"mch_customs_name,omitempty"`
  186. OrderId string `json:"order_id,omitempty"`
  187. TransactionId string `json:"transaction_id,omitempty"`
  188. OrderCurrency string `json:"order_currency,omitempty"`
  189. OrderAmount int `json:"order_amount,omitempty"`
  190. SubOrderFee int `json:"sub_order_fee,omitempty"`
  191. SubProductFee int `json:"sub_product_fee,omitempty"`
  192. SubTransportFee int `json:"sub_transport_fee,omitempty"`
  193. CreationDate string `json:"creation_date,omitempty"`
  194. LastUpdateDate string `json:"last_update_date,omitempty"`
  195. VerifyDepartment string `json:"verify_department,omitempty"`
  196. VerifyDepartmentTradeId string `json:"verify_department_trade_id,omitempty"`
  197. ErrorCode string `json:"error_code,omitempty"`
  198. ErrorMsg string `json:"error_msg,omitempty"`
  199. }
  200. // CommonApi - 付款通知
  201. type NotifyRequest struct {
  202. Time string `json:"time,omitempty"` // UTC时间戳
  203. NonceStr string `json:"nonce_str,omitempty"` // 随机字符串
  204. Sign string `json:"sign,omitempty"` // 签名
  205. PartnerOrderId string `json:"partner_order_id,omitempty"` // 商户订单ID
  206. OrderId string `json:"order_id,omitempty"` // Lakala订单ID
  207. ChannelOrderId string `json:"channel_order_id,omitempty"` // 渠道方(微信、支付宝等)流水号ID
  208. TotalFee int `json:"total_fee,omitempty"` // 订单金额,单位是货币最小面值单位
  209. RealFee int `json:"real_fee,omitempty"` // 实际支付金额,单位是货币最小面值单位(目前等于订单金额,为卡券预留)
  210. Rate float64 `json:"rate,omitempty"` // 交易时使用的汇率,1JPY=?CNY,只有支付成功时返回,若渠道未提供汇率,会返回1.0
  211. CustomerId string `json:"customer_id,omitempty"` // 客户ID
  212. Currency string `json:"currency,omitempty"` // 币种 (JPY/CNY)
  213. Channel string `json:"channel,omitempty"` // 支付渠道 Alipay|支付宝、Wechat|微信、AlipayOnline|支付宝线上、Alipay+、日系QR*、UnionPay|银联,若订单未确定渠道则不返回
  214. CreateTime string `json:"create_time,omitempty"` // 订单创建时间(最新订单为准)(yyyy-MM-dd HH:mm:ss,GMT+9)
  215. PayTime string `json:"pay_time,omitempty"` // 支付时间(yyyy-MM-dd HH:mm:ss,GMT+9),只有支付成功时返回
  216. System string `json:"system,omitempty"`
  217. PaymentId string `json:"payment_id,omitempty"`
  218. PayType string `json:"pay_type,omitempty"` // 支付钱包类型(日系QR* /Alipay+存在)
  219. }