/
TransactionsApi.php
66 lines (52 loc) · 2.05 KB
/
TransactionsApi.php
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
<?php
namespace Tpay\Api\Transactions;
use Tpay\Api\ApiAction;
use Tpay\Model\Objects\RequestBody\Pay;
use Tpay\Model\Objects\RequestBody\Refund;
use Tpay\Model\Objects\RequestBody\Transaction;
use Tpay\Model\Objects\RequestBody\TransactionWithInstantRedirection;
class TransactionsApi extends ApiAction
{
public function getTransactions($queryFields = [])
{
$requestUrl = $this->addQueryFields('/transactions', $queryFields);
return $this->run(static::GET, $requestUrl);
}
public function getTransactionById($transactionId)
{
return $this->run(static::GET, sprintf('/transactions/%s', $transactionId));
}
public function getRefundsByTransactionId($transactionId, $queryFields = [])
{
$requestUrl = $this->addQueryFields(sprintf('/transactions/%s/refunds', $transactionId), $queryFields);
return $this->run(static::GET, $requestUrl);
}
public function getBankGroups($onlineOnly = false)
{
$requestUrl = '/transactions/bank-groups';
if (true === $onlineOnly) {
$requestUrl = $this->addQueryFields($requestUrl, ['onlyOnline' => json_encode($onlineOnly)]);
}
return $this->run(static::GET, $requestUrl);
}
public function getChannels()
{
return $this->run(static::GET, '/transactions/channels');
}
public function createTransaction($fields)
{
return $this->run(static::POST, '/transactions', $fields, new Transaction());
}
public function createTransactionWithInstantRedirection($fields)
{
return $this->run(static::POST, '/transactions', $fields, new TransactionWithInstantRedirection());
}
public function createPaymentByTransactionId($fields, $transactionId)
{
return $this->run(static::POST, sprintf('/transactions/%s/pay', $transactionId), $fields, new Pay());
}
public function createRefundByTransactionId($fields, $transactionId)
{
return $this->run(static::POST, sprintf('/transactions/%s/refunds', $transactionId), $fields, new Refund());
}
}