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 }