forked from segsalerty2013/opay-merchant-cashier-php
/
TransferBatchToBank.php
98 lines (80 loc) · 2.6 KB
/
TransferBatchToBank.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<?php
use Opay\MerchantTransfer;
use Opay\Payload\BankTransferRequest;
use Opay\Payload\OpayTransferBatchToBankRequest;
use Opay\Payload\OpayTransferRequest;
use Opay\Payload\OrderStatusRequest;
use Opay\Result\Response;
use Opay\Utility\OpayConstants;
require_once('../../Initialize.php');
require_once('../../Config.php');
class TransferBatchToBank extends Initialize
{
private $merchantTransfer;
private $batchReference;
public function __construct()
{
parent::__construct(new Config());
$this->merchantTransfer = new MerchantTransfer($this->config->getEndpointBaseUrl(), $this->config->getPubKey(), $this->config->getPrvKey(), $this->config->getMerchantId());
}
public function batchTransferToBank(): Response
{
$ref = $this->getGenerateReference();
$this->batchReference[] = $ref;
$request_user = new BankTransferRequest(
$ref,
'100',
'NGN',
'NG',
'Andy Lee',
'050',
'22222222222222',
'transfer reason message');
$ref = $this->getGenerateReference();
$this->batchReference[] = $ref;
$request_merchant = new BankTransferRequest(
$ref,
'100',
'NGN',
'NG',
'Andy Lee',
'050',
'22222222222222',
'transfer reason message');
$batchTransfer = new OpayTransferBatchToBankRequest();
$batchTransfer->setList([$request_user->jsonSerialize(), $request_merchant->jsonSerialize()]);
$this->merchantTransfer->opayBatchToBankTransfer($batchTransfer);
return $this->merchantTransfer->batchToBankApiResult();
}
public function getBatchTransferStatus(): array
{
$response = [];
foreach ($this->batchReference as $val) {
$_orderStatusRequest = new OrderStatusRequest('', $val);
$this->merchantTransfer->transferStatus($_orderStatusRequest);
$res = $this->merchantTransfer->opayTransferStatusApiResult();
$response[] = $res;
}
return $response;
}
}
$transfer = new TransferBatchToBank();
$response = $transfer->batchTransferToBank();
dump($response);
$status = $transfer->getBatchTransferStatus();
dump($status);
/**
* batch transfer to bank
*
* $transfer = new TransferBatchToBank();
* $response = $transfer->batchTransferToBank();
* dump($response);
* $status = $transfer->getBatchTransferStatus();
* dump($status);
*/
/**
* Enquiry a transfer to Bank transaction
*
* $status = $transfer->getBatchTransferStatus();
* dump($status);
*/