Files
quyun/backend/providers/wepay/config.go
2025-05-06 19:21:41 +08:00

85 lines
2.7 KiB
Go

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"`
}