use Nexus\ComplianceOperations\Adapters\KycVerificationAdapter;
use Nexus\ComplianceOperations\Adapters\AmlScreeningAdapter;
use Nexus\ComplianceOperations\Coordinators\OnboardingCoordinator;
use Psr\Container\ContainerInterface;
// Simple container setup example
$container->set(KycVerificationAdapterInterface::class, new KycVerificationAdapter());
$container->set(AmlScreeningAdapterInterface::class, new AmlScreeningAdapter());
// ... other adapters
$container->set(OnboardingCoordinator::class, new OnboardingCoordinator(
$container->get(KycVerificationAdapterInterface::class),
$container->get(AmlScreeningAdapterInterface::class),
// ... other dependencies
));
use Nexus\ComplianceOperations\Coordinators\OnboardingCoordinator;
use Nexus\ComplianceOperations\DTOs\Kyc\KycVerificationContext;
class CustomerController
{
public function __construct(
private OnboardingCoordinator $coordinator
) {}
public function onboard(Request $request): Response
{
$context = new KycVerificationContext(
partyId: $request->partyId,
dueDiligenceLevel: 'standard',
partyData: $request->validated()
);
$result = $this->coordinator->initiateOnboarding($context);
return $result->isSuccessful()
? response()->json(['status' => 'onboarded'])
: response()->json(['errors' => $result->getErrors()], 422);
}
}
use Nexus\ComplianceOperations\Coordinators\TransactionMonitoringCoordinator;
$result = $this->monitoringCoordinator->screenTransaction(
transactionId: $transaction->id,
amount: $transaction->amount,
currency: $transaction->currency,
partyId: $transaction->party_id
);
if ($result->
use Nexus\ComplianceOperations\Coordinators\PrivacyRightsCoordinator;
$result = $this->privacyCoordinator->processSubjectRequest(
subjectId: $user->id,
requestType: 'data_export', // or 'deletion', 'rectification'
requestDetails: ['format' => 'json']
);
return $result->getResponsePackage();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.