1 <?php
2 /**
3 * @author Krzysztof Gzocha <krzysztof.gzocha@xsolve.pl>
4 */
5 namespace Team3\PayU\SignatureCalculator;
6
7 use Team3\PayU\Configuration\Credentials\CredentialsInterface;
8 use Team3\PayU\Order\Model\OrderInterface;
9 use Team3\PayU\SignatureCalculator\Encoder\Algorithms\AlgorithmInterface;
10
11 /**
12 * Will do the same job as {@link SignatureCalculatorInterface}
13 * but doesn't need data as array. It will turn {@link OrderInterface}
14 * array of alphabetical sorted parameters and pass it to signature calculator.
15 *
16 * Interface OrderSignatureCalculatorInterface
17 * @package Team3\PayU\SignatureCalculator
18 */
19 interface OrderSignatureCalculatorInterface
20 {
21 /**
22 * @param OrderInterface $order
23 * @param CredentialsInterface $credentials
24 * @param AlgorithmInterface $algorithm
25 *
26 * @return string
27 * @throws SignatureCalculatorException
28 */
29 public function calculate(
30 OrderInterface $order,
31 CredentialsInterface $credentials,
32 AlgorithmInterface $algorithm
33 );
34 }
35