 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package virtualpayment mini program virtual payment
Index ¶
- Constants
- type AsyncXPayCoinPayNotifyRequest
- type AsyncXPayCoinPayNotifyResponse
- type AsyncXPayGoodsDeliverNotifyRequest
- type AsyncXPayGoodsDeliverNotifyResponse
- type CancelCurrencyPayRequest
- type CancelCurrencyPayResponse
- type CoinInfo
- type CommonRequest
- type CreateWithdrawOrderRequest
- type CreateWithdrawOrderResponse
- type CurrencyPayRequest
- type CurrencyPayResponse
- type DownloadBillRequest
- type DownloadBillResponse
- type Env
- type ErrCode
- type GoodsInfo
- type NotifyProvideGoodsRequest
- type NotifyProvideGoodsResponse
- type OrderItem
- type OrderStatus
- type PayItem
- type PaymentRequest
- type PresentCurrencyRequest
- type PresentCurrencyResponse
- type PublishItem
- type QueryOrderRequest
- type QueryOrderResponse
- type QueryPublishGoodsRequest
- type QueryPublishGoodsResponse
- type QueryUploadGoodsRequest
- type QueryUploadGoodsResponse
- type QueryUserBalanceRequest
- type QueryUserBalanceResponse
- type QueryWithdrawOrderRequest
- type QueryWithdrawOrderResponse
- type RefundOrderRequest
- type RefundOrderResponse
- type SignData
- type StartPublishGoodsRequest
- type StartPublishGoodsResponse
- type StartUploadGoodsRequest
- type StartUploadGoodsResponse
- type URLParams
- type UploadItem
- type VirtualPayment
- func (s *VirtualPayment) CancelCurrencyPay(ctx context.Context, in *CancelCurrencyPayRequest) (out CancelCurrencyPayResponse, err error)
- func (s *VirtualPayment) CreateWithdrawOrder(ctx context.Context, in *CreateWithdrawOrderRequest) (out CreateWithdrawOrderResponse, err error)
- func (s *VirtualPayment) CurrencyPay(ctx context.Context, in *CurrencyPayRequest) (out CurrencyPayResponse, err error)
- func (s *VirtualPayment) DownloadBill(ctx context.Context, in *DownloadBillRequest) (out DownloadBillResponse, err error)
- func (s *VirtualPayment) NotifyProvideGoods(ctx context.Context, in *NotifyProvideGoodsRequest) (out NotifyProvideGoodsResponse, err error)
- func (s *VirtualPayment) PaySign(url, data string) (string, error)
- func (s *VirtualPayment) PaySignature(url, data string) (paySign, signature string, err error)
- func (s *VirtualPayment) PresentCurrency(ctx context.Context, in *PresentCurrencyRequest) (out PresentCurrencyResponse, err error)
- func (s *VirtualPayment) QueryOrder(ctx context.Context, in *QueryOrderRequest) (out QueryOrderResponse, err error)
- func (s *VirtualPayment) QueryPublishGoods(ctx context.Context, in *QueryPublishGoodsRequest) (out QueryPublishGoodsResponse, err error)
- func (s *VirtualPayment) QueryUploadGoods(ctx context.Context, in *QueryUploadGoodsRequest) (out QueryUploadGoodsResponse, err error)
- func (s *VirtualPayment) QueryUserBalance(ctx context.Context, in *QueryUserBalanceRequest) (out QueryUserBalanceResponse, err error)
- func (s *VirtualPayment) QueryWithdrawOrder(ctx context.Context, in *QueryWithdrawOrderRequest) (out QueryWithdrawOrderResponse, err error)
- func (s *VirtualPayment) RefundOrder(ctx context.Context, in *RefundOrderRequest) (out RefundOrderResponse, err error)
- func (s *VirtualPayment) SetSessionKey(sessionKey string)
- func (s *VirtualPayment) Signature(data string) (string, error)
- func (s *VirtualPayment) StartPublishGoods(ctx context.Context, in *StartPublishGoodsRequest) (out StartPublishGoodsResponse, err error)
- func (s *VirtualPayment) StartUploadGoods(ctx context.Context, in *StartUploadGoodsRequest) (out StartUploadGoodsResponse, err error)
 
- type WeChatPayInfo
Constants ¶
const (
	// EmptyString empty string
	EmptyString = ""
)
    Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AsyncXPayCoinPayNotifyRequest ¶
type AsyncXPayCoinPayNotifyRequest struct {
	ToUserName    string         `json:"ToUserName"`    // 小程序的原始 ID
	FromUserName  string         `json:"FromUserName"`  // 发送方帐号(一个 OpenID)该事件消息的 openid,道具发货场景固定为微信官方的 openid
	CreateTime    int            `json:"CreateTime"`    // 消息发送时间(整型)
	MsgType       string         `json:"MsgType"`       // 消息类型,此时固定为:event
	Event         string         `json:"Event"`         // 事件类型,此时固定为:xpay_goods_deliver_notify
	Openid        string         `json:"openid"`        // 用户 openid
	OutTradeNo    string         `json:"OutTradeNo"`    // 业务订单号
	Env           Env            `json:"env"`           // 环境 0-正式环境 1-沙箱环境
	WechatPayInfo *WeChatPayInfo `json:"WechatPayInfo"` // 微信支付订单信息
	CoinInfo      *CoinInfo      `json:"GoodsInfo"`     // 道具信息
}
    AsyncXPayCoinPayNotifyRequest 异步通知代币支付推送,请求参数
type AsyncXPayCoinPayNotifyResponse ¶
type AsyncXPayCoinPayNotifyResponse struct {
	util.CommonError
}
    AsyncXPayCoinPayNotifyResponse 异步通知代币支付推送响应参数
type AsyncXPayGoodsDeliverNotifyRequest ¶
type AsyncXPayGoodsDeliverNotifyRequest struct {
	ToUserName    string         `json:"ToUserName"`    // 小程序的原始 ID
	FromUserName  string         `json:"FromUserName"`  // 发送方帐号(一个 OpenID)该事件消息的 openid,道具发货场景固定为微信官方的 openid
	CreateTime    int            `json:"CreateTime"`    // 消息发送时间(整型)
	MsgType       string         `json:"MsgType"`       // 消息类型,此时固定为:event
	Event         string         `json:"Event"`         // 事件类型,此时固定为:xpay_goods_deliver_notify
	Openid        string         `json:"openid"`        // 用户 openid
	OutTradeNo    string         `json:"OutTradeNo"`    // 业务订单号
	Env           Env            `json:"env"`           // 环境 0-正式环境 1-沙箱环境
	WechatPayInfo *WeChatPayInfo `json:"WechatPayInfo"` // 微信支付订单信息
	GoodsInfo     *GoodsInfo     `json:"GoodsInfo"`     // 道具信息
}
    AsyncXPayGoodsDeliverNotifyRequest 异步通知发货,请求参数 1. 使用支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type AsyncXPayGoodsDeliverNotifyResponse ¶
type AsyncXPayGoodsDeliverNotifyResponse struct {
	util.CommonError
}
    AsyncXPayGoodsDeliverNotifyResponse 异步通知发货响应参数
type CancelCurrencyPayRequest ¶
type CancelCurrencyPayRequest struct {
	CommonRequest
	UserIP     string `json:"user_ip"`      // 用户 ip,例如:1.1.1.1
	PayOrderID string `json:"pay_order_id"` // 支付单号 代币支付 (调用 currency_pay 接口时) 时传的 order_id
	OrderID    string `json:"order_id"`     // 本次退款单的单号
	Amount     int    `json:"amount"`       // 退款金额
	DeviceType int    `json:"device_type"`  // 平台类型 1-安卓 2-苹果
}
    CancelCurrencyPayRequest 取消订单(现金单,非代币单),请求参数 1. 使用支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type CancelCurrencyPayResponse ¶
type CancelCurrencyPayResponse struct {
	util.CommonError
	OrderID string `json:"order_id"` // 退款订单号
}
    CancelCurrencyPayResponse 取消订单(现金单,非代币单)响应参数
type CoinInfo ¶
type CoinInfo struct {
	Quantity    int    `json:"Quantity"`    // 数量
	OrigPrice   int    `json:"OrigPrice"`   // 物品原始价格(单位:分)
	ActualPrice int    `json:"ActualPrice"` // 物品实际支付价格(单位:分)
	Attach      string `json:"Attach"`      // 透传信息
}
    CoinInfo 代币信息
type CommonRequest ¶
type CommonRequest struct {
	OpenID string `json:"openid"` // The user's openID
	Env    Env    `json:"env"`    // Environment 0 - Production environment 1 - Sandbox environment
}
    CommonRequest common request parameters
type CreateWithdrawOrderRequest ¶
type CreateWithdrawOrderRequest struct {
	WithdrawNO     string `json:"withdraw_no"`     // 提现单单号,长度为 [8,32],字符只允许使用字母、数字、'_'、'-'
	WithdrawAmount string `json:"withdraw_amount"` // 提现的金额,单位元,例如提现 1 分钱请使用 0.01
	Env            Env    `json:"env"`             // 环境 0-正式环境 1-沙箱环境
}
    CreateWithdrawOrderRequest 创建提现单,请求参数 1. 使用支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type CreateWithdrawOrderResponse ¶
type CreateWithdrawOrderResponse struct {
	util.CommonError
	WithdrawNO   string `json:"withdraw_no"`    // 提现单单号
	WxWithdrawNO string `json:"wx_withdraw_no"` // 提现单的微信侧单号
}
    CreateWithdrawOrderResponse 创建提现单响应参数
type CurrencyPayRequest ¶
type CurrencyPayRequest struct {
	CommonRequest
	UserIP     string `json:"user_ip"`     // 用户 ip,例如:1.1.1.1
	Amount     int    `json:"amount"`      // 支付的代币数量
	OrderID    string `json:"order_id"`    // 商户订单号,需要保证唯一性
	PayItem    string `json:"payitem"`     // 物品信息。记录到账户流水中。如:[{"productid":"物品 id", "unit_price": 单价,"quantity": 数量}]
	Remark     string `json:"remark"`      // 备注信息。需要在账单中展示
	DeviceType string `json:"device_type"` // 平台类型 1-安卓 2-苹果
}
    CurrencyPayRequest 扣减代币(一般用于代币支付) 1. 需要用户态签名与支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type CurrencyPayResponse ¶
type CurrencyPayResponse struct {
	util.CommonError
	OrderID           string `json:"order_id"`            // 商户订单号
	Balance           int    `json:"balance"`             // 总余额,包括有价和赠送部分
	UsedPresentAmount int    `json:"used_present_amount"` // 使用赠送部分的代币数量
}
    CurrencyPayResponse 扣减代币(一般用于代币支付)响应参数
type DownloadBillRequest ¶
type DownloadBillRequest struct {
	BeginDs string `json:"begin_ds"` // 账单开始日期,格式为 yyyymmdd 起始时间(如 20230801)
	EndDs   string `json:"end_ds"`   // 账单结束日期,格式为 yyyymmdd 结束时间(如 20230801)
}
    DownloadBillRequest 下载账单,请求参数 用于下载小程序账单,第一次调用触发生成下载 url,可以间隔轮训来获取最终生成的下载 url。账单中金额相关字段是以分为单位。 1. 使用支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type DownloadBillResponse ¶
type DownloadBillResponse struct {
	util.CommonError
	URL string `json:"url"` // 账单下载地址
}
    DownloadBillResponse 下载账单响应参数
type ErrCode ¶
type ErrCode int
ErrCode error code
const ( // Success 错误码 0、成功 Success ErrCode = 0 // SystemError 错误码 -1、系统错误 SystemError ErrCode = -1 // OpenIDError 错误码 268490001、openid 错误 OpenIDError ErrCode = 268490001 // RequestParamError 错误码 268490002、请求参数字段错误,具体看 errmsg RequestParamError ErrCode = 268490002 // SignError 错误码 268490003、签名错误 SignError ErrCode = 268490003 // RepeatOperationError 错误码 268490004、重复操作(赠送和代币支付相关接口会返回,表示之前的操作已经成功) RepeatOperationError ErrCode = 268490004 // OrderRefundedError 错误码 268490005、订单已经通过 cancel_currency_pay 接口退款,不支持再退款 OrderRefundedError ErrCode = 268490005 // InsufficientBalanceError 错误码 268490006、代币的退款/支付操作金额不足 InsufficientBalanceError ErrCode = 268490006 // SensitiveContentError 错误码 268490007、图片或文字存在敏感内容,禁止使用 SensitiveContentError ErrCode = 268490007 // TokenNotPublishedError 错误码 268490008、代币未发布,不允许进行代币操作 TokenNotPublishedError ErrCode = 268490008 // SessionKeyExpiredError 错误码 268490009、用户 session_key 不存在或已过期,请重新登录 SessionKeyExpiredError ErrCode = 268490009 // BillGeneratingError 错误码 268490011、账单数据生成中,请稍后调用本接口获取 BillGeneratingError ErrCode = 268490011 )
type GoodsInfo ¶
type GoodsInfo struct {
	ProductID   string `json:"ProductId"`   // 道具 ID
	Quantity    int    `json:"Quantity"`    // 数量
	OrigPrice   int    `json:"OrigPrice"`   // 物品原始价格(单位:分)
	ActualPrice int    `json:"ActualPrice"` // 物品实际支付价格(单位:分)
	Attach      string `json:"Attach"`      // 透传信息
}
    GoodsInfo 道具参数信息
type NotifyProvideGoodsRequest ¶
type NotifyProvideGoodsRequest struct {
	OrderID   string `json:"order_id,omitempty"`    // 商户订单号 下单时传的单号
	WxOrderID string `json:"wx_order_id,omitempty"` // 微信内部单号 (与 order_id 二选一)
	Env       Env    `json:"env"`                   // 环境 0-正式环境 1-沙箱环境
}
    NotifyProvideGoodsRequest 通知发货,请求参数 通知已经发货完成(只能通知现金单),正常通过 xpay_goods_deliver_notify 消息推送返回成功就不需要调用这个 api 接口。这个接口用于异常情况推送不成功时手动将单改成已发货状态 1. 使用支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type NotifyProvideGoodsResponse ¶
type NotifyProvideGoodsResponse struct {
	util.CommonError
}
    NotifyProvideGoodsResponse 通知发货响应参数
type OrderItem ¶
type OrderItem struct {
	OrderID        string      `json:"order_id"`         // 商户订单号
	CreateTime     int64       `json:"create_time"`      // 订单创建时间
	UpdateTime     int64       `json:"update_time"`      // 订单更新时间
	Status         OrderStatus `json:"status"`           // 订单状态 当前状态 0-订单初始化(未创建成功,不可用于支付)1-订单创建成功 2-订单已经支付,待发货 3-订单发货中 4-订单已发货 5-订单已经退款 6-订单已经关闭(不可再使用)7-订单退款失败
	BizType        int         `json:"biz_type"`         // 业务类型 0-短剧
	OrderFee       int         `json:"order_fee"`        // 订单金额,单位:分
	CouponFee      int         `json:"coupon_fee"`       // 优惠金额,单位:分
	PaidFee        int         `json:"paid_fee"`         // 用户支付金额,单位:分
	OrderType      int         `json:"order_type"`       // 订单类型 0-支付单 1-退款单
	RefundFee      int         `json:"refund_fee"`       // 当类型为退款单时表示退款金额,单位分
	PaidTime       int64       `json:"paid_time"`        // 支付/退款时间,unix秒级时间戳
	ProvideTime    int64       `json:"provide_time"`     // 发货时间,unix 秒级时间戳
	BizMeta        string      `json:"biz_meta"`         // 业务自定义数据 订单创建时传的信息
	EnvType        int         `json:"env_type"`         // 环境类型 1-现网 2-沙箱
	Token          string      `json:"token"`            // 下单时米大师返回的 token
	LeftFee        int         `json:"left_fee"`         // 支付单类型时表示此单经过退款还剩余的金额,单位:分
	WxOrderID      string      `json:"wx_order_id"`      // 微信内部单号
	ChannelOrderID string      `json:"channel_order_id"` // 渠道订单号,为用户微信支付详情页面上的商户单号
	WxPayOrderID   string      `json:"wxpay_order_id"`   // 微信支付交易单号,为用户微信支付详情页面上的交易单号
}
    OrderItem 订单信息
type OrderStatus ¶
type OrderStatus int
OrderStatus 订单状态
const ( // OrderStatusInit 订单状态 当前状态 0-订单初始化(未创建成功,不可用于支付) OrderStatusInit OrderStatus = 0 // OrderStatusCreated 订单状态 当前状态 1-订单创建成功 OrderStatusCreated OrderStatus = 1 // OrderStatusPaid 订单状态 当前状态 2-订单已经支付,待发货 OrderStatusPaid OrderStatus = 2 // OrderStatusDelivering 订单状态 当前状态 3-订单发货中 OrderStatusDelivering OrderStatus = 3 // OrderStatusDelivered 订单状态 当前状态 4-订单已发货 OrderStatusDelivered OrderStatus = 4 // OrderStatusRefunded 订单状态 当前状态 5-订单已经退款 OrderStatusRefunded OrderStatus = 5 // OrderStatusClosed 订单状态 当前状态 6-订单已经关闭(不可再使用) OrderStatusClosed OrderStatus = 6 // OrderStatusRefundFailed 订单状态 当前状态 7-订单退款失败 OrderStatusRefundFailed OrderStatus = 7 )
type PayItem ¶
type PayItem struct {
	ProductID string `json:"productid"`  // 物品 id
	UnitPrice int    `json:"unit_price"` // 单价
	Quantity  int    `json:"quantity"`   // 数量
}
    PayItem 物品信息
type PaymentRequest ¶
type PaymentRequest struct {
	SignData  string `json:"sign_data"` // 具体支付参数见 signData, 该参数需以 string 形式传递,例如 signData: '{"offerId":"123","buyQuantity":1,"env":0,"currencyType":"CNY","platform":"android","productId":"testproductId","goodsPrice":10,"outTradeNo":"xxxxxx","attach":"testdata"}'
	Mode      string `json:"mode"`      // 支付模式,枚举值:short_series_goods: 道具直购,short_series_coin: 代币充值
	PaySig    string `json:"pay_sig"`   // 支付签名,具体生成方式见下方说明
	Signature string `json:"signature"` // 用户态签名,具体生成方式见下方说明
}
    PaymentRequest payment request parameters
type PresentCurrencyRequest ¶
type PresentCurrencyRequest struct {
	CommonRequest
	OrderID    string `json:"order_id"`    // 赠送单号,商户订单号,需要保证唯一性
	Amount     int    `json:"amount"`      // 赠送的代币数量
	DeviceType string `json:"device_type"` // 平台类型 1-安卓 2-苹果
}
    PresentCurrencyRequest 赠送代币,请求参数 代币赠送接口,由于目前不支付按单号查赠送单的功能,所以当需要赠送的时候可以一直重试到返回 0 或者返回 268490004(重复操作)为止 1. 需要用户态签名与支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type PresentCurrencyResponse ¶
type PresentCurrencyResponse struct {
	util.CommonError
	Balance        int    `json:"balance"`         // 赠送后用户的代币余额
	OrderID        string `json:"order_id"`        // 赠送单号
	PresentBalance int    `json:"present_balance"` // 用户收到的总赠送金额
}
    PresentCurrencyResponse 赠送代币响应参数
type PublishItem ¶
type PublishItem struct {
	ID            string `json:"id"`                       // 道具 id,添加到开发环境时传的道具 id,长度 (0,64],字符只允许使用字母、数字、'_'、'-'
	PublishStatus int    `json:"publish_status,omitempty"` // 发布状态 0-上传中 1-id 已经存在 2-发布成功 3-发布失败
	ErrMsg        string `json:"errmsg,omitempty"`         // 发布失败的原因
}
    PublishItem 道具信息
type QueryOrderRequest ¶
type QueryOrderRequest struct {
	CommonRequest
	OrderID   string `json:"order_id,omitempty"`    // 商户订单号 创建的订单号
	WxOrderID string `json:"wx_order_id,omitempty"` // 微信内部单号 (与 order_id 二选一)
}
    QueryOrderRequest 查询创建的订单(现金单,非代币单),请求参数 1. 使用支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type QueryOrderResponse ¶
type QueryOrderResponse struct {
	util.CommonError
	Order *OrderItem `json:"order"` // 订单信息
}
    QueryOrderResponse 查询创建的订单(现金单,非代币单)响应参数
type QueryPublishGoodsRequest ¶
type QueryPublishGoodsRequest struct {
	Env Env `json:"env"` // 环境 0-正式环境 1-沙箱环境
}
    QueryPublishGoodsRequest 查询批量发布道具任务,请求参数 1. 使用支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type QueryPublishGoodsResponse ¶
type QueryPublishGoodsResponse struct {
	util.CommonError
	PublishItem []*PublishItem `json:"publish_item"` // 道具信息列表
	Status      int            `json:"status"`       // 任务状态 0-无任务在运行 1-任务运行中 2-上传失败或部分失败(上传任务已经完成)3-上传成功
}
    QueryPublishGoodsResponse 查询批量发布道具任务响应参数
type QueryUploadGoodsRequest ¶
type QueryUploadGoodsRequest struct {
	Env Env `json:"env"` // 环境 0-正式环境 1-沙箱环境
}
    QueryUploadGoodsRequest 查询批量上传道具任务,请求参数 1. 使用支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type QueryUploadGoodsResponse ¶
type QueryUploadGoodsResponse struct {
	util.CommonError
	UploadItem []*UploadItem `json:"upload_item"` // 道具信息列表
	Status     int           `json:"status"`      // 任务状态 0-无任务在运行 1-任务运行中 2-上传失败或部分失败(上传任务已经完成)3-上传成功
}
    QueryUploadGoodsResponse 查询批量上传道具任务响应参数
type QueryUserBalanceRequest ¶
type QueryUserBalanceRequest struct {
	CommonRequest
	UserIP string `json:"user_ip"` // 用户 ip,例如:1.1.1.1
}
    QueryUserBalanceRequest 查询用户代币余额,请求参数 1. 需要用户态签名与支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type QueryUserBalanceResponse ¶
type QueryUserBalanceResponse struct {
	util.CommonError
	Balance        int `json:"balance"`         // 代币总余额,包括有价和赠送部分
	PresentBalance int `json:"present_balance"` // 赠送账户的代币余额
	SumSave        int `json:"sum_save"`        // 累计有价货币充值数量
	SumPresent     int `json:"sum_present"`     // 累计赠送无价货币数量
	SumBalance     int `json:"sum_balance"`     // 历史总增加的代币金额
	SumCost        int `json:"sum_cost"`        // 历史总消耗代币金额
	FirstSaveFlag  int `json:"first_save_flag"` // 是否满足首充活动标记。0:不满足。1:满足
}
    QueryUserBalanceResponse 查询虚拟支付余额 响应参数
type QueryWithdrawOrderRequest ¶
type QueryWithdrawOrderRequest struct {
	WithdrawNO string `json:"withdraw_no"` // 提现单单号,长度为 [8,32],字符只允许使用字母、数字、'_'、'-' (与 wx_withdraw_no 二选一)
	Env        Env    `json:"env"`         // 环境 0-正式环境 1-沙箱环境
}
    QueryWithdrawOrderRequest 查询提现单,请求参数 1. 使用支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type QueryWithdrawOrderResponse ¶
type QueryWithdrawOrderResponse struct {
	util.CommonError
	WithdrawNO               string `json:"withdraw_no"`                // 提现单单号
	Status                   int    `json:"status"`                     // 提现单的微信侧单号 1-创建成功,提现中 2-提现成功 3-提现失败
	WithdrawAmount           string `json:"withdraw_amount"`            // 提现的金额,单位元,例如提现 1 分钱请使用 0.01
	WxWithdrawNo             string `json:"wx_withdraw_no"`             // 提现单的微信侧单号
	WithdrawSuccessTimestamp int64  `json:"withdraw_success_timestamp"` // 提现单成功的秒级时间戳,unix 秒级时间戳
	CreateTime               string `json:"create_time"`                // 提现单创建时间
	FailReason               string `json:"failReason"`                 // 提现失败的原因
}
    QueryWithdrawOrderResponse 查询提现单响应参数
type RefundOrderRequest ¶
type RefundOrderRequest struct {
	CommonRequest
	OrderID       string `json:"order_id"`        // 商户订单号,需要保证唯一性
	WxOrderID     string `json:"wx_order_id"`     // 微信内部单号 (与 order_id 二选一)
	RefundOrderID string `json:"refund_order_id"` // 退款单号,本次退款时需要传的单号,长度为 [8,32],字符只允许使用字母、数字、'_'、'-'
	LeftFee       int    `json:"left_fee"`        // 退款金额,单位:分 当前单剩余可退金额,单位分,可以通过调用 query_order 接口查到
	RefundFee     int    `json:"refund_fee"`      // 退款金额,单位:分 需要 (0,left_fee] 之间
	BizMeta       string `json:"biz_meta"`        // 商家自定义数据,传入后可在 query_order 接口查询时原样返回,长度需要 [0,1024]
	RefundReason  string `json:"refund_reason"`   // 退款原因,当前仅支持以下值 0-暂无描述 1-产品问题,影响使用或效果不佳 2-售后问题,无法满足需求 3-意愿问题,用户主动退款 4-价格问题 5:其他原因
	ReqFrom       string `json:"req_from"`        // 退款来源,当前仅支持以下值 1-人工客服退款,即用户电话给客服,由客服发起退款流程 2-用户自己发起退款流程 3-其它
}
    RefundOrderRequest 退款,请求参数 对使用 jsapi 接口下的单进行退款 1. 使用支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type RefundOrderResponse ¶
type RefundOrderResponse struct {
	util.CommonError
	RefundOrderID   string `json:"refund_order_id"`    // 退款单号
	RefundWxOrderID string `json:"refund_wx_order_id"` // 退款单的微信侧单号
	PayOrderID      string `json:"pay_order_id"`       // 该退款单对应的支付单单号
	PayWxOrderID    string `json:"pay_wx_order_id"`    // 该退款单对应的支付单微信侧单号
}
    RefundOrderResponse 退款响应参数
type SignData ¶
type SignData struct {
	OfferID      string `json:"offerId"`             // 在米大师侧申请的应用 id, mp-支付基础配置中的 offerid
	BuyQuantity  int    `json:"buyQuantity"`         // 购买数量
	Env          Env    `json:"env"`                 // 环境 0-正式环境 1-沙箱环境
	CurrencyType string `json:"currencyType"`        // 币种 默认值:CNY 人民币
	Platform     string `json:"platform,omitempty"`  // 申请接入时的平台,platform 与应用 id 有关 默认值:android 安卓平台
	ProductID    string `json:"productId,omitempty"` // 道具 ID, **该字段仅 mode=short_series_goods 时可用**
	GoodsPrice   int    `json:"goodsPrice"`          // 道具单价 (分), **该字段仅 mode=short_series_goods 时可用**, 用来校验价格与后台道具价格是否一致,避免用户在业务商城页看到的价格与实际价格不一致导致投诉
	OutTradeNo   string `json:"outTradeNo"`          // 业务订单号,每个订单号只能使用一次,重复使用会失败 (极端情况不保证唯一,不建议业务强依赖唯一性). 要求 8-32 个字符内,只能是数字、大小写字母、符号 _-|*@组成,不能以下划线 (_) 开头
	Attach       string `json:"attach"`              // 透传数据,发货通知时会透传给开发者
}
    SignData 签名数据
type StartPublishGoodsRequest ¶
type StartPublishGoodsRequest struct {
	Env         Env            `json:"env"`          // 环境 0-正式环境 1-沙箱环境
	PublishItem []*PublishItem `json:"publish_item"` // 道具信息 发布的商品列表
}
    StartPublishGoodsRequest 启动批量发布道具任务,请求参数 1. 使用支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type StartPublishGoodsResponse ¶
type StartPublishGoodsResponse struct {
	util.CommonError
}
    StartPublishGoodsResponse 启动批量发布道具任务响应参数
type StartUploadGoodsRequest ¶
type StartUploadGoodsRequest struct {
	UploadItem []*UploadItem `json:"upload_item"` // 道具信息
	Env        Env           `json:"env"`         // 环境 0-正式环境 1-沙箱环境
}
    StartUploadGoodsRequest 启动批量上传道具任务,请求参数 1. 使用支付签名 POST,请求参数为 json 字符串,Content-Type 为 application/json
type StartUploadGoodsResponse ¶
type StartUploadGoodsResponse struct {
	util.CommonError
}
    StartUploadGoodsResponse 启动批量上传道具任务响应参数
type URLParams ¶
type URLParams struct {
	Path        string `json:"path"`
	AccessToken string `json:"access_token"`
	PaySign     string `json:"paySign"`
	Signature   string `json:"signature"`
	Content     string `json:"content"`
}
    URLParams url parameter
type UploadItem ¶
type UploadItem struct {
	ID           string `json:"id"`                      // 道具 id,长度 (0,64],字符只允许使用字母、数字、'_'、'-'
	Name         string `json:"name"`                    // 道具名称,长度 (0,1024]
	Price        int    `json:"price"`                   // 道具单价,单位分,需要大于 0
	Remark       string `json:"remark"`                  // 道具备注,长度 (0,1024]
	ItemURL      string `json:"item_url"`                // 道具图片的 url 地址,当前仅支持 jpg,png 等格式
	UploadStatus int    `json:"upload_status,omitempty"` // 上传状态 0-上传中 1-id 已经存在 2-上传成功 3-上传失败
	ErrMsg       string `json:"errmsg,omitempty"`        // 上传失败的原因
}
    UploadItem 道具信息
type VirtualPayment ¶
type VirtualPayment struct {
	// contains filtered or unexported fields
}
    VirtualPayment mini program virtual payment https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/virtual-payment.html#_2-3-%E6%9C%8D%E5%8A%A1%E5%99%A8API
func NewVirtualPayment ¶
func NewVirtualPayment(ctx *context.Context) *VirtualPayment
NewVirtualPayment 实例化小程序虚拟支付 API
func (*VirtualPayment) CancelCurrencyPay ¶
func (s *VirtualPayment) CancelCurrencyPay(ctx context.Context, in *CancelCurrencyPayRequest) (out CancelCurrencyPayResponse, err error)
CancelCurrencyPay 取消订单 代币支付退款 (currency_pay 接口的逆操作)
func (*VirtualPayment) CreateWithdrawOrder ¶
func (s *VirtualPayment) CreateWithdrawOrder(ctx context.Context, in *CreateWithdrawOrderRequest) (out CreateWithdrawOrderResponse, err error)
CreateWithdrawOrder 创建提现单
func (*VirtualPayment) CurrencyPay ¶
func (s *VirtualPayment) CurrencyPay(ctx context.Context, in *CurrencyPayRequest) (out CurrencyPayResponse, err error)
CurrencyPay currency pay 扣减代币(一般用于代币支付)
func (*VirtualPayment) DownloadBill ¶
func (s *VirtualPayment) DownloadBill(ctx context.Context, in *DownloadBillRequest) (out DownloadBillResponse, err error)
DownloadBill 下载订单交易账单
func (*VirtualPayment) NotifyProvideGoods ¶
func (s *VirtualPayment) NotifyProvideGoods(ctx context.Context, in *NotifyProvideGoodsRequest) (out NotifyProvideGoodsResponse, err error)
NotifyProvideGoods 通知发货 通知已经发货完成(只能通知现金单),正常通过 xpay_goods_deliver_notify 消息推送返回成功就不需要调用这个 api 接口。这个接口用于异常情况推送不成功时手动将单改成已发货状态
func (*VirtualPayment) PaySign ¶
func (s *VirtualPayment) PaySign(url, data string) (string, error)
PaySign pay sign
func (*VirtualPayment) PaySignature ¶
func (s *VirtualPayment) PaySignature(url, data string) (paySign, signature string, err error)
PaySignature pay sign and signature
func (*VirtualPayment) PresentCurrency ¶
func (s *VirtualPayment) PresentCurrency(ctx context.Context, in *PresentCurrencyRequest) (out PresentCurrencyResponse, err error)
PresentCurrency 代币赠送接口,由于目前不支付按单号查赠送单的功能,所以当需要赠送的时候可以一直重试到返回 0 或者返回 268490004(重复操作)为止
func (*VirtualPayment) QueryOrder ¶
func (s *VirtualPayment) QueryOrder(ctx context.Context, in *QueryOrderRequest) (out QueryOrderResponse, err error)
QueryOrder 查询创建的订单(现金单,非代币单)
func (*VirtualPayment) QueryPublishGoods ¶
func (s *VirtualPayment) QueryPublishGoods(ctx context.Context, in *QueryPublishGoodsRequest) (out QueryPublishGoodsResponse, err error)
QueryPublishGoods 查询发布商品
func (*VirtualPayment) QueryUploadGoods ¶
func (s *VirtualPayment) QueryUploadGoods(ctx context.Context, in *QueryUploadGoodsRequest) (out QueryUploadGoodsResponse, err error)
QueryUploadGoods 查询上传商品
func (*VirtualPayment) QueryUserBalance ¶
func (s *VirtualPayment) QueryUserBalance(ctx context.Context, in *QueryUserBalanceRequest) (out QueryUserBalanceResponse, err error)
QueryUserBalance 查询虚拟支付余额
func (*VirtualPayment) QueryWithdrawOrder ¶
func (s *VirtualPayment) QueryWithdrawOrder(ctx context.Context, in *QueryWithdrawOrderRequest) (out QueryWithdrawOrderResponse, err error)
QueryWithdrawOrder 查询提现单
func (*VirtualPayment) RefundOrder ¶
func (s *VirtualPayment) RefundOrder(ctx context.Context, in *RefundOrderRequest) (out RefundOrderResponse, err error)
RefundOrder 退款 对使用 jsapi 接口下的单进行退款
func (*VirtualPayment) SetSessionKey ¶
func (s *VirtualPayment) SetSessionKey(sessionKey string)
SetSessionKey 设置 sessionKey
func (*VirtualPayment) Signature ¶
func (s *VirtualPayment) Signature(data string) (string, error)
Signature user signature
func (*VirtualPayment) StartPublishGoods ¶
func (s *VirtualPayment) StartPublishGoods(ctx context.Context, in *StartPublishGoodsRequest) (out StartPublishGoodsResponse, err error)
StartPublishGoods 开始发布商品
func (*VirtualPayment) StartUploadGoods ¶
func (s *VirtualPayment) StartUploadGoods(ctx context.Context, in *StartUploadGoodsRequest) (out StartUploadGoodsResponse, err error)
StartUploadGoods 开始上传商品
type WeChatPayInfo ¶
type WeChatPayInfo struct {
	MchOrderNo    string `json:"MchOrderNo"`    // 商户订单号
	TransactionID string `json:"TransactionId"` // 微信支付订单号
}
    WeChatPayInfo 微信支付信息 非微信支付渠道可能没有