alipay_rsp.go 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473
  1. package gopay
  2. type AliPayNotifyRequest struct {
  3. NotifyTime string `json:"notify_time,omitempty"`
  4. NotifyType string `json:"notify_type,omitempty"`
  5. NotifyId string `json:"notify_id,omitempty"`
  6. AppId string `json:"app_id,omitempty"`
  7. Charset string `json:"charset,omitempty"`
  8. Version string `json:"version,omitempty"`
  9. SignType string `json:"sign_type,omitempty"`
  10. Sign string `json:"sign,omitempty"`
  11. AuthAppId string `json:"auth_app_id,omitempty"`
  12. TradeNo string `json:"trade_no,omitempty"`
  13. OutTradeNo string `json:"out_trade_no,omitempty"`
  14. OutBizNo string `json:"out_biz_no,omitempty"`
  15. BuyerId string `json:"buyer_id,omitempty"`
  16. BuyerLogonId string `json:"buyer_logon_id,omitempty"`
  17. SellerId string `json:"seller_id,omitempty"`
  18. SellerEmail string `json:"seller_email,omitempty"`
  19. TradeStatus string `json:"trade_status,omitempty"`
  20. TotalAmount string `json:"total_amount,omitempty"`
  21. ReceiptAmount string `json:"receipt_amount,omitempty"`
  22. InvoiceAmount string `json:"invoice_amount,omitempty"`
  23. BuyerPayAmount string `json:"buyer_pay_amount,omitempty"`
  24. PointAmount string `json:"point_amount,omitempty"`
  25. RefundFee string `json:"refund_fee,omitempty"`
  26. Subject string `json:"subject,omitempty"`
  27. Body string `json:"body,omitempty"`
  28. GmtCreate string `json:"gmt_create,omitempty"`
  29. GmtPayment string `json:"gmt_payment,omitempty"`
  30. GmtRefund string `json:"gmt_refund,omitempty"`
  31. GmtClose string `json:"gmt_close,omitempty"`
  32. FundBillList []fundBillListInfo `json:"fund_bill_list,omitempty"`
  33. PassbackParams string `json:"passback_params,omitempty"`
  34. VoucherDetailList []voucherDetailListInfo `json:"voucher_detail_list,omitempty"`
  35. }
  36. type fundBillListInfo struct {
  37. Amount string `json:"amount,omitempty"`
  38. FundChannel string `json:"fundChannel,omitempty"` //异步通知里是 fundChannel
  39. BankCode string `json:"bank_code,omitempty"`
  40. RealAmount string `json:"real_amount,omitempty"`
  41. }
  42. type voucherDetailListInfo struct {
  43. Id string `json:"id,omitempty"`
  44. Name string `json:"name,omitempty"`
  45. Type string `json:"type,omitempty"`
  46. Amount string `json:"amount,omitempty"`
  47. MerchantContribute string `json:"merchant_contribute,omitempty"`
  48. OtherContribute string `json:"other_contribute,omitempty"`
  49. Memo string `json:"memo,omitempty"`
  50. TemplateId string `json:"template_id,omitempty"`
  51. PurchaseBuyerContribute string `json:"purchase_buyer_contribute,omitempty"`
  52. PurchaseMerchantContribute string `json:"purchase_merchant_contribute,omitempty"`
  53. PurchaseAntContribute string `json:"purchase_ant_contribute,omitempty"`
  54. }
  55. type AliPayUserPhone struct {
  56. Code string `json:"code,omitempty"`
  57. Msg string `json:"msg,omitempty"`
  58. SubCode string `json:"subCode,omitempty"`
  59. SubMsg string `json:"subMsg,omitempty"`
  60. Mobile string `json:"mobile,omitempty"`
  61. }
  62. //===================================================
  63. type AliPayTradePayResponse struct {
  64. AliPayTradePayResponse payResponse `json:"alipay_trade_pay_response,omitempty"`
  65. SignData string `json:"-"`
  66. Sign string `json:"sign"`
  67. }
  68. type payResponse struct {
  69. Code string `json:"code,omitempty"`
  70. Msg string `json:"msg,omitempty"`
  71. SubCode string `json:"sub_code,omitempty"`
  72. SubMsg string `json:"sub_msg,omitempty"`
  73. TradeNo string `json:"trade_no,omitempty"`
  74. OutTradeNo string `json:"out_trade_no,omitempty"`
  75. BuyerLogonId string `json:"buyer_logon_id,omitempty"`
  76. SettleAmount string `json:"settle_amount,omitempty"`
  77. PayCurrency string `json:"pay_currency,omitempty"`
  78. PayAmount string `json:"pay_amount,omitempty"`
  79. SettleTransRate string `json:"settle_trans_rate,omitempty"`
  80. TransPayRate string `json:"trans_pay_rate,omitempty"`
  81. TotalAmount string `json:"total_amount,omitempty"`
  82. TransCurrency string `json:"trans_currency,omitempty"`
  83. SettleCurrency string `json:"settle_currency,omitempty"`
  84. ReceiptAmount string `json:"receipt_amount,omitempty"`
  85. BuyerPayAmount string `json:"buyer_pay_amount,omitempty"`
  86. PointAmount string `json:"point_amount,omitempty"`
  87. InvoiceAmount string `json:"invoice_amount,omitempty"`
  88. GmtPayment string `json:"gmt_payment,omitempty"`
  89. FundBillList []struct {
  90. FundChannel string `json:"fund_channel,omitempty"`
  91. BankCode string `json:"bank_code,omitempty"`
  92. Amount string `json:"amount,omitempty"`
  93. RealAmount string `json:"real_amount,omitempty"`
  94. } `json:"fund_bill_list"`
  95. CardBalance string `json:"card_balance,omitempty"`
  96. StoreName string `json:"store_name,omitempty"`
  97. BuyerUserId string `json:"buyer_user_id,omitempty"`
  98. DiscountGoodsDetail string `json:"discount_goods_detail,omitempty"`
  99. VoucherDetailList []struct {
  100. Id string `json:"id,omitempty"`
  101. Name string `json:"name,omitempty"`
  102. Type string `json:"type,omitempty"`
  103. Amount string `json:"amount,omitempty"`
  104. MerchantContribute string `json:"merchant_contribute,omitempty"`
  105. OtherContribute string `json:"other_contribute,omitempty"`
  106. Memo string `json:"memo,omitempty"`
  107. TemplateId string `json:"template_id,omitempty"`
  108. PurchaseBuyerContribute string `json:"purchase_buyer_contribute,omitempty"`
  109. PurchaseMerchantContribute string `json:"purchase_merchant_contribute,omitempty"`
  110. PurchaseAntContribute string `json:"purchase_ant_contribute,omitempty"`
  111. } `json:"voucher_detail_list"`
  112. AdvanceAmount string `json:"advance_amount,omitempty"`
  113. AuthTradePayMode string `json:"auth_trade_pay_mode,omitempty"`
  114. ChargeAmount string `json:"charge_amount,omitempty"`
  115. ChargeFlags string `json:"charge_flags,omitempty"`
  116. SettlementId string `json:"settlement_id,omitempty"`
  117. BusinessParams string `json:"business_params,omitempty"`
  118. BuyerUserType string `json:"buyer_user_type,omitempty"`
  119. MdiscountAmount string `json:"mdiscount_amount,omitempty"`
  120. DiscountAmount string `json:"discount_amount,omitempty"`
  121. BuyerUserName string `json:"buyer_user_name,omitempty"`
  122. }
  123. //===================================================
  124. type AliPayTradeQueryResponse struct {
  125. AliPayTradeQueryResponse queryResponse `json:"alipay_trade_query_response,omitempty"`
  126. SignData string `json:"-"`
  127. Sign string `json:"sign"`
  128. }
  129. type queryResponse struct {
  130. Code string `json:"code,omitempty"`
  131. Msg string `json:"msg,omitempty"`
  132. SubCode string `json:"sub_code,omitempty"`
  133. SubMsg string `json:"sub_msg,omitempty"`
  134. TradeNo string `json:"trade_no,omitempty"`
  135. OutTradeNo string `json:"out_trade_no,omitempty"`
  136. BuyerLogonId string `json:"buyer_logon_id,omitempty"`
  137. TradeStatus string `json:"trade_status,omitempty"`
  138. TotalAmount string `json:"total_amount,omitempty"`
  139. TransCurrency string `json:"trans_currency,omitempty"`
  140. SettleCurrency string `json:"settle_currency,omitempty"`
  141. SettleAmount string `json:"settle_amount,omitempty"`
  142. PayCurrency string `json:"pay_currency,omitempty"`
  143. PayAmount string `json:"pay_amount,omitempty"`
  144. SettleTransRate string `json:"settle_trans_rate,omitempty"`
  145. TransPayRate string `json:"trans_pay_rate,omitempty"`
  146. BuyerPayAmount string `json:"buyer_pay_amount,omitempty"`
  147. PointAmount string `json:"point_amount,omitempty"`
  148. InvoiceAmount string `json:"invoice_amount,omitempty"`
  149. SendPayDate string `json:"send_pay_date,omitempty"`
  150. ReceiptAmount string `json:"receipt_amount,omitempty"`
  151. StoreId string `json:"store_id,omitempty"`
  152. TerminalId string `json:"terminal_id,omitempty"`
  153. FundBillList []struct {
  154. FundChannel string `json:"fund_channel,omitempty"`
  155. BankCode string `json:"bank_code,omitempty"`
  156. Amount string `json:"amount,omitempty"`
  157. RealAmount string `json:"real_amount,omitempty"`
  158. } `json:"fund_bill_list"`
  159. StoreName string `json:"store_name,omitempty"`
  160. BuyerUserId string `json:"buyer_user_id,omitempty"`
  161. ChargeAmount string `json:"charge_amount,omitempty"`
  162. ChargeFlags string `json:"charge_flags,omitempty"`
  163. SettlementId string `json:"settlement_id,omitempty"`
  164. TradeSettleInfo struct {
  165. TradeSettleDetailList []struct {
  166. OperationType string `json:"operation_type,omitempty"`
  167. OperationSerialNo string `json:"operation_serial_no,omitempty"`
  168. OperationDt string `json:"operation_dt,omitempty"`
  169. TransOut string `json:"trans_out,omitempty"`
  170. TransIn string `json:"trans_in,omitempty"`
  171. Amount string `json:"amount,omitempty"`
  172. } `json:"trade_settle_detail_list,omitempty"`
  173. } `json:"trade_settle_info,omitempty"`
  174. AuthTradePayMode string `json:"auth_trade_pay_mode,omitempty"`
  175. BuyerUserType string `json:"buyer_user_type,omitempty"`
  176. MdiscountAmount string `json:"mdiscount_amount,omitempty"`
  177. DiscountAmount string `json:"discount_amount,omitempty"`
  178. BuyerUserName string `json:"buyer_user_name,omitempty"`
  179. Subject string `json:"subject,omitempty"`
  180. Body string `json:"body,omitempty"`
  181. AlipaySubMerchantId string `json:"alipay_sub_merchant_id,omitempty"`
  182. ExtInfos string `json:"ext_infos,omitempty"`
  183. }
  184. //===================================================
  185. type AliPayTradeCreateResponse struct {
  186. AliPayTradeCreateResponse createResponse `json:"alipay_trade_create_response,omitempty"`
  187. SignData string `json:"-"`
  188. Sign string `json:"sign"`
  189. }
  190. type createResponse struct {
  191. Code string `json:"code,omitempty"`
  192. Msg string `json:"msg,omitempty"`
  193. SubCode string `json:"sub_code,omitempty"`
  194. SubMsg string `json:"sub_msg,omitempty"`
  195. TradeNo string `json:"trade_no,omitempty"`
  196. OutTradeNo string `json:"out_trade_no,omitempty"`
  197. }
  198. //===================================================
  199. type AliPayTradeCloseResponse struct {
  200. AliPayTradeCloseResponse closeResponse `json:"alipay_trade_close_response,omitempty"`
  201. SignData string `json:"-"`
  202. Sign string `json:"sign"`
  203. }
  204. type closeResponse struct {
  205. Code string `json:"code,omitempty"`
  206. Msg string `json:"msg,omitempty"`
  207. SubCode string `json:"sub_code,omitempty"`
  208. SubMsg string `json:"sub_msg,omitempty"`
  209. TradeNo string `json:"trade_no,omitempty"`
  210. OutTradeNo string `json:"out_trade_no,omitempty"`
  211. }
  212. //===================================================
  213. type AliPayTradeCancelResponse struct {
  214. AliPayTradeCancelResponse cancelResponse `json:"alipay_trade_cancel_response,omitempty"`
  215. SignData string `json:"-"`
  216. Sign string `json:"sign"`
  217. }
  218. type cancelResponse struct {
  219. Code string `json:"code,omitempty"`
  220. Msg string `json:"msg,omitempty"`
  221. SubCode string `json:"sub_code,omitempty"`
  222. SubMsg string `json:"sub_msg,omitempty"`
  223. TradeNo string `json:"trade_no,omitempty"`
  224. OutTradeNo string `json:"out_trade_no,omitempty"`
  225. RetryFlag string `json:"retry_flag,omitempty"`
  226. Action string `json:"action,omitempty"`
  227. GmtRefundPay string `json:"gmt_refund_pay,omitempty"`
  228. RefundSettlementId string `json:"refund_settlement_id,omitempty"`
  229. }
  230. //===================================================
  231. type AliPaySystemOauthTokenResponse struct {
  232. AliPaySystemOauthTokenResponse oauthTokenInfo `json:"alipay_system_oauth_token_response,omitempty"`
  233. ErrorResponse struct {
  234. Code string `json:"code,omitempty"`
  235. Msg string `json:"msg,omitempty"`
  236. SubCode string `json:"sub_code,omitempty"`
  237. SubMsg string `json:"sub_msg,omitempty"`
  238. } `json:"error_response,omitempty"`
  239. SignData string `json:"-"`
  240. Sign string `json:"sign"`
  241. }
  242. type oauthTokenInfo struct {
  243. AccessToken string `json:"access_token,omitempty"`
  244. AlipayUserId string `json:"alipay_user_id,omitempty"`
  245. ExpiresIn int `json:"expires_in,omitempty"`
  246. ReExpiresIn int `json:"re_expires_in,omitempty"`
  247. RefreshToken string `json:"refresh_token,omitempty"`
  248. UserId string `json:"user_id,omitempty"`
  249. }
  250. //===================================================
  251. type AlipayUserInfoShareResponse struct {
  252. AlipayUserInfoShareResponse userInfoShare `json:"alipay_user_info_share_response,omitempty"`
  253. SignData string `json:"-"`
  254. Sign string `json:"sign"`
  255. }
  256. type userInfoShare struct {
  257. Code string `json:"code,omitempty"`
  258. Msg string `json:"msg,omitempty"`
  259. SubCode string `json:"sub_code,omitempty"`
  260. SubMsg string `json:"sub_msg,omitempty"`
  261. UserId string `json:"user_id,omitempty"`
  262. Avatar string `json:"avatar,omitempty"`
  263. Province string `json:"province,omitempty"`
  264. City string `json:"city,omitempty"`
  265. NickName string `json:"nick_name,omitempty"`
  266. IsStudentCertified string `json:"is_student_certified,omitempty"`
  267. UserType string `json:"user_type,omitempty"`
  268. UserStatus string `json:"user_status,omitempty"`
  269. IsCertified string `json:"is_certified,omitempty"`
  270. Gender string `json:"gender,omitempty"`
  271. }
  272. //===================================================
  273. type AliPayTradeRefundResponse struct {
  274. AlipayTradeRefundResponse refundResponse `json:"alipay_trade_refund_response,omitempty"`
  275. SignData string `json:"-"`
  276. Sign string `json:"sign"`
  277. }
  278. type refundResponse struct {
  279. Code string `json:"code,omitempty"`
  280. Msg string `json:"msg,omitempty"`
  281. SubCode string `json:"sub_code,omitempty"`
  282. SubMsg string `json:"sub_msg,omitempty"`
  283. TradeNo string `json:"trade_no,omitempty"`
  284. OutTradeNo string `json:"out_trade_no,omitempty"`
  285. BuyerLogonId string `json:"buyer_logon_id,omitempty"`
  286. FundChange string `json:"fund_change,omitempty"`
  287. RefundFee string `json:"refund_fee,omitempty"`
  288. RefundCurrency string `json:"refund_currency,omitempty"`
  289. GmtRefundPay string `json:"gmt_refund_pay,omitempty"`
  290. RefundDetailItemList []tradeFundBill `json:"refund_detail_item_list,omitempty"`
  291. StoreName string `json:"store_name,omitempty"`
  292. BuyerUserId string `json:"buyer_user_id,omitempty"`
  293. RefundPresetPaytoolList []struct {
  294. Amount []string `json:"amount,omitempty"`
  295. AssertTypeCode string `json:"assert_type_code,omitempty"`
  296. } `json:"refund_preset_paytool_list,omitempty"`
  297. RefundSettlementId string `json:"refund_settlement_id,omitempty"`
  298. PresentRefundBuyerAmount string `json:"present_refund_buyer_amount,omitempty"`
  299. PresentRefundDiscountAmount string `json:"present_refund_discount_amount,omitempty"`
  300. PresentRefundMdiscountAmount string `json:"present_refund_mdiscount_amount,omitempty"`
  301. }
  302. type tradeFundBill struct {
  303. FundChannel string `json:"fund_channel,omitempty"` //同步通知里是 fund_channel
  304. BankCode string `json:"bank_code,omitempty"`
  305. Amount string `json:"amount,omitempty"`
  306. RealAmount string `json:"real_amount,omitempty"`
  307. FundType string `json:"fund_type,omitempty"`
  308. }
  309. //===================================================
  310. type AliPayTradeFastpayRefundQueryResponse struct {
  311. AliPayTradeFastpayRefundQueryResponse refundQueryResponse `json:"alipay_trade_fastpay_refund_query_response,omitempty"`
  312. SignData string `json:"-"`
  313. Sign string `json:"sign"`
  314. }
  315. type refundQueryResponse struct {
  316. Code string `json:"code,omitempty"`
  317. Msg string `json:"msg,omitempty"`
  318. SubCode string `json:"sub_code,omitempty"`
  319. SubMsg string `json:"sub_msg,omitempty"`
  320. TradeNo string `json:"trade_no,omitempty"`
  321. OutTradeNo string `json:"out_trade_no,omitempty"`
  322. OutRequestNo string `json:"out_request_no,omitempty"`
  323. RefundReason string `json:"refund_reason,omitempty"`
  324. TotalAmount string `json:"total_amount,omitempty"`
  325. RefundAmount string `json:"refund_amount,omitempty"`
  326. RefundRoyaltys []struct {
  327. RefundAmount string `json:"refund_amount,omitempty"`
  328. RoyaltyType string `json:"royalty_type,omitempty"`
  329. ResultCode string `json:"result_code,omitempty"`
  330. TransOut string `json:"trans_out,omitempty"`
  331. TransOutEmail string `json:"trans_out_email,omitempty"`
  332. TransIn string `json:"trans_in,omitempty"`
  333. TransInEmail string `json:"trans_in_email,omitempty"`
  334. } `json:"refund_royaltys,omitempty"`
  335. GmtRefundPay string `json:"gmt_refund_pay,omitempty"`
  336. RefundDetailItemList []tradeFundBill `json:"refund_detail_item_list,omitempty"`
  337. SendBackFee string `json:"send_back_fee,omitempty"`
  338. RefundSettlementId string `json:"refund_settlement_id,omitempty"`
  339. PresentRefundBuyerAmount string `json:"present_refund_buyer_amount,omitempty"`
  340. PresentRefundDiscountAmount string `json:"present_refund_discount_amount,omitempty"`
  341. PresentRefundMdiscountAmount string `json:"present_refund_mdiscount_amount,omitempty"`
  342. }
  343. //===================================================
  344. type AliPayTradeOrderSettleResponse struct {
  345. AliPayTradeOrderSettleResponse orderSettleResponse `json:"alipay_trade_order_settle_response,omitempty"`
  346. SignData string `json:"-"`
  347. Sign string `json:"sign"`
  348. }
  349. type orderSettleResponse struct {
  350. Code string `json:"code,omitempty"`
  351. Msg string `json:"msg,omitempty"`
  352. SubCode string `json:"sub_code,omitempty"`
  353. SubMsg string `json:"sub_msg,omitempty"`
  354. TradeNo string `json:"trade_no,omitempty"`
  355. }
  356. //===================================================
  357. type AlipayTradePrecreateResponse struct {
  358. AlipayTradePrecreateResponse precreateResponse `json:"alipay_trade_precreate_response,omitempty"`
  359. SignData string `json:"-"`
  360. Sign string `json:"sign"`
  361. }
  362. type precreateResponse struct {
  363. Code string `json:"code,omitempty"`
  364. Msg string `json:"msg,omitempty"`
  365. SubCode string `json:"sub_code,omitempty"`
  366. SubMsg string `json:"sub_msg,omitempty"`
  367. OutTradeNo string `json:"out_trade_no,omitempty"`
  368. QrCode string `json:"qr_code,omitempty"`
  369. }
  370. //===================================================
  371. type AliPayTradePageRefundResponse struct {
  372. AliPayTradePageRefundResponse pageRefundResponse `json:"alipay_trade_page_refund_response,omitempty"`
  373. SignData string `json:"-"`
  374. Sign string `json:"sign"`
  375. }
  376. type pageRefundResponse struct {
  377. Code string `json:"code,omitempty"`
  378. Msg string `json:"msg,omitempty"`
  379. SubCode string `json:"sub_code,omitempty"`
  380. SubMsg string `json:"sub_msg,omitempty"`
  381. TradeNo string `json:"trade_no,omitempty"`
  382. OutTradeNo string `json:"out_trade_no,omitempty"`
  383. OutRequestNo string `json:"out_request_no,omitempty"`
  384. RefundAmount string `json:"refund_amount,omitempty"`
  385. }
  386. //===================================================
  387. type AlipayFundTransToaccountTransferResponse struct {
  388. AlipayFundTransToaccountTransferResponse transToaccountTransferResponse `json:"alipay_fund_trans_toaccount_transfer_response,omitempty"`
  389. SignData string `json:"-"`
  390. Sign string `json:"sign"`
  391. }
  392. type transToaccountTransferResponse struct {
  393. Code string `json:"code,omitempty"`
  394. Msg string `json:"msg,omitempty"`
  395. SubCode string `json:"sub_code,omitempty"`
  396. SubMsg string `json:"sub_msg,omitempty"`
  397. OutBizNo string `json:"out_biz_no,omitempty"`
  398. OrderId string `json:"order_id,omitempty"`
  399. PayDate string `json:"pay_date,omitempty"`
  400. }
  401. //===================================================
  402. type ZhimaCreditScoreGetResponse struct {
  403. ZhimaCreditScoreGetResponse scoreGetResponse `json:"zhima_credit_score_get_response,omitempty"`
  404. SignData string `json:"-"`
  405. Sign string `json:"sign"`
  406. }
  407. type scoreGetResponse struct {
  408. Code string `json:"code,omitempty"`
  409. Msg string `json:"msg,omitempty"`
  410. SubCode string `json:"sub_code,omitempty"`
  411. SubMsg string `json:"sub_msg,omitempty"`
  412. BizNo string `json:"biz_no,omitempty"`
  413. ZmScore string `json:"zm_score,omitempty"`
  414. }
  415. //===================================================
  416. type AlipayOpenAuthTokenAppResponse struct {
  417. AlipayOpenAuthTokenAppResponse authTokenAppResponse `json:"alipay_open_auth_token_app_response,omitempty"`
  418. SignData string `json:"-"`
  419. Sign string `json:"sign"`
  420. }
  421. type authTokenAppResponse struct {
  422. Code string `json:"code,omitempty"`
  423. Msg string `json:"msg,omitempty"`
  424. SubCode string `json:"sub_code,omitempty"`
  425. SubMsg string `json:"sub_msg,omitempty"`
  426. UserId string `json:"user_id,omitempty"`
  427. AuthAppId string `json:"auth_app_id,omitempty"`
  428. AppAuthToken string `json:"app_auth_token,omitempty"`
  429. AppRefreshToken string `json:"app_refresh_token,omitempty"`
  430. ExpiresIn int `json:"expires_in,omitempty"`
  431. ReExpiresIn int `json:"re_expires_in,omitempty"`
  432. Tokens []struct {
  433. AppAuthToken string `json:"app_auth_token,omitempty"`
  434. AppRefreshToken string `json:"app_refresh_token,omitempty"`
  435. AuthAppId string `json:"auth_app_id,omitempty"`
  436. ExpiresIn int `json:"expires_in,omitempty"`
  437. ReExpiresIn int `json:"re_expires_in,omitempty"`
  438. UserId string `json:"user_id,omitempty"`
  439. } `json:"tokens,omitempty"`
  440. }