package wepay import ( "time" "go.ipao.vip/atom/container" "go.ipao.vip/atom/opt" ) const DefaultPrefix = "WePay" func DefaultProvider() container.ProviderContainer { return container.ProviderContainer{ Provider: Provide, Options: []opt.Option{ opt.Prefix(DefaultPrefix), }, } } type PayNotify struct { Mchid string `json:"mchid"` Appid string `json:"appid"` OutTradeNo string `json:"out_trade_no"` TransactionID string `json:"transaction_id"` TradeType string `json:"trade_type"` TradeState string `json:"trade_state"` TradeStateDesc string `json:"trade_state_desc"` BankType string `json:"bank_type"` Attach string `json:"attach"` SuccessTime time.Time `json:"success_time"` Payer struct { Openid string `json:"openid"` } `json:"payer"` Amount struct { Total int64 `json:"total"` PayerTotal int64 `json:"payer_total"` Currency string `json:"currency"` PayerCurrency string `json:"payer_currency"` } `json:"amount"` } type RefundResponse struct { RefundID string `json:"refund_id"` OutRefundNo string `json:"out_refund_no"` TransactionID string `json:"transaction_id"` OutTradeNo string `json:"out_trade_no"` Channel string `json:"channel"` UserReceivedAccount string `json:"user_received_account"` SuccessTime time.Time `json:"success_time"` CreateTime time.Time `json:"create_time"` Status string `json:"status"` FundsAccount string `json:"funds_account"` Amount struct { Total int `json:"total"` Refund int `json:"refund"` From []struct { Account string `json:"account"` Amount int `json:"amount"` } `json:"from"` PayerTotal int `json:"payer_total"` PayerRefund int `json:"payer_refund"` SettlementRefund int `json:"settlement_refund"` SettlementTotal int `json:"settlement_total"` DiscountRefund int `json:"discount_refund"` Currency string `json:"currency"` RefundFee int `json:"refund_fee"` } `json:"amount"` PromotionDetail []struct { PromotionID string `json:"promotion_id"` Scope string `json:"scope"` Type string `json:"type"` Amount int `json:"amount"` RefundAmount int `json:"refund_amount"` GoodsDetail []struct { MerchantGoodsID string `json:"merchant_goods_id"` WechatpayGoodsID string `json:"wechatpay_goods_id"` GoodsName string `json:"goods_name"` UnitPrice int `json:"unit_price"` RefundAmount int `json:"refund_amount"` RefundQuantity int `json:"refund_quantity"` } `json:"goods_detail"` } `json:"promotion_detail"` }