3DS payment bounded context — Iyzico / Moka, transaction list, webhook.
Locations
| Layer | Path |
|---|
| Domain | internal/domain/payment/ |
| Application | internal/application/payment/ — start withthreeds.go (ThreeDSService) |
| HTTP | internal/adapters/http/handler/payment_handler.go |
| GoUI | internal/adapters/goui/controller_settings_payments_audit.go (checkout, transactions) |
| Persistence | adapters/persistence/postgres/payment_repository.go |
| Infrastructure | internal/infrastructure/payment/iyzico, .../moka |
| Wiring | wire_user.go (ThreeDSSvc); wire_http.go, wire_goui.go |
Application (ThreeDSService)
| File | Typical role |
|---|
threeds.go | Facade: BinCheck, Initialize/Complete 3DS, List/Get, webhook/callback |
reconcile.go | ReconcileStale — stuck transactions |
HTTP surfaces
Registration: internal/adapters/http/server.go → /api/v1/payments/...
| Method | Path | Handler | Permission (summary) |
|---|
| POST | /payments/bin-check | BinCheck | payments:charge |
| POST | /payments/3ds/initialize | Initialize3DS | payments:charge |
| POST | /payments/3ds/auth | Complete3DS | payments:charge |
| POST | /payments/calc-amount | CalcPaymentAmount | payments:charge |
| GET | /payments/transactions | ListPayments | payments:list |
| GET | /payments/transactions/:reference | GetPayment | payments:charge or payments:list |
| POST | /payments/3ds/callback | Callback3DS | public (provider) |
| POST | /payments/webhook/iyzico | IyzicoWebhook | public (signature) |
Panel surfaces
| Path | Screen | Controller |
|---|
/dashboard/payments/checkout | checkout | checkout |
/dashboard/payments/transactions | payments | list |
/dashboard/payments/transactions/:reference | payment-show | show |
Route table: adapters/goui/routes.go → pageRoutes().
Related