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: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78:
<?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;
use RKD\Banklink\Response\ResponseInterface;
/**
* Protocol interface.
*
* @author Rene Korss <rene.korss@gmail.com>
*/
interface ProtocolInterface
{
/**
* Get payment object.
*
* @param int $orderId Order ID
* @param float $sum Sum of order
* @param string $message Transaction description
* @param string $language Language
* @param string $currency Currency. Default: EUR
* @param array $customRequestData Optional custom request data
* @param string $encoding Encoding
* @param string $timezone Timezone. Default: Europe/Tallinn
*
* @return array Payment request data
*/
public function getPaymentRequest(
int $orderId,
float $sum,
string $message,
string $language = 'EST',
string $currency = 'EUR',
array $customRequestData = [],
string $encoding = 'UTF-8',
string $timezone = 'Europe/Tallinn'
) : array;
/**
* 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
*/
public function getAuthRequest(
?string $recId = null,
?string $nonce = null,
?string $rid = null,
string $encoding = 'UTF-8',
string $language = 'EST',
string $timezone = 'Europe/Tallinn'
) : array;
/**
* Handles response from bank.
*
* @param array $response Response data from bank
* @param string $encoding Encoding
*
* @return RKD\Banklink\Response\ResponseInterface Response object, depending on request made
*/
public function handleResponse(array $response, string $encoding = 'UTF-8') : ResponseInterface;
}