dimafe6/bank-id
Laravel package for working with BankID: send authentication/sign requests, collect results, and handle statuses. Includes configurable client setup, helpers, and examples for integrating BankID flows into your PHP app.
Library for connect Swedish BankID to your application. This library implements BankID API V5. If your needed library for a BankID API V4 please use version 1.*
Via Composer
$ composer require dimafe6/bank-id
Either you let the user enter their personal number and pass to BankID or you only pass the order ref and receive the personal number from the response from BankID.
<?php
// Create BankIDService
$bankIDService = new BankIDService(
'https://appapi2.test.bankid.com/rp/v5.1/',
$_SERVER["REMOTE_ADDR"],
[
'verify' => false,
'cert' => 'PATH_TO_TEST_CERT.pem',
]
);
// OR Create BankIDService with ssl verification
$bankIDService = new BankIDService(
'https://appapi2.test.bankid.com/rp/v5.1/',
$_SERVER["REMOTE_ADDR"],
[
'verify' => 'PATH_TO_TEST_CERT.ca',
'cert' => 'PATH_TO_TEST_CERT.crt',
'ssl_key' => 'PATH_TO_TEST_CERT.key',
]
);
// Signing. Step 1 - Get orderRef
/** @var OrderResponse $response */
$response = $bankIDService->getSignResponse('PERSONAL_NUMBER', 'User visible data', "user non visible data", "user visible data format");
// Signing. Step 2 - Collect orderRef.
// Repeat until $collectResponse->status !== CollectResponse::STATUS_COMPLETED
$collectResponse = $bankIDService->collectResponse($response->orderRef);
if($collectResponse->status === CollectResponse::STATUS_COMPLETED) {
return true; //Signed successfully
}
// Authorize. Step 1 - Get orderRef
$response = $bankIDService->getAuthResponse('PERSONAL_NUMBER');
// Authorize. Step 2 - Collect orderRef.
// Repeat until $authResponse->status !== CollectResponse::STATUS_COMPLETED
$authResponse = $bankIDService->collectResponse($response->orderRef);
if($authResponse->status == CollectResponse::STATUS_COMPLETED) {
return true; //Authorized
}
// Cancel auth or collect order
// Authorize. Step 1 - Get orderRef
$response = $bankIDService->getAuthResponse('PERSONAL_NUMBER');
// Cancel authorize order
if($bankIDService->cancelOrder($response->orderRef)) {
return 'Authorization canceled';
}
// Authorize. Step 1 - Get orderRef
$response = $bankIDService->getAuthResponse();
// Authorize. Step 2 - Collect orderRef.
// Repeat until $authResponse->status !== CollectResponse::STATUS_COMPLETED
$authResponse = $bankIDService->collectResponse($response->orderRef);
if($authResponse->status == CollectResponse::STATUS_COMPLETED) {
echo $authResponse->completionData->user->personalNumber;
return true; //Authorized
}
$ cp phpunit.xml.dist phpunit.xml
$ ./vendor/bin/phpunit
The MIT License (MIT). Please see License File for more information.
How can I help you explore Laravel packages today?