payment

package
v1.1.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 29, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterFlowRoutes

func RegisterFlowRoutes(e *flow.Engine, manager *PaymentManager)

RegisterFlowRoutes 注册支付相关路由到 Flow 引擎

func RegisterRoutes

func RegisterRoutes(mux *http.ServeMux, manager *PaymentManager)

RegisterRoutes 注册支付相关路由

Types

type CallbackResult

type CallbackResult struct {
	OrderID       string
	TransactionID string
	Paid          bool
	Amount        int64
	Raw           interface{}
}

回调处理结果

type PaymentManager

type PaymentManager struct {
	// contains filtered or unexported fields
}

支付管理器

func NewPaymentManager

func NewPaymentManager() *PaymentManager

func (*PaymentManager) Get

func (m *PaymentManager) Get(name string) PaymentProvider

获取支付渠道

func (*PaymentManager) GetProvider

func (m *PaymentManager) GetProvider(name string) PaymentProvider

GetProvider 获取支付提供者

func (*PaymentManager) GetProviders

func (m *PaymentManager) GetProviders() map[string]PaymentProvider

GetProviders 获取所有支付提供者

func (*PaymentManager) Register

func (m *PaymentManager) Register(provider PaymentProvider)

注册支付渠道

type PaymentParams

type PaymentParams struct {
	Amount      int64  // 金额,单位分
	Currency    string // 货币类型,如CNY、USD
	Description string // 订单描述
	OrderID     string // 业务订单号
	NotifyURL   string // 支付回调通知地址
	ReturnURL   string // 支付完成后跳转地址

}

支付请求参数

type PaymentProvider

type PaymentProvider interface {
	// Name 返回支付提供者名称
	Name() string

	// CreatePayment 创建支付
	CreatePayment(req *PaymentRequest) (*PaymentResponse, error)

	// QueryPayment 查询支付状态
	QueryPayment(orderID string) (*PaymentStatus, error)

	// HandleNotify 处理支付回调
	HandleNotify(request *http.Request) error

	// Refund 退款
	Refund(req *RefundRequest) (*RefundResponse, error)
}

支付渠道统一接口

type PaymentRequest

type PaymentRequest struct {
	Amount   float64           `json:"amount"`
	Currency string            `json:"currency"`
	OrderID  string            `json:"order_id"`
	Subject  string            `json:"subject,omitempty"`
	Body     string            `json:"body,omitempty"`
	Metadata map[string]string `json:"metadata,omitempty"`
}

PaymentRequest 支付请求参数

type PaymentResponse

type PaymentResponse struct {
	TradeNo     string            `json:"trade_no"`
	OrderID     string            `json:"order_id"`
	PaymentURL  string            `json:"payment_url,omitempty"`
	QRCodeURL   string            `json:"qrcode_url,omitempty"`
	Status      string            `json:"status"`
	PaymentInfo map[string]string `json:"payment_info,omitempty"`
}

PaymentResponse 支付响应结果

type PaymentResult

type PaymentResult struct {
	Provider      string      // 支付渠道
	PaymentURL    string      // 跳转支付页面的URL(如有)
	TransactionID string      // 支付平台订单号
	Raw           interface{} // 原始返回数据
}

支付结果

type PaymentStatus

type PaymentStatus struct {
	TradeNo     string            `json:"trade_no"`
	OrderID     string            `json:"order_id"`
	Status      string            `json:"status"`
	PaidAmount  float64           `json:"paid_amount"`
	PaidTime    string            `json:"paid_time,omitempty"`
	PaymentInfo map[string]string `json:"payment_info,omitempty"`
}

PaymentStatus 支付状态

type RefundRequest

type RefundRequest struct {
	OrderID  string            `json:"order_id"`
	Amount   float64           `json:"amount"`
	Reason   string            `json:"reason,omitempty"`
	Metadata map[string]string `json:"metadata,omitempty"`
}

RefundRequest 退款请求参数

type RefundResponse

type RefundResponse struct {
	RefundID   string            `json:"refund_id"`
	OrderID    string            `json:"order_id"`
	Amount     float64           `json:"amount"`
	Status     string            `json:"status"`
	RefundTime string            `json:"refund_time,omitempty"`
	RefundInfo map[string]string `json:"refund_info,omitempty"`
}

RefundResponse 退款响应结果

type StatusResult

type StatusResult struct {
	OrderID       string
	TransactionID string
	Status        string // 如: pending, paid, failed
	Raw           interface{}
}

订单状态查询结果

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL