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 微信支付信息 非微信支付渠道可能没有