1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62:
<?php
/**
* RKD Banklink.
*
* @link https://github.com/renekorss/Banklink/
*
* @author Rene Korss <rene.korss@gmail.com>
* @copyright 2016-2019 Rene Korss
* @license MIT
*/
namespace RKD\Banklink\Protocol\ProtocolTrait;
use LogicException;
use RKD\Banklink\Response\ResponseInterface;
/**
* Trait for protocols not using auth request.
*
* @author Rene Korss <rene.korss@gmail.com>
*/
trait NoAuthTrait
{
/**
* Get authentication object.
*
* @param string|null $recId Bank identifier
* @param string|null $nonce Random nonce
* @param string|null $rid Session identifier.
* @param string $encoding Encoding
* @param string $language Language
* @param string $timezone Timezone. Default: Europe/Tallinn
*
* @return array Authentication request data
*
* @SuppressWarnings("unused")
*/
public function getAuthRequest(
?string $recId = null,
?string $nonce = null,
?string $rid = null,
string $encoding = 'UTF-8',
string $language = 'EST',
string $timezone = 'Europe/Tallinn'
) : array {
throw new LogicException(get_class().' protocol dosen\'t support authentication.');
}
/**
* Handles response from bank.
*
* @param array $response Response data from bank
* @param string $encoding Encoding
*
* @return \Response\PaymentResponse Payment response object
*/
public function handleResponse(array $response, string $encoding = 'UTF-8') : ResponseInterface
{
$success = $this->validateSignature($response, $encoding);
return $this->handlePaymentResponse($response, $success);
} // @codeCoverageIgnore
}