EKYC MIDDLEWARE

Trung gian xác thực eKYC
& ký hợp đồng điện tử

BE Middleware đứng giữa các Bank (VPBANK, TPBANK, AT) và Core EKYC (AccessTrade / FPT SDK) — chuẩn hoá quy trình định danh khách hàng và ký số hợp đồng, cung cấp API bảo mật qua JWT RS256 / mTLS.

Tài liệu tích hợp FE API Endpoints Webview (Demo)

Kiến trúc luồng xử lý

Bank & FE không gọi thẳng Core — mọi yêu cầu đi qua BE Middleware

🏦
Bank / Partner
VPBANK · TPBANK · AT
POST /api/v1/partner/*
→
⚙️
BE Middleware (dự án này)
Kiểm tra JWT · Tạo eKYC session · Quản lý hợp đồng · Webhook
Auth: JWT RS256 / mTLS
→
🧩
Core EKYC
AccessTrade · FPT SDK · Hợp đồng điện tử
HMAC-SHA256 + Client-ID
🖥️
Webview (FE)
Luồng định danh: nhập email → chụp CCCD → face match → ký hợp đồng
POST /api/v1/webview/*
→
🔑
Session & Token
webview_token · access_token (JWT) · refresh_token
Bearer Authorization

FE nhận session_id + webview_token 1 lần duy nhất · Sau đó bấm từng bước: init → submit-identity → submit-face → submit-ekyc-result → sign-contract

Phân hệ chính

nwidart/laravel-modules — tách từng nghiệp vụ độc lập

Partner API

Đăng ký / xác thực đối tác bằng JWT RS256, tạo eKYC session, refresh token, tra cứu kết quả.

Modules/Partner

Webview API

API cho FE webview: init, nộp giấy tờ, face match, gửi kết quả EKYC, ký & xem hợp đồng.

Modules/Webview

Core EKYC Connector

Kết nối econtract-gateway (AccessTrade): lấy SDK FPT, tạo hợp đồng, chi tiết & mẫu hợp đồng, HMAC signature.

Modules/Ekyc · Modules/Shared

Công nghệ

Laravel 10.x PHP 8.1 / 8.2 PostgreSQL Redis Queue JWT RS256 (firebase/php-jwt) HMAC-SHA256 nwidart/laravel-modules v8 Laravel Pint / PHPUnit 14 tests