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
}
Copy phpunit.xml.dist to phpunit.xml
$ cp phpunit.xml.dist phpunit.xml
Execute
$ ./vendor/bin/phpunit
The MIT License (MIT). Please see License File for more information.