31 lines
873 B
Go
31 lines
873 B
Go
package service
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/model"
|
|
)
|
|
|
|
type (
|
|
IAlipay interface {
|
|
Pay(ctx context.Context, req *model.AlipayPayInput) (res *model.AlipayPayOutput, err error)
|
|
Notify(ctx context.Context, req *model.AlipayNotifyInput) (res *model.AlipayNotifyOutput, err error)
|
|
Return(ctx context.Context, req *model.AlipayReturnInput) (res *model.AlipayReturnOutput, err error)
|
|
Query(ctx context.Context, req *model.AlipayTradeQueryInput) (res *model.AlipayTradeQueryOutput, err error)
|
|
Refund(ctx context.Context, req *model.AlipayRefundInput) (res *model.AlipayRefundOutput, err error)
|
|
}
|
|
)
|
|
|
|
var localAlipay IAlipay
|
|
|
|
func Alipay() IAlipay {
|
|
if localAlipay == nil {
|
|
panic("implement not found for interface IAlipay, forgot register?")
|
|
}
|
|
return localAlipay
|
|
}
|
|
|
|
func RegisterAlipay(i IAlipay) {
|
|
localAlipay = i
|
|
}
|