# payutils-http-echo **Repository Path**: ghink/payutils-http-echo ## Basic Information - **Project Name**: payutils-http-echo - **Description**: Echo http driver for payutils - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-18 - **Last Updated**: 2026-06-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # payutils-http-echo [Echo](https://github.com/labstack/echo) HTTP driver for [payutils](https://go.gh.ink/payutils/v3). Adapts an Echo router so payutils can register provider callback routes on it. Standard-library `http.HandlerFunc`s are bridged to Echo via `echo.WrapHandler`. ## Module ``` go.gh.ink/payutils/http/echo/v3 ``` ```bash go get go.gh.ink/payutils/http/echo/v3 ``` ## Usage Blank-import the driver (it self-registers under the name `echo`) and pass an Echo router (`*echo.Echo` or a route group) in `Config.Instances`: ```go import ( "github.com/labstack/echo/v4" "go.gh.ink/payutils/v3/client" "go.gh.ink/payutils/v3/model" httpEcho "go.gh.ink/payutils/http/echo/v3" _ "go.gh.ink/payutils/pay/alipay/v3" ) e := echo.New() c, err := client.NewClient(model.Config{ Endpoint: "https://api.example.com", Instances: model.I{httpEcho.Name: e}, // *echo.Echo or *echo.Group Credentials: model.C{ /* ... */ }, Contract: myContract{}, }) ``` payutils then registers `POST /{provider}/callback` on the router for each configured provider. ## Accepted instance `*echo.Echo` and `*echo.Group` (both satisfy the driver's common router subset). Passing an unsupported value makes `NewInstance` return `errors.ErrUnsupportedInstance`. ## Supported verbs `Get` · `Post` · `Put` · `Patch` · `Delete` · `Head` · `Options` · `Any`. ## License See [LICENSE](LICENSE).