1 <?php
2 /**
3 * @author Krzysztof Gzocha <krzysztof.gzocha@xsolve.pl>
4 */
5 namespace Team3\PayU\Communication\Sender;
6
7 use Buzz\Message\RequestInterface;
8 use Buzz\Message\Response;
9 use Team3\PayU\Communication\ClientException as PayUClientException;
10 use Team3\PayU\Configuration\Credentials\CredentialsInterface;
11
12 /**
13 * Encapsulates all client (e.g. cURL) related options and sending function.
14 *
15 * Interface SenderInterface
16 * @package Team3\PayU\Communication\Sender
17 */
18 interface SenderInterface
19 {
20 /**
21 * @param RequestInterface $request
22 * @param CredentialsInterface $credentials
23 *
24 * @return Response
25 * @throws PayUClientException
26 */
27 public function send(RequestInterface $request, CredentialsInterface $credentials);
28 }
29