alexeevdv/sumsub-client
Laravel/PHP client for Sumsub API integration. Provides simple requests and helpers to manage applicants and verifications, submit documents, and handle webhook callbacks/signature validation, making it easier to connect your app to Sumsub KYC/AML workflows.
alexeevdv/sumsub-client package is a SumSub API wrapper, ideal for applications requiring identity verification, document authentication, or KYC (Know Your Customer) workflows. It fits well in:
VerificationService) for loose coupling.startVerification()).verifyWebhookSignature()).uploadDocument())..env: Supports SUMSUB_SECRET_KEY, SUMSUB_WEBHOOK_SECRET.VerificationCompleted) for async processing.verification_sessions table).users ↔ sumsub_users).| Risk | Mitigation Strategy |
|---|---|
| API Deprecation | Monitor SumSub’s API changelog; wrap calls in a facade/adapter pattern for isolation. |
| Webhook Reliability | Implement idempotency checks (e.g., store webhook_id in DB). |
| Rate Limiting | Use Laravel’s throttle middleware or SumSub’s API limits. |
| Error Handling | Centralize exceptions (e.g., SumSubException) and log retries. |
| Data Privacy | Ensure PII (Personally Identifiable Information) is encrypted at rest (e.g., Laravel Encryption). |
Http facade for consistency.VerificationStarted, VerificationFailed events.sumsub:verify-job for async operations (e.g., document processing).class VerificationSession extends Model {
public function user() { return $this->belongsTo(User::class); }
public function documents() { return $this->hasMany(VerificationDocument::class); }
}
Schema::create('verification_sessions', function (Blueprint $table) {
$table->id();
$table->string('sumsub_session_id')->unique();
$table->foreignId('user_id')->constrained();
$table->json('metadata');
$table->timestamps();
});
sessionId.laravel/framework package constraints.openssl (for HMAC) and fileinfo (for document validation).sumsub/sdk for breaking changes).composer require alexeevdv/sumsub-client)..env and publish config (php artisan vendor:publish).VerificationService facade./sumsub/webhook) with middleware.sumsub/sdk).config/sumsub.php) for easy overrides.sumsub_session_id and user_id in verification_sessions.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| SumSub API Outage | Users stuck in verification flow. | Fallback to manual review + user notification. |
| Webhook Signature Mismatch | Silent data loss. | Alerting (e.g., Slack via Laravel Echo) + retry logic. |
| Database Lock Contention | Slow verification status updates. | Optimize queries; use database read replicas for reporting. |
| Malicious Webhook Payloads | Data corruption. | Strict validation (e.g., `sumsub_session_id |
How can I help you explore Laravel packages today?