@@ 18-76 (lines=59) @@ | ||
15 | use HenryEjemuta\LaravelClubKonnect\Enums\CableTvEnum; |
|
16 | use HenryEjemuta\LaravelClubKonnect\Exceptions\ClubKonnectErrorException; |
|
17 | ||
18 | abstract class CableTv |
|
19 | { |
|
20 | private $config; |
|
21 | private $clubKonnect; |
|
22 | ||
23 | public function __construct(ClubKonnect $clubKonnect, $config) |
|
24 | { |
|
25 | $this->config = $config; |
|
26 | $this->clubKonnect = $clubKonnect; |
|
27 | } |
|
28 | ||
29 | /** |
|
30 | * @return ClubKonnectResponse |
|
31 | */ |
|
32 | public function getTvPackages(): ClubKonnectResponse |
|
33 | { |
|
34 | return $this->clubKonnect->withAuth('APICableTVPackagesV2.asp', []); |
|
35 | } |
|
36 | ||
37 | /** |
|
38 | * @param CableTvEnum $cableTv |
|
39 | * @param $smartCardNo |
|
40 | * @return ClubKonnectResponse |
|
41 | */ |
|
42 | public function verifyCustomerID(CableTvEnum $cableTv, $smartCardNo): ClubKonnectResponse |
|
43 | { |
|
44 | return $this->clubKonnect->withAuth('APIVerifyCableTVV1.0.asp', [ |
|
45 | 'CableTV' => $cableTv->getCode(), |
|
46 | 'SmartCardNo' => $smartCardNo, |
|
47 | ]); |
|
48 | } |
|
49 | ||
50 | /** |
|
51 | * @param CableTvEnum $cableTv |
|
52 | * @param string $package |
|
53 | * @param $smartCardNo |
|
54 | * @param $requestID |
|
55 | * @param $callbackUrl |
|
56 | * @return ClubKonnectResponse |
|
57 | */ |
|
58 | public function purchasePackage(CableTvEnum $cableTv, string $package, $smartCardNo, $requestID, $callbackUrl = null): ClubKonnectResponse |
|
59 | { |
|
60 | $callbackUrl = is_null($callbackUrl) ? $this->config['default_redirect_url'] : $callbackUrl; |
|
61 | return $this->clubKonnect->withAuth('APICableTVV1.asp', [ |
|
62 | 'CableTV' => $cableTv->getCode(), |
|
63 | 'MeterType' => $package, |
|
64 | 'SmartCardNo' => $smartCardNo, |
|
65 | 'RequestID' => $requestID, |
|
66 | 'CallBackURL' => $callbackUrl |
|
67 | ]); |
|
68 | } |
|
69 | ||
70 | ||
71 | ||
72 | ||
73 | } |
|
74 |
@@ 18-75 (lines=58) @@ | ||
15 | use HenryEjemuta\LaravelClubKonnect\Enums\DiscoEnum; |
|
16 | use HenryEjemuta\LaravelClubKonnect\Enums\MeterTypeEnum; |
|
17 | ||
18 | abstract class Electricity |
|
19 | { |
|
20 | private $config; |
|
21 | private $clubKonnect; |
|
22 | ||
23 | public function __construct(ClubKonnect $clubKonnect, $config) |
|
24 | { |
|
25 | $this->config = $config; |
|
26 | $this->clubKonnect = $clubKonnect; |
|
27 | } |
|
28 | ||
29 | /** |
|
30 | * @return ClubKonnectResponse |
|
31 | */ |
|
32 | public function getDiscosAndMinMax(): ClubKonnectResponse |
|
33 | { |
|
34 | return $this->clubKonnect->withAuth('APIElectricityDiscosV1.asp', []); |
|
35 | } |
|
36 | ||
37 | /** |
|
38 | * @param DiscoEnum $disco |
|
39 | * @param $meterNumber |
|
40 | * @return ClubKonnectResponse |
|
41 | */ |
|
42 | public function verifyMeterNumber(DiscoEnum $disco, $meterNumber): ClubKonnectResponse |
|
43 | { |
|
44 | return $this->clubKonnect->withAuth('APIVerifyElectricityV1.asp', [ |
|
45 | 'ElectricCompany' => $disco->getCode(), |
|
46 | 'MeterNo' => $meterNumber, |
|
47 | ]); |
|
48 | } |
|
49 | ||
50 | /** |
|
51 | * @param DiscoEnum $disco |
|
52 | * @param $meterNumber |
|
53 | * @param $amount |
|
54 | * @param MeterTypeEnum $meterType |
|
55 | * @param $requestID |
|
56 | * @param $callbackUrl |
|
57 | * @return ClubKonnectResponse |
|
58 | */ |
|
59 | public function buyElectricity(DiscoEnum $disco, $meterNumber, $amount, MeterTypeEnum $meterType, $requestID, $callbackUrl = null): ClubKonnectResponse |
|
60 | { |
|
61 | $callbackUrl = is_null($callbackUrl) ? $this->config['default_redirect_url'] : $callbackUrl; |
|
62 | return $this->clubKonnect->withAuth('APIElectricityV1.asp', [ |
|
63 | 'ElectricCompany' => $disco->getCode(), |
|
64 | 'MeterNo' => $meterNumber, |
|
65 | 'Amount' => $amount, |
|
66 | 'MeterType' => $meterType->getCode(), |
|
67 | 'RequestID' => $requestID, |
|
68 | 'CallBackURL' => $callbackUrl |
|
69 | ]); |
|
70 | } |
|
71 | ||
72 | } |
|
73 |