85 lines
2.7 KiB
Go
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"`
|
|
}
|