| @@ 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 | ||