Documentation
¶
Index ¶
- Variables
- type Applet
- type AuxParam
- type Background
- type Client
- func (c *Client) ClientToken(param ClientToken) (result *ClientTokenRsp, err error)
- func (c *Client) Code2Session(param Code2Session) (result *Code2SessionRsp, err error)
- func (c *Client) GenerateOrderParametersAndSignatures(param TradeTransaction, result interface{}) (err error)
- func (c *Client) GetAccessToken(param GetAccessToken) (result *GetAccessTokenRsp, err error)
- func (c *Client) GetPhoneNumber(param GetPhoneNumber) (result *GetPhoneNumberRsp, err error)
- func (c *Client) GetPhoneNumberByCode(param GetUserPhoneNumber) (result *GetPhoneNumberRsp, err error)
- func (c *Client) LoadOptionFunc(opts ...OptionFunc)
- func (c *Client) OnReceivedData(fn func(method string, data []byte))
- func (c *Client) OrderPush(param OrderPush) (result OrderPushRsp, err error)
- func (c *Client) QrcodeCreate(param QrcodeCreate) (result *QrcodeCreateRsp, err error)
- func (c *Client) RefundAuditCallback(param RefundAuditCallback) (result *RefundAuditCallbackResponse, err error)
- func (c *Client) TradeEcPay(param TradeEcPay) (result *TradeEcPayRsp, err error)
- func (c *Client) TradeOrderQuery(param TradeOrderQuery) (result *TradeOrderQueryRsp, err error)
- func (c *Client) TradeRefund(param TradeRefund) (result *TradeRefundRsp, err error)
- func (c *Client) TradeRefundCreate(param TradeRefundCreate) (result *TradeRefundCreateResponse, err error)
- func (c *Client) TradeRefundCreateQuery(param TradeRefundCreateQuery) (result *TradeRefundCreateQueryResponse, err error)
- func (c *Client) TradeRefundQuery(param TradeRefundQuery) (result *TradeRefundQueryRsp, err error)
- func (c *Client) TradeTransactionPay(param TradeTransaction) (result *TradeTransactionResponse, err error)
- func (c *Client) TradeTransactionQuery(param TradeTransactionQuery) (result *TradeTransactionQueryResponse, err error)
- func (c *Client) URLValues(param Param) (value url.Values, valueMaps map[string]interface{}, err error)
- func (c *Client) VerifySign(values url.Values) bool
- type ClientToken
- type ClientTokenRsp
- type Code2Session
- type Code2SessionRsp
- type CpsInfo
- type Err
- type Error
- type ExpandOrderInfo
- type GetAccessToken
- type GetAccessTokenRsp
- type GetPhoneNumber
- type GetPhoneNumberRsp
- type GetUserPhoneNumber
- type GetUserPhoneNumberRsp
- type ItemListApplet
- type ItemOrderDetail
- type LineColor
- type OptionFunc
- type OrderDetailPoiApplet
- type OrderDetailPoiGroup
- type OrderDetailPoiTicket
- type OrderEntrySchema
- type OrderPush
- type OrderPushRsp
- type PackageCost
- type Param
- type PaymentInfo
- type QrcodeCreate
- type QrcodeCreateRsp
- type ReasonItem
- type RefundAuditCallback
- type RefundAuditCallbackResponse
- type SkuAttr
- type SkuList
- type Trade
- type TradeEcPay
- type TradeEcPayRsp
- type TradeOrderQuery
- type TradeOrderQueryRsp
- type TradeRefund
- type TradeRefundCreate
- type TradeRefundCreateQuery
- type TradeRefundCreateQueryResponse
- type TradeRefundCreateResponse
- type TradeRefundQuery
- type TradeRefundQueryRsp
- type TradeRefundRsp
- type TradeTransaction
- type TradeTransactionQuery
- type TradeTransactionQueryResponse
- type TradeTransactionResponse
- type Transaction
- type TransactionOrder
- type WatermarkData
Constants ¶
This section is empty.
Variables ¶
var ( ErrBdNullParams = errors.New("bytedance: bad params") ErrBdDataNullParams = errors.New("bytedance: bad data") )
Functions ¶
This section is empty.
Types ¶
type AuxParam ¶
type AuxParam struct {
}
func (AuxParam) ContentType ¶
func (AuxParam) NeedAccessToken ¶
func (AuxParam) NeedSecret ¶
type Background ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) ClientToken ¶
func (c *Client) ClientToken(param ClientToken) (result *ClientTokenRsp, err error)
ClientToken 获取应用授权调用凭证 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/interface-request-credential/non-user-authorization/get-client_token POST https://open.douyin.com/oauth/client_token/ https://open-sandbox.douyin.com/oauth/client_token/
func (*Client) Code2Session ¶
func (c *Client) Code2Session(param Code2Session) (result *Code2SessionRsp, err error)
Code2Session 小程序登录 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/log-in/code-2-session POST https://developer.toutiao.com/api/apps/v2/jscode2session https://open-sandbox.douyin.com/api/apps/v2/jscode2session
func (*Client) GenerateOrderParametersAndSignatures ¶
func (c *Client) GenerateOrderParametersAndSignatures(param TradeTransaction, result interface{}) (err error)
通用交易系统支付
func (*Client) GetAccessToken ¶
func (c *Client) GetAccessToken(param GetAccessToken) (result *GetAccessTokenRsp, err error)
GetAccessToken 小程序的全局唯一调用凭据 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/interface-request-credential/non-user-authorization/get-access-token POST https://developer.toutiao.com/api/apps/v2/token https://open-sandbox.douyin.com/api/apps/v2/token
func (*Client) GetPhoneNumber ¶
func (c *Client) GetPhoneNumber(param GetPhoneNumber) (result *GetPhoneNumberRsp, err error)
GetPhoneNumber 获取手机号 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/guide/open-capabilities/acquire-phone-number-acquire/
func (*Client) GetPhoneNumberByCode ¶
func (c *Client) GetPhoneNumberByCode(param GetUserPhoneNumber) (result *GetPhoneNumberRsp, err error)
GetPhoneNumberByCode getPhoneNumber组件code换取手机号 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/basic-abilities/log-in/get-phone-number POST https://open.douyin.com/api/apps/v1/get_phonenumber_info/
func (*Client) OnReceivedData ¶
返回内容
func (*Client) OrderPush ¶
func (c *Client) OrderPush(param OrderPush) (result OrderPushRsp, err error)
OrderPush 订单同步 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/ecpay/order/order-sync POST https://developer.toutiao.com/api/apps/order/v2/push
func (*Client) QrcodeCreate ¶
func (c *Client) QrcodeCreate(param QrcodeCreate) (result *QrcodeCreateRsp, err error)
QrcodeCreate 生成QRCodeV2 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/url-and-qrcode/qrcode/create-qr-code-v2 POST https://open.douyin.com/api/apps/v1/qrcode/create/ 需要小程序通过试运营期
func (*Client) RefundAuditCallback ¶
func (c *Client) RefundAuditCallback(param RefundAuditCallback) (result *RefundAuditCallbackResponse, err error)
RefundAuditCallback 同步退款审核结果 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/payment/trade-system/general/refund/refund-audit POST https://open.douyin.com/api/trade_basic/v1/developer/refund_audit_callback/
func (*Client) TradeEcPay ¶
func (c *Client) TradeEcPay(param TradeEcPay) (result *TradeEcPayRsp, err error)
TradeEcPay 发起支付 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/ecpay/pay-list/pay/ POST https://developer.toutiao.com/api/apps/ecpay/v1/create_order https://open-sandbox.douyin.com/api/apps/ecpay/v1/create_order
func (*Client) TradeOrderQuery ¶
func (c *Client) TradeOrderQuery(param TradeOrderQuery) (result *TradeOrderQueryRsp, err error)
TradeOrderQuery 支付结果查询 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/ecpay/pay-list/query POST https://developer.toutiao.com/api/apps/ecpay/v1/query_order https://open-sandbox.douyin.com/api/apps/ecpay/v1/query_order
func (*Client) TradeRefund ¶
func (c *Client) TradeRefund(param TradeRefund) (result *TradeRefundRsp, err error)
TradeRefund 发起退款 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/ecpay/refund-list/refund POST https://developer.toutiao.com/api/apps/ecpay/v1/create_refund https://open-sandbox.douyin.com/api/apps/ecpay/v1/create_refund
func (*Client) TradeRefundCreate ¶
func (c *Client) TradeRefundCreate(param TradeRefundCreate) (result *TradeRefundCreateResponse, err error)
TradeRefundCreate 发起退款 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/payment/trade-system/general/refund/create-refund POST https://open.douyin.com/api/trade_basic/v1/developer/refund_create/
func (*Client) TradeRefundCreateQuery ¶
func (c *Client) TradeRefundCreateQuery(param TradeRefundCreateQuery) (result *TradeRefundCreateQueryResponse, err error)
TradeRefundCreateQuery 查询退款 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/payment/trade-system/general/refund/query-refund POST https://open.douyin.com/api/trade_basic/v1/developer/refund_query/
func (*Client) TradeRefundQuery ¶
func (c *Client) TradeRefundQuery(param TradeRefundQuery) (result *TradeRefundQueryRsp, err error)
TradeRefundQuery 退款结果查询 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/ecpay/refund-list/query POST https://developer.toutiao.com/api/apps/ecpay/v1/query_refund https://open-sandbox.douyin.com/api/apps/ecpay/v1/query_refund
func (*Client) TradeTransactionPay ¶
func (c *Client) TradeTransactionPay(param TradeTransaction) (result *TradeTransactionResponse, err error)
TradeTransactionPay 生成下单参数与签名 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/payment/trade-system/general/order/request-order-data-sign
func (*Client) TradeTransactionQuery ¶
func (c *Client) TradeTransactionQuery(param TradeTransactionQuery) (result *TradeTransactionQueryResponse, err error)
TradeTransactionQuery 查询订单 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/payment/trade-system/general/order/query-order POST https://open.douyin.com/api/trade_basic/v1/developer/order_query/
type ClientToken ¶
type ClientToken struct {
AuxParam
ClientKey string `json:"client_key"` // 应用唯一标识,对应小程序id
ClientSecret string `json:"client_secret"` // 应用唯一标识对应的密钥,对应小程序的app secret,可以在开发者后台获取
GrantType string `json:"grant_type"` // 固定值“client_credential”
}
ClientToken 获取应用授权调用凭证 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/interface-request-credential/non-user-authorization/get-client_token
func (ClientToken) NeedAppId ¶
func (a ClientToken) NeedAppId() bool
func (ClientToken) NeedSecret ¶
func (a ClientToken) NeedSecret() bool
func (ClientToken) NeedSign ¶
func (a ClientToken) NeedSign() bool
type ClientTokenRsp ¶
type ClientTokenRsp struct {
Data struct {
AccessToken string `json:"access_token,omitempty"` // client_token 接口调用凭证
Description string `json:"description,omitempty"` // 错误码描述
ErrorCode int `json:"error_code,omitempty"` // 错误码
ExpiresIn int `json:"expires_in,omitempty"` // client_token 接口调用凭证超时时间,单位(秒)
} `json:"data"` // client_token信息
Message string `json:"message,omitempty"` // 请求响应
Extra struct {
Logid string `json:"logid"` // 日志记录ID
Now int64 `json:"now"` // 当前时间戳
} `json:"extra"`
}
ClientTokenRsp 获取应用授权调用凭证响应参数
type Code2Session ¶
type Code2Session struct {
Applet
AnonymousCode string `json:"anonymous_code,omitempty"` // login 接口返回的匿名登录凭证
Code string `json:"code,omitempty"` // login 接口返回的登录凭证
}
Code2Session 小程序登录 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/log-in/code-2-session
type Code2SessionRsp ¶
type Code2SessionRsp struct {
Error
Data struct {
SessionKey string `json:"session_key"` // 会话密钥,如果请求时有 code 参数才会返回
Openid string `json:"openid"` // 用户在当前小程序的 ID,如果请求时有 code 参数才会返回
AnonymousOpenid string `json:"anonymous_openid"` // 匿名用户在当前小程序的 ID,如果请求时有 anonymous_code 参数才会返回
Unionid string `json:"unionid"` // 用户在小程序平台的唯一标识符,请求时有 code 参数才会返回。如果开发者拥有多个小程序,可通过 unionid 来区分用户的唯一性。
} `json:"data"`
}
Code2SessionRsp 小程序登录响应参数
type CpsInfo ¶
type CpsInfo struct {
DouyinId string `json:"douyin_id"` // 达人抖音号
Nickname string `json:"nickname"` // 达人昵称
}
CpsInfo CPS相关信息
type Error ¶
type Error struct {
ErrNo int `json:"err_no"`
ErrTips string `json:"err_tips"`
ErrMsg string `json:"err_msg"`
}
Error 支付错误类
type ExpandOrderInfo ¶
type ExpandOrderInfo struct {
OriginalDeliveryFee int `json:"original_delivery_fee,omitempty"` // 配送费原价,单位为[分],仅外卖小程序需要传对应信息
ActualDeliveryFee int `json:"actual_delivery_fee,omitempty"` // 实付配送费,单位为[分],仅外卖小程序需要传对应信息
}
ExpandOrderInfo 参数
type GetAccessToken ¶
type GetAccessToken struct {
Applet
GrantType string `json:"grant_type"` // 获取 access_token 时值为 client_credential
}
GetAccessToken 小程序的全局唯一调用凭据 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/interface-request-credential/non-user-authorization/get-access-token
type GetAccessTokenRsp ¶
type GetAccessTokenRsp struct {
Error
Data struct {
AccessToken string `json:"access_token"` // 获取的 access_token
ExpiresIn int64 `json:"expires_in"` // access_token 有效时间,单位:秒
} `json:"data"`
}
GetAccessTokenRsp 小程序的全局唯一调用凭据响应参数
type GetPhoneNumber ¶
type GetPhoneNumber struct {
EncryptedData string `json:"encrypted_data"`
SessionKey string `json:"session_key"`
Iv string `json:"iv"`
}
GetPhoneNumber 获取手机号 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/guide/open-capabilities/acquire-phone-number-acquire/
type GetPhoneNumberRsp ¶
type GetPhoneNumberRsp struct {
PhoneNumber string `json:"phoneNumber"` // 用户绑定的手机号(国外手机号会有区号)
PurePhoneNumber string `json:"purePhoneNumber"` // 没有区号的手机号
CountryCode string `json:"countryCode"` // 区号
Watermark WatermarkData `json:"watermark"`
}
GetPhoneNumberRsp 获取手机号响应参数
type GetUserPhoneNumber ¶
type GetUserPhoneNumber struct {
Applet
AccessToken string `json:"access_token"` // 调用https://open.douyin.com/oauth/client_token/生成的token
Code string `json:"code"` // 获取手机号的凭证code,通过前端getPhoneNumber组件获取
}
GetUserPhoneNumber 获取用户手机号 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/basic-abilities/log-in/get-phone-number
func (GetUserPhoneNumber) NeedAccessToken ¶
func (a GetUserPhoneNumber) NeedAccessToken() bool
type GetUserPhoneNumberRsp ¶
type GetUserPhoneNumberRsp struct {
Error
LogId string `json:"log_id"` // 抖音开放平台统一日志id
Data string `json:"data"` // 通过开发者在「抖音开放平台-控制台-找到对应的小程序-开发-开发配置」配置的应用公钥 进行RSA非对称加密后的密文数据,需要开发者通过对应的应用私钥进行解密。应用公私钥由开发者生成,并将公钥录入在「应用公钥」上,私钥由开发者保管。
}
GetUserPhoneNumberRsp 获取用户手机号响应参数
type ItemListApplet ¶
type ItemListApplet struct {
ItemCode string `json:"item_code"` // 开发者侧商品 ID,长度 <= 64 byte
Img string `json:"img"` // 子订单商品图片 URL, 长度 <= 512 byte
Title string `json:"title"` // 子订单商品介绍标题,长度 <= 256 byte
SubTitle string `json:"sub_title"` // 子订单商品介绍副标题,长度 <= 256 byte
Amount int64 `json:"amount"` // 单类商品的数目
Price int64 `json:"price"` // 单类商品的总价,单位为分
}
普通小程序订单item_list字段说明
type ItemOrderDetail ¶
type OptionFunc ¶
type OptionFunc func(c *Client)
type OrderDetailPoiApplet ¶
type OrderDetailPoiApplet struct {
OrderId string `json:"order_id"` // 开发者侧业务单号。用作幂等控制。该订单号是和担保支付的支付单号绑定的,也就是预下单时传入的 out_order_no 字段,长度 <= 64byte
Status string `json:"status"` // 订单状态,建议采用以下枚举值: 待支付 已支付 已取消 已超时 已核销 退款中 已退款 退款失败
CreateTime int64 `json:"create_time"` // 订单创建的时间,13 位毫秒时间戳
Amount int64 `json:"amount"` // 订单商品总数
TotalPrice int64 `json:"total_price"` // 订单总价,单位为分
DetailUrl string `json:"detail_url"` // 小程序订单详情页 path,长度<=1024 byte (备注:该路径需要保证在小程序内配置过,相对路径即可)
ItemList []ItemListApplet `json:"item_list"` // 子订单商品列表,不可为空
}
普通小程序订单参数(order_detail 字段说明)
type OrderDetailPoiGroup ¶
type OrderDetailPoiGroup struct {
ExtOrderId string `json:"ext_order_id"` // 开发者系统侧业务单号。用作幂等控制。该订单号是和担保支付的支付单号绑定的,即预下单时传入的 out_order_no 字段,长度 <= 64byte
Status int64 `json:"status"` // 枚举值: 10:已取消(抖音订单中心可看到,状态为"已取消") 110:待支付 310:未使用 340:已使用 410:退款中 420: 退款成功 430: 退款失败
ShopName string `json:"shop_name"` // 商铺名字,长度 <= 256 byte
EntryType int64 `json:"entry_type"` // 订单详情页的外链跳转类型,通过该接口上传的都为 2, 1:H5 2:抖音小程序
EntrySchema string `json:"entry_schema"` // 订单详情页的外链跳转 schema 参数,格式为 json 字符串。长度 <= 512byte
CreateOrderTime int64 `json:"create_order_time"` // 下单时间(13位毫秒时间戳)
Description string `json:"description,omitempty"` // 订单描述,长度<=500 byte
TotalPrice int64 `json:"total_price"` // 订单总金额(单位:分)
PayTime int64 `json:"pay_time,omitempty"` // 支付时间(13位毫秒时间戳),未付款时不用传。
ExtValidShopId string `json:"ext_valid_shop_id,omitempty"` // 开发者侧卡劵核销门店ID,未核销时不用传,长度 <= 256 byte
ValidPoiIdStr string `json:"valid_poi_id_str,omitempty"` // 开发者侧卡劵核销门店对应的抖音poiId,ext_valid_shop_id未匹配抖音POI时不用传,长度<= 128 byte
ExtGoodsId string `json:"ext_goods_id"` // 开发者侧商品ID,长度<= 64 byte 备注:如果该商品没有接入抖音商品库,该字段为空
GoodsName string `json:"goods_name"` // 商品名称,长度 <= 256 byte
GoodsInfo string `json:"goods_info,omitempty"` // 商品描述信息。向用户介绍商品,长度 <= 120byte。
GoodsCoverImage string `json:"goods_cover_image"` // 商品图片,完整的url地址 长度 <= 512 byte
GoodsEntryType string `json:"goods_entry_type"` // 商品详情页的外链跳转类型, 通过该接口上传的都为2, 1: H5 2: 抖音小程序
GoodsEntrySchema string `json:"goods_entry_schema"` // 商品详情页的外链跳转schema参数,格式为 JSON 字符串,长度 <= 512 byte
StartValidTime string `json:"start_valid_time"` // 生效时间,yyyy-MM-dd HH:mm:ss 格式字符串,24 小时制
EndValidTime string `json:"end_valid_time"` // 失效时间,yyyy-MM-dd HH:mm:ss格式字符串,24小时制
TicketNum int64 `json:"ticket_num"` // 用户购买团购券的数量
ExtTicketIds string `json:"ext_ticket_ids"` // 开发者侧券 ID,该信息用于用户可以明确的感知是哪一张券。格式为 JSON 数组字符串,每个 ID 长度 <= 64byte,例如:["123", "abc"]
TicketDescription string `json:"ticket_description"` // 券的使用说明。JSON 数组字符串,最多可以有10条,每条长度 <= 50byte。必须写明券的使用条件、领取条件、退款规则。例如:["1、本券不可兑换现金,不可找零。","2、每个用户最多可以领取1张。","3、如果订单发生退款,优惠券无法退还。"]
}
团购券类型订单参数(order_detail 字段说明)
type OrderDetailPoiTicket ¶
type OrderDetailPoiTicket struct {
ExtOrderId string `json:"ext_order_id"` // 开发者系统侧业务单号。用作幂等控制。该订单号是和担保支付的支付单号绑定的,即预下单时传入的 out_order_no 字段,长度 <= 64byte
Status int64 `json:"status"` // 枚举值,如下: 10:已取消(抖音订单中心可看到,状态为"已取消") 110:待支付 210:待确认 340:预订成功 410:退款中 420:退款成功 430:退款失败
ShopName string `json:"shop_name"` // 商铺名字,长度 <= 256 byte
EntryType int64 `json:"entry_type"` // 订单详情页的外链跳转类型,通过该接口上传的都为 2, 1:H5 2:抖音小程序
EntrySchema string `json:"entry_schema"` // 订单详情页的外链跳转 schema 参数,格式为 json 字符串。长度 <= 512byte
CreateOrderTime int64 `json:"create_order_time"` // 下单时间(13位毫秒时间戳)
Description string `json:"description,omitempty"` // 订单描述,长度<=500 byte
TotalPrice int64 `json:"total_price"` // 订单总金额(单位:分)
PayTime int64 `json:"pay_time,omitempty"` // 支付时间(13位毫秒时间戳),未付款时不用传。
ExtGoodsId string `json:"ext_goods_id,omitempty"` // 开发者侧商品ID,长度<= 64 byte 备注:如果该商品没有接入抖音商品库,该字段为空
GoodsName string `json:"goods_name"` // 商品名称,长度 <= 256 byte
GoodsInfo string `json:"goods_info,omitempty"` // 商品描述信息。向用户介绍商品,长度 <= 120byte。
GoodsCoverImage string `json:"goods_cover_image"` // 商品图片,完整的url地址 长度 <= 512 byte
GoodsEntryType string `json:"goods_entry_type"` // 商品详情页的外链跳转类型, 通过该接口上传的都为2, 1: H5 2: 抖音小程序
ValidPoiIdStr string `json:"valid_poi_id_str,omitempty"` // 开发者侧卡劵核销门店对应的抖音poiId,ext_valid_shop_id未匹配抖音POI时不用传,长度<= 128 byte
GoodsEntrySchema string `json:"goods_entry_schema"` // 商品详情页的外链跳转schema参数,格式为 JSON 字符串,长度 <= 512 byte
StartValidTime string `json:"start_valid_time"` // 生效时间,yyyy-MM-dd HH:mm:ss 格式字符串,24 小时制
EndValidTime string `json:"end_valid_time"` // 失效时间,yyyy-MM-dd HH:mm:ss格式字符串,24小时制
TicketNum int64 `json:"ticket_num"` // 用户购买团购券的数量
ExtTicketIds string `json:"ext_ticket_ids"` // 开发者侧券 ID,该信息用于用户可以明确的感知是哪一张券。格式为 JSON 数组字符串,每个 ID 长度 <= 64byte,例如:["123", "abc"]
TicketDescription string `json:"ticket_description"` // 券的使用说明。JSON 数组字符串,最多可以有10条,每条长度 <= 50byte。必须写明券的使用条件、领取条件、退款规则。例如:["1、本券不可兑换现金,不可找零。","2、每个用户最多可以领取1张。","3、如果订单发生退款,优惠券无法退还。"]
}
门票类型订单参数(order_detail 字段说明)
type OrderEntrySchema ¶
type OrderEntrySchema struct {
Path string `json:"path"` // 小程序xxx详情页跳转路径,没有前导的“/”,路径后不可携带query参数,路径中不可携带『?: & *』等特殊字符,路径只可以是『英文字符、数字、_、/ 』等组成,长度<=512byte,示例:page/path/index
Params string `json:"params"` // xx情页路径参数,自定义的json结构,内部为k-v结构,序列化成字符串存入该字段,平台不限制,但是写入的内容需要能够保证生成访问xx详情的schema能正确跳转到小程序内部的xx详情页,长度须<=512byte,params内key不可重复。示例:'{"id":1234, "name":"hello"}'
}
type OrderPush ¶
type OrderPush struct {
AuxParam
ClientKey string `json:"client_key,omitempty"` // 第三方在抖音开放平台申请的 ClientKey 注意:POI 订单必传
AccessToken string `json:"access_token"` // 服务端 API 调用标识,通过 getAccessToken 获取
ExtShopId string `json:"ext_shop_id,omitempty"` // POI 店铺同步时使用的开发者侧店铺 ID,购买店铺 ID,长度 < 256 byte 注意:POI 订单必传
AppName string `json:"app_name"` // 做订单展示的字节系 app 名称,目前为固定值“douyin”
OpenId string `json:"open_id"` // 小程序用户的 open_id,通过 code2Session 获取
UpdateTime int `json:"update_time"` // 订单信息变更时间,10 位秒级时间戳,update_time每次状态变更推送时需要比上次推送的值大,否则可能忽略该次状态推送。例如:某次推送订单时的update_time为1694761323,则下次推送该订单时,update_time至少为1694761324。
OrderDetail string `json:"order_detail"` // json string,根据不同订单类型有不同的结构体,请参见 order_detail 字段说明(json string)
OrderType int `json:"order_type"` // 订单类型,枚举值: 0:普通小程序订单(非POI订单) 9101:团购券订单(POI 订单) 9001:景区门票订单(POI订单)
OrderStatus int `json:"order_status"` // 普通小程序订单订单状态,POI 订单可以忽略 0:待支付 1:已支付 2:已取消(用户主动取消或者超时未支付导致的关单) 4:已核销(核销状态是整单核销,即一笔订单买了 3 个券,核销是指 3 个券核销的整单) 5:退款中 6:已退款 8:退款失败 注意:普通小程序订单必传,担保支付分账依赖该状态
Extra string `json:"extra"` // 自定义字段,用于关联具体业务场景下的特殊参数,长度 < 2048byte
}
OrderPush 订单同步 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/ecpay/order/order-sync
type OrderPushRsp ¶
OrderPushRsp 订单同步响应参数
type PackageCost ¶
type PaymentInfo ¶
type PaymentInfo struct {
TotalFee int `json:"total_fee"` // 支付金额,单位为分
OrderStatus string `json:"order_status"` // 支付状态枚举值: SUCCESS:成功 TIMEOUT:超时未支付 PROCESSING:处理中 FAIL:失败
PayTime string `json:"pay_time"` // 支付完成时间,order_status不为SUCCESS时会返回默认值空字符串,order_status为SUCCESS时返回非空字符串,格式为"yyyy-MM-dd HH:mm:ss"
Way int `json:"way"` // 支付渠道,order_status不为SUCCESS时会返回默认值0,order_status为SUCCESS时会返回以下枚举:1-微信支付,2-支付宝支付,10-抖音支付
ChannelNo string `json:"channel_no"` // 支付渠道侧的支付单号
SellerUid string `json:"seller_uid"` // 该笔交易卖家商户号
ItemId string `json:"item_id"` // 订单来源视频对应视频id
CpExtra string `json:"cp_extra"` // 开发者自定义字段
}
PaymentInfo 支付信息
type QrcodeCreate ¶
type QrcodeCreate struct {
AuxParam
AccessToken string `json:"access_token"` // 调用/oauth/client_token/生成的 token,此 token 不需要用户授权。
AppName string `json:"app_name"` // 是打开二维码的字节系 app 名称,默认为今日头条toutiao,今日头条极速版toutiao_lite,抖音douyin,抖音极速版douyin_lite,抖音火山版huoshan,全宿主,即在哪个宿主扫码就在哪个宿主打开小程序,若某个宿主没有该小程序,兜底往抖音app跳转all
Path string `json:"path"` // 小程序/小游戏启动参数,小程序则格式为 encode({path}?{query}),小游戏则格式为 JSON 字符串,默认为空
Width int `json:"width"` // 二维码宽度,单位 px,最小 280px,最大 1280px,默认为 430px
LineColor LineColor `json:"line_color,omitempty"` // 二维码线条颜色,默认为黑色
Background Background `json:"background,omitempty"` // 二维码背景颜色,默认为白色
SetIcon bool `json:"set_icon"` // 是否展示小程序/小游戏 icon,默认不展示
IsCircleCode bool `json:"is_circle_code"` // 默认是false,是否生成抖音码,默认不生成(抖音码不支持自定义颜色)
}
QrcodeCreate 生成QRCodeV2 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/url-and-qrcode/qrcode/create-qr-code-v2
func (QrcodeCreate) NeedAccessToken ¶
func (q QrcodeCreate) NeedAccessToken() bool
func (QrcodeCreate) NeedSign ¶
func (q QrcodeCreate) NeedSign() bool
type QrcodeCreateRsp ¶
type QrcodeCreateRsp struct {
ErrNo int `json:"err_no"`
ErrMsg string `json:"err_msg"`
Data struct {
Img string `json:"img"` // 返回的图片数据以base64进行编码
} `json:"data"`
}
QrcodeCreateRsp 生成QRCodeV2响应参数
type ReasonItem ¶
type RefundAuditCallback ¶
type RefundAuditCallback struct {
TransactionOrder
RefundAuditStatus int32 `json:"refund_audit_status"` // 审核状态,1-同意退款,2-不同意退款
RefundId string `json:"refund_id"` // 交易系统侧退款单号,长度 <= 64 byte
DenyMessage string `json:"deny_message"` // 不同意退款信息(不同意退款时必填),长度 <= 512 byte>
}
RefundAuditCallback 同步退款审核结果 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/payment/trade-system/general/refund/refund-audit
type RefundAuditCallbackResponse ¶
RefundAuditCallbackResponse 同步退款审核结果响应参数
type SkuAttr ¶
type SkuAttr struct {
PackageCost PackageCost `json:"package_cost"` // 号卡商品套餐详情
CallDuration int `json:"call_duration"` // 套餐包含的通话时长,单位:分钟,
TrafficBundle int `json:"traffic_bundle"` // 套餐包含的流量包大小,单位:G
TelecomOperatorType string `json:"telecom_operator_type"` // 提供套餐的运营方性质,枚举值 official:官方,private:私营
}
type SkuList ¶
type SkuList struct {
SkuId string `json:"skuId"` // 外部商品id,如:号卡商品id、会员充值套餐id、某类服务id、付费工具id等
Price int `json:"price"` // 价格 单位:分
Quantity int `json:"quantity"` // 购买数量,0 < quantity <= 100
Title string `json:"title"` // 商品标题,长度 <= 256字节
ImageList []string `json:"imageList"` // 商品图片链接,长度 <= 512 字节 注意:目前只支持传入一项
Type int `json:"type"` // 商品类型 示例:号卡商品:传101、剧集: 传404;详见商品类型枚举值(https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/open-capacity/trade-system/guide/general/basicrules#6a1682c4)
TagGroupId string `json:"tagGroupId"` // 交易规则标签组,查看对应商品类型的标签组ID(https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/trade-system/general/tag/tag_group_query#2b56d127)
EntrySchema OrderEntrySchema `json:"entrySchema,omitempty"` // 商品详情页链接
SkuAttr string `json:"skuAttr,omitempty"` // 商品信息:需要将不同商品类型定义的具体结构,转换成json string,号卡类商品必填,即当前商品类型 type in [101、102、103、104、105、106、107]的商品必填;内容消费:当前商品类型 type in [402、403、404、405、406]的商品必填
}
type TradeEcPay ¶
type TradeEcPay struct {
Trade
TotalAmount int64 `json:"total_amount"` // 支付价格。 单位为[分]
Subject string `json:"subject"` // 商品描述。 长度限制不超过 128 字节且不超过 42 字符
Body string `json:"body"` // 商品详情 长度限制不超过 128 字节且不超过 42 字符
ValidTime int64 `json:"valid_time"` // 订单过期时间(秒)。最小5分钟,最大2天,小于5分钟会被置为5分钟,大于2天会被置为2天,取值范围:[300,172800]
CpExtra string `json:"cp_extra"` // 开发者自定义字段,回调原样回传。 超过最大长度会被截断(2048)
NotifyUrl string `json:"notify_url"`
ThirdPartyId string `json:"thirdparty_id"` // 第三方平台服务商 id,非服务商模式留空,服务商模式接入必传
StoreUid string `json:"store_uid,omitempty"` // 可用此字段指定本单使用的收款商户号(目前为灰度功能,需要联系平台运营添加白名单,白名单添加1小时后生效;未在白名单的小程序,该字段不生效)多门店模式下可传
DisableMsg int64 `json:"disable_msg,omitempty"` // 是否屏蔽支付完成后推送用户抖音消息,1-屏蔽 0-非屏蔽,默认为0。 特别注意: 若接入POI, 请传1。因为POI订单体系会发消息,所以不用再接收一次担保支付推送消息
MsgPage string `json:"msg_page,omitempty"` // 支付完成后推送给用户的抖音消息跳转页面,开发者需要传入在app.json中定义的链接,如果不传则跳转首页。
ExpandOrderInfo string `json:"expand_order_info,omitempty"` // 订单拓展信息,{"original_delivery_fee":10,"actual_delivery_fee":10}
LimitPayWay string `json:"limit_pay_way,omitempty"` // 屏蔽指定支付方式,屏蔽多个支付方式,请使用逗号","分割,枚举值:屏蔽微信支付:LIMIT_WX,屏蔽支付宝支付:LIMIT_ALI
}
TradeEcPay 担保交易 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/ecpay/pay-list/pay/
type TradeEcPayRsp ¶
type TradeEcPayRsp struct {
Error
Data struct {
OrderId string `json:"order_id"` // 抖音侧唯一订单号
OrderToken string `json:"order_token"` // 签名后的订单信息
} `json:"data"`
}
TradeEcPayRsp 担保交易响应参数
type TradeOrderQuery ¶
type TradeOrderQuery struct {
Trade
ThirdPartyId string `json:"thirdparty_id"` // 第三方平台服务商 id,非服务商模式留空,服务商模式接入必传
}
TradeOrderQuery 支付结果查询 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/ecpay/pay-list/query
type TradeOrderQueryRsp ¶
type TradeOrderQueryRsp struct {
Error
OutOrderNo string `json:"out_order_no"` // 开发者侧的订单号
OrderId string `json:"order_id"` // 抖音侧唯一订单号
PaymentInfo PaymentInfo `json:"payment_info"` // 支付信息
CpsInfo interface{} `json:"cps_info,omitempty"` // 若该订单为CPS订单,该字段会返回该笔订单的CPS相关信息
}
TradeOrderQueryRsp 支付结果查询响应参数
type TradeRefund ¶
type TradeRefund struct {
Trade
OutRefundNo string `json:"out_refund_no"` // 商户分配退款号,保证在商户中唯一
Reason string `json:"reason"` // 退款原因
RefundAmount int `json:"refund_amount"` // 退款金额,单位分
CpExtra string `json:"cp_extra"` // 开发者自定义字段,回调原样回传
NotifyUrl string `json:"notify_url"` // 商户自定义回调地址,必须以 https 开头,支持 443 端口
ThirdPartyId string `json:"thirdparty_id"` // 第三方平台服务商id,服务商模式接入必传,非服务商模式留空
DisableMsg int64 `json:"disable_msg"` // 是否屏蔽支付完成后推送用户抖音消息,1-屏蔽 0-非屏蔽,默认为0。 特别注意: 若接入POI, 请传1。因为POI订单体系会发消息,所以不用再接收一次担保支付推送消息
MsgPage string `json:"msg_page"` // 支付完成后推送给用户的抖音消息跳转页面,开发者需要传入在app.json中定义的链接,如果不传则跳转首页。
}
TradeRefund 发起退款 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/ecpay/refund-list/refund
type TradeRefundCreate ¶
type TradeRefundCreate struct {
TransactionOrder
OrderEntrySchema OrderEntrySchema `json:"order_entry_schema"`
OutRefundNo string `json:"out_refund_no"`
RefundReason []ReasonItem `json:"refund_reason"`
RefundTotalAmount int64 `json:"refund_total_amount"` // 退款总金额,单位分
CpExtra string `json:"cp_extra"`
NotifyUrl string `json:"notify_url"`
RefundAll bool `json:"refund_all"`
ItemOrderDetail []ItemOrderDetail `json:"item_order_detail"`
}
TradeRefundCreate 发起退款 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/payment/trade-system/general/refund/create-refund
type TradeRefundCreateQuery ¶
type TradeRefundCreateQuery struct {
TransactionOrder
OutRefundNo string `json:"out_refund_no"` // 开发者系统生成的退款单号。注意:refund_id , out_refund_no , order_id 三选一,不能都不填。
RefundId string `json:"refund_id"` // 抖音开平内部交易退款单号,长度<= 64byte。注意:refund_id , out_refund_no , order_id 三选一,不能都不填。
}
TradeRefundCreateQuery 查询退款 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/payment/trade-system/general/refund/query-refund
type TradeRefundCreateQueryResponse ¶
type TradeRefundCreateQueryResponse struct {
Error
LogId string `json:"log_id"` // 日志id,排查问题时使用
Data struct {
RefundList []struct {
MerchantAuditDetail struct {
AuditStatus string `json:"audit_status"` // 退款审核状态;INIT:初始化、TOAUDIT:待审核、AGREE:同意、DENY:拒绝、OVERTIME:超时未审核自动同意
NeedRefundAudit int `json:"need_refund_audit"` // 是否需要退款审核,1-需要审核、2-不需要审核
RefundAuditDeadline int64 `json:"refund_audit_deadline"` // 退款审核的最后期限,过期无需审核,自动退款,13 位 unix 时间戳,精度:毫秒
DenyMessage string `json:"deny_message"` // 不同意退款信息,长度 <= 512 byte>
} `json:"merchant_audit_detail"` // 退款审核信息
CreateAt int64 `json:"create_at"` // 退款创建时间,13位毫秒时间戳
RefundAt int64 `json:"refund_at"` // 退款时间,13位毫秒时间戳,只有已退款才有退款时间
RefundStatus string `json:"refund_status"` // 退款状态;退款中-PROCESSING、已退款-SUCCESS、退款失败-FAIL
RefundTotalAmount int `json:"refund_total_amount"` // 退款金额,单位[分]
ItemOrderDetail []struct {
ItemOrderId string `json:"item_order_id"` // 抖音开平侧的商品单号
RefundAmount int `json:"refund_amount"` // 该商品单退款金额,单位[分]
} `json:"item_order_detail"`
Message string `json:"message"` // 退款结果信息,可以通过该字段了解退款失败原因
OrderId string `json:"order_id"` // 系统订单信息,开放平台生成的订单号
OutRefundNo string `json:"out_refund_no"` // 开发者系统生成的退款单号,与抖音开平退款单号唯一关联
RefundId string `json:"refund_id"` // 系统退款单号,开放平台生成的退款单号
RefundSource int32 `json:"refund_source"` // 退款来源,老的担保交易/1.0订单可能没有记录来源;1: 用户发起退款、2: 开发者发起退款、3: 过期自动退款、4: 抖音客服退款、5: 预约失败自动发起退款、6: 开发者拒绝接单退款、7: 后约单触发先买单退款
} `json:"refund_list"`
} `json:"data"`
}
TradeRefundCreateQueryResponse 查询退款响应参数
type TradeRefundCreateResponse ¶
type TradeRefundCreateResponse struct {
Error
LogId string `json:"log_id"` // 日志id,排查问题时使用
Data struct {
RefundAuditDeadline int64 `json:"refund_audit_deadline"` // 退款审核的最后期限,13位unix时间戳,精度:毫秒
RefundId string `json:"refund_id"` // 抖音开放平台交易系统内部退款单号
} `json:"data"`
}
TradeRefundCreateResponse 发起退款响应参数
type TradeRefundQuery ¶
type TradeRefundQuery struct {
AuxParam
OutRefundNo string `json:"out_refund_no"` // 商户分配退款号,保证在商户中唯一
ThirdPartyId string `json:"thirdparty_id"` // 第三方平台服务商id,服务商模式接入必传,非服务商模式留空
}
TradeRefundQuery 退款结果查询 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/ecpay/refund-list/query
type TradeRefundQueryRsp ¶
type TradeRefundQueryRsp struct {
Error
RefundInfo struct {
RefundNo string `json:"refund_no"` // 抖音退款单号
RefundAmount int `json:"refund_amount"` // 退款金额,单位为分
RefundStatus string `json:"refund_status"` // 退款状态枚举 SUCCESS:成功 FAIL:失败 PROCESSING:处理中
RefundedAt int `json:"refunded_at"` // 退款时间,Unix 时间戳,10 位,整型数,秒级
IsAllSettled bool `json:"is_all_settled"` // 退款账户枚举: TRUE:分账后退款,现金户出款 FALSE:分账前退款,在途户出款
CpExtra string `json:"cp_extra"` // 开发者自定义字段,回调原样回传
Msg string `json:"msg"` // 退款错误描述
} `json:"refundInfo"`
}
TradeRefundQueryRsp 退款结果查询响应参数
type TradeRefundRsp ¶
TradeRefundRsp 发起退款响应参数
type TradeTransaction ¶
type TradeTransaction struct {
Transaction
SkuList []SkuList `json:"skuList"` // 下单商品信息
OutOrderNo string `json:"outOrderNo"`
TotalAmount int `json:"totalAmount"` // 订单总金额, 单位:分
PayExpireSeconds int `json:"payExpireSeconds,omitempty"` // 支付超时时间,单位秒,例如 300 表示 300 秒后过期;不传或传 0 会使用默认值 300,不能超过48小时。
PayNotifyUrl string `json:"payNotifyUrl,omitempty"` // 支付结果通知地址,必须是 HTTPS 类型,传入后该笔订单将通知到此地址。
OrderEntrySchema OrderEntrySchema `json:"orderEntrySchema"` // 订单详情页
MerchantUid string `json:"merchantUid,omitempty"` // 开发者自定义收款商户号
LimitPayWayList []int `json:"limitPayWayList,omitempty"` // 屏蔽的支付方式,当开发者没有进件某个支付渠道,可在下单时屏蔽对应的支付方式。如[1, 2]表示屏蔽微信和支付宝 枚举说明: 1-微信 2-支付宝
}
TradeTransaction 通用交易系统生成下单参数与签名 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/payment/trade-system/general/order/request-order-data-sign
type TradeTransactionQuery ¶
type TradeTransactionQuery struct {
TransactionOrder
OutOrderNo string `json:"out_order_no,omitempty"` // 开发者的单号,order_id 与 out_order_no 二选一
}
TradeTransactionQuery 查询订单信息 https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/server/payment/trade-system/general/order/query-order
type TradeTransactionQueryResponse ¶
type TradeTransactionQueryResponse struct {
Error
Data struct {
OrderId string `json:"order_id"` // 抖音开平侧订单号
OutOrderNo string `json:"out_order_no"` // 开发者侧订单号,与 order_id 一一对应
AppId string `json:"app_id"` // 小程序id
PayStatus string `json:"pay_status"` // 订单支付状态,PROCESS:订单处理中 支付处理中;SUCCESS:成功 支付成功;FAIL:失败 支付失败 暂无该情况会支付失败;TIMEOUT:用户超时未支付
PayTime int64 `json:"pay_time"` // 支付成功时间,精度:毫秒。只有在支付成功时才会有值。
PayChannel int `json:"pay_channel"` // 支付渠道枚举,1:微信;2:支付宝;10:抖音支付;只有在支付成功时才会有值。
Currency string `json:"currency"` // 币种
ChannelPayId string `json:"channel_pay_id"` // 渠道支付单号,如:微信的支付单号、支付宝支付单号。只有在支付成功时才会有值。
TradeTime int64 `json:"trade_time"` // 交易下单时间,精度:毫秒
TotalAmount int `json:"total_amount"` // 订单总金额,单位:分,支付金额 = total_amount - discount_amount
DiscountAmount int `json:"discount_amount"` // 订单优惠金额,单位:分,接入营销时请关注这个字段
MerchantUid string `json:"merchant_uid"` // 开发者自定义收款商户号,小程序在抖音开平商户进件时会绑定一个收款账号,当用户交易时,资金会默认收款到此账号,如果某笔交易开发者希望收款到其他账号则需指定希望收款的账号id,此账号必须与默认账号一样属于同一开发者
ItemOrderList []struct {
ItemOrderId string `json:"item_order_id"` // 交易系统商品单号
SkuId string `json:"sku_id"` // 用户下单时传入的商品sku_id
ItemOrderAmount int `json:"item_order_amount"` // item单订单金额,单位分
ItemOrderCurrencyAmount int64 `json:"item_order_currency_amount"` // item单订单币种金额,单位分
} `json:"item_order_list"`
OrderServiceStatus string `json:"order_service_status"` // 仅服务单会有该状态值,"INIT":服务单已创建;"CONFIRMED":已提交信息;"DONE":已完成;"CLOSED":已取消
ServiceCancelReason string `json:"service_cancel_reason"` // 仅服务单会有该值;服务单取消原因
SubmisssionTime int64 `json:"submisssion_time"` // 仅服务单会有该值;用户提交留资信息的时间,秒级时间戳
TotalCurrencyAmount int64 `json:"total_currency_amount"` // 订单币种金额,单位分
} `json:"data"`
LogId string `json:"log_id"` // 日志id,排查问题时使用
}
TradeTransactionQueryResponse 查询订单信息返回
type TradeTransactionResponse ¶
type TradeTransactionResponse struct {
Data string `json:"data"` // 结果为string类型,且必须符合json格式
ByteAuthorization string `json:"byteAuthorization"` // 构造byteAuthorization,其结果为string类型
}
通用交易系统返回
type Transaction ¶
type Transaction struct {
AuxParam
}
type TransactionOrder ¶
type TransactionOrder struct {
AuxParam
OrderId string `json:"order_id,omitempty"` // 抖音开放平台交易订单号,查询订单接口时 order_id 与 out_order_no 二选一,发起退款接口时必填
AccessToken string `json:"access_token"` // 调用https://open.douyin.com/oauth/client_token/生成的token
}
func (TransactionOrder) NeedAccessToken ¶
func (aux TransactionOrder) NeedAccessToken() bool
func (TransactionOrder) NeedAppId ¶
func (aux TransactionOrder) NeedAppId() bool
func (TransactionOrder) NeedSecret ¶
func (aux TransactionOrder) NeedSecret() bool
func (TransactionOrder) NeedSign ¶
func (aux TransactionOrder) NeedSign() bool