Contents

3DS payment bounded context — Iyzico / Moka, transaction list, webhook.

Locations

Layer Path
Domain internal/domain/payment/
Application internal/application/payment/start with threeds.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.gopageRoutes().

Related