Skip to content

Commit ecda9f3

Browse files
committed
refactor all flutterwave traits
1 parent 23f8aa3 commit ecda9f3

File tree

9 files changed

+41
-123
lines changed

9 files changed

+41
-123
lines changed

src/Traits/Flutterwave/BankTrait.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,9 @@ trait BankTrait
1313
*/
1414
public function getBanks(string $countryCode): array
1515
{
16-
$endpoint = sprintf('%s%s%s', $this->baseUri, FlutterwaveConstant::BANK_ENDPOINT, $countryCode);
17-
1816
$banks = $this->makeRequest(
1917
method: 'GET',
20-
requestUrl: $endpoint,
18+
requestUrl: FlutterwaveConstant::BANK_ENDPOINT.$countryCode,
2119
isJsonRequest: true
2220
);
2321

@@ -36,11 +34,9 @@ public function getBanks(string $countryCode): array
3634
*/
3735
public function getBankBranches(int $bankId): array
3836
{
39-
$endpoint = sprintf('%s%s%s/branches', $this->baseUri, FlutterwaveConstant::BANK_ENDPOINT, $bankId);
40-
4137
return $this->makeRequest(
4238
method: 'GET',
43-
requestUrl: $endpoint,
39+
requestUrl: FlutterwaveConstant::BANK_ENDPOINT.$bankId.'/branches',
4440
isJsonRequest: true
4541
);
4642
}

src/Traits/Flutterwave/ChargeTrait.php

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,13 @@ trait ChargeTrait
1818
*/
1919
public function initiateCardCharge(array $formParams): array
2020
{
21-
$endpoint = sprintf('%s%s', $this->baseUri, FlutterwaveConstant::CHARGE_ENDPOINT);
22-
2321
$queryParams = [
2422
'type' => FlutterwaveConstant::CARD_PAYMENT_CHARGE_TYPE,
2523
];
2624

2725
return $this->makeRequest(
2826
method: 'POST',
29-
requestUrl: $endpoint,
27+
requestUrl: FlutterwaveConstant::CHARGE_ENDPOINT,
3028
formParams: $this->encryptPayload($formParams),
3129
isJsonRequest: true,
3230
queryParams: $queryParams
@@ -255,15 +253,13 @@ public function chargeUssd(array $formParams): array
255253
*/
256254
private function chargePayment(string $paymentMethod, array $formParams): array
257255
{
258-
$endpoint = sprintf('%s%s', $this->baseUri, FlutterwaveConstant::CHARGE_ENDPOINT);
259-
260256
$queryParams = [
261257
'type' => $paymentMethod,
262258
];
263259

264260
return $this->makeRequest(
265261
method: 'POST',
266-
requestUrl: $endpoint,
262+
requestUrl: FlutterwaveConstant::CHARGE_ENDPOINT,
267263
formParams: $formParams,
268264
isJsonRequest: true,
269265
queryParams: $queryParams
@@ -300,11 +296,9 @@ private function encryptPayload(array $payload): string
300296
*/
301297
public function validateCharge(array $formParams): array
302298
{
303-
$endpoint = sprintf('%s%s', $this->baseUri, FlutterwaveConstant::VALIDATE_CHARGE_ENDPOINT);
304-
305299
return $this->makeRequest(
306300
method: 'POST',
307-
requestUrl: $endpoint,
301+
requestUrl: FlutterwaveConstant::VALIDATE_CHARGE_ENDPOINT,
308302
formParams: $formParams,
309303
isJsonRequest: true
310304
);
@@ -320,11 +314,9 @@ public function validateCharge(array $formParams): array
320314
*/
321315
public function captureCharge(string $flwRef, array $formParams): array
322316
{
323-
$endpoint = sprintf('%s%s%s/capture', $this->baseUri, FlutterwaveConstant::CHARGE_ENDPOINT, $flwRef);
324-
325317
return $this->makeRequest(
326318
method: 'POST',
327-
requestUrl: $endpoint,
319+
requestUrl: FlutterwaveConstant::CHARGE_ENDPOINT.$flwRef.'/capture',
328320
formParams: $formParams,
329321
isJsonRequest: true
330322
);
@@ -339,11 +331,9 @@ public function captureCharge(string $flwRef, array $formParams): array
339331
*/
340332
public function voidCharge(string $flwRef): array
341333
{
342-
$endpoint = sprintf('%s%s%s/void', $this->baseUri, FlutterwaveConstant::CHARGE_ENDPOINT, $flwRef);
343-
344334
return $this->makeRequest(
345335
method: 'POST',
346-
requestUrl: $endpoint,
336+
requestUrl: FlutterwaveConstant::CHARGE_ENDPOINT.$flwRef.'/void',
347337
isJsonRequest: true
348338
);
349339
}
@@ -358,11 +348,9 @@ public function voidCharge(string $flwRef): array
358348
*/
359349
public function createRefund(string $flwRef, array $formParams): array
360350
{
361-
$endpoint = sprintf('%s%s%s/refund', $this->baseUri, FlutterwaveConstant::CHARGE_ENDPOINT, $flwRef);
362-
363351
return $this->makeRequest(
364352
method: 'POST',
365-
requestUrl: $endpoint,
353+
requestUrl: FlutterwaveConstant::CHARGE_ENDPOINT.$flwRef.'/refund',
366354
formParams: $formParams,
367355
isJsonRequest: true
368356
);
@@ -378,11 +366,9 @@ public function createRefund(string $flwRef, array $formParams): array
378366
*/
379367
public function capturePaypalCharge(string $flwRef, array $formParams): array
380368
{
381-
$endpoint = sprintf('%s%s%s/paypal-capture', $this->baseUri, FlutterwaveConstant::CHARGE_ENDPOINT, $flwRef);
382-
383369
return $this->makeRequest(
384370
method: 'POST',
385-
requestUrl: $endpoint,
371+
requestUrl: FlutterwaveConstant::CHARGE_ENDPOINT.$flwRef.'/paypal-capture',
386372
formParams: $formParams,
387373
isJsonRequest: true
388374
);
@@ -397,11 +383,9 @@ public function capturePaypalCharge(string $flwRef, array $formParams): array
397383
*/
398384
public function voidPaypalCharge(string $flwRef): array
399385
{
400-
$endpoint = sprintf('%s%s%s/void', $this->baseUri, FlutterwaveConstant::CHARGE_ENDPOINT, $flwRef);
401-
402386
return $this->makeRequest(
403387
method: 'POST',
404-
requestUrl: $endpoint,
388+
requestUrl: FlutterwaveConstant::CHARGE_ENDPOINT.$flwRef.'/void',
405389
isJsonRequest: true
406390
);
407391
}

src/Traits/Flutterwave/OtpTrait.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,9 @@ trait OtpTrait
1717
*/
1818
public function createOtp(array $formParams): array
1919
{
20-
$endpoint = sprintf('%s%s', $this->baseUri, FlutterwaveConstant::OTP_ENDPOINT);
21-
2220
return $this->makeRequest(
2321
method: 'POST',
24-
requestUrl: $endpoint,
22+
requestUrl: FlutterwaveConstant::OTP_ENDPOINT,
2523
formParams: $formParams,
2624
isJsonRequest: true
2725
);
@@ -36,11 +34,9 @@ public function createOtp(array $formParams): array
3634
*/
3735
public function verifyOtp(string $reference, array $formParams): array
3836
{
39-
$endpoint = sprintf('%s%s%s/validate', $this->baseUri, FlutterwaveConstant::OTP_ENDPOINT, $reference);
40-
4137
return $this->makeRequest(
4238
method: 'POST',
43-
requestUrl: $endpoint,
39+
requestUrl: FlutterwaveConstant::OTP_ENDPOINT.$reference.'/validate',
4440
formParams: $formParams,
4541
isJsonRequest: true
4642
);

src/Traits/Flutterwave/PaymentPlanTrait.php

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,9 @@ trait PaymentPlanTrait
1919
*/
2020
public function createPaymentPlan(array $planDetails): array
2121
{
22-
$endpoint = sprintf('%s%s', $this->baseUri, FlutterwaveConstant::PAYMENT_PLAN_ENDPOINT);
23-
2422
return $this->makeRequest(
2523
method: 'POST',
26-
requestUrl: $endpoint,
24+
requestUrl: FlutterwaveConstant::PAYMENT_PLAN_ENDPOINT,
2725
formParams: $planDetails,
2826
isJsonRequest: true
2927
);
@@ -41,11 +39,9 @@ public function createPaymentPlan(array $planDetails): array
4139
*/
4240
public function updatePaymentPlan(int $paymentPlanId, array $planDetails): array
4341
{
44-
$endpoint = sprintf('%s%s%s', $this->baseUri, FlutterwaveConstant::PAYMENT_PLAN_ENDPOINT, $paymentPlanId);
45-
4642
return $this->makeRequest(
4743
method: 'PUT',
48-
requestUrl: $endpoint,
44+
requestUrl: FlutterwaveConstant::PAYMENT_PLAN_ENDPOINT.$paymentPlanId,
4945
formParams: $planDetails,
5046
isJsonRequest: true
5147
);
@@ -62,11 +58,9 @@ public function updatePaymentPlan(int $paymentPlanId, array $planDetails): array
6258
*/
6359
public function getAllPaymentPlans(array $queryParams = []): array
6460
{
65-
$endpoint = sprintf('%s%s', $this->baseUri, FlutterwaveConstant::PAYMENT_PLAN_ENDPOINT);
66-
6761
return $this->makeRequest(
6862
method: 'GET',
69-
requestUrl: $endpoint,
63+
requestUrl: FlutterwaveConstant::PAYMENT_PLAN_ENDPOINT,
7064
isJsonRequest: true,
7165
queryParams: $queryParams
7266
);
@@ -83,11 +77,9 @@ public function getAllPaymentPlans(array $queryParams = []): array
8377
*/
8478
public function getPaymentPlan(int $paymentPlanId): array
8579
{
86-
$endpoint = sprintf('%s%s%s', $this->baseUri, FlutterwaveConstant::PAYMENT_PLAN_ENDPOINT, $paymentPlanId);
87-
8880
return $this->makeRequest(
8981
method: 'GET',
90-
requestUrl: $endpoint,
82+
requestUrl: FlutterwaveConstant::PAYMENT_PLAN_ENDPOINT.$paymentPlanId,
9183
isJsonRequest: true
9284
);
9385
}
@@ -103,11 +95,9 @@ public function getPaymentPlan(int $paymentPlanId): array
10395
*/
10496
public function cancelPaymentPlan(int $paymentPlanId): array
10597
{
106-
$endpoint = sprintf('%s%s%s/cancel', $this->baseUri, FlutterwaveConstant::PAYMENT_PLAN_ENDPOINT, $paymentPlanId);
107-
10898
return $this->makeRequest(
10999
method: 'PUT',
110-
requestUrl: $endpoint,
100+
requestUrl: FlutterwaveConstant::PAYMENT_PLAN_ENDPOINT.$paymentPlanId.'/cancel',
111101
isJsonRequest: true
112102
);
113103
}

src/Traits/Flutterwave/SettlementTrait.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,9 @@ trait SettlementTrait
1717
*/
1818
public function getSettlement(int $settlementId): array
1919
{
20-
$endpoint = sprintf('%s%s%s', $this->baseUri, FlutterwaveConstant::SETTLEMENT_ENDPOINT, $settlementId);
21-
2220
return $this->makeRequest(
2321
method: 'GET',
24-
requestUrl: $endpoint,
22+
requestUrl: FlutterwaveConstant::SETTLEMENT_ENDPOINT.$settlementId,
2523
isJsonRequest: true
2624
);
2725
}
@@ -35,11 +33,9 @@ public function getSettlement(int $settlementId): array
3533
*/
3634
public function getAllSettlements(array $queryParams = []): array
3735
{
38-
$endpoint = sprintf('%s%s', $this->baseUri, FlutterwaveConstant::SETTLEMENT_ENDPOINT);
39-
4036
return $this->makeRequest(
4137
method: 'GET',
42-
requestUrl: $endpoint,
38+
requestUrl: FlutterwaveConstant::SETTLEMENT_ENDPOINT,
4339
isJsonRequest: true,
4440
queryParams: $queryParams
4541
);

src/Traits/Flutterwave/SubscriptionTrait.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,9 @@ public function activateSubscription(int $subscriptionId): array
4444
*/
4545
public function deactivateSubscription(int $subscriptionId): array
4646
{
47-
$endpoint = sprintf('%s%s%s/cancel', $this->baseUri, FlutterwaveConstant::SUBSCRIPTION_ENDPOINT, $subscriptionId);
48-
4947
return $this->makeRequest(
5048
method: 'PUT',
51-
requestUrl: $endpoint,
49+
requestUrl: FlutterwaveConstant::SUBSCRIPTION_ENDPOINT.$subscriptionId.'/cancel',
5250
isJsonRequest: true
5351
);
5452
}

src/Traits/Flutterwave/TransactionTrait.php

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@ trait TransactionTrait
2020
*/
2121
public function verifyTransaction(string $transactionId): array
2222
{
23-
$endpoint = sprintf('%s%s%s/verify', $this->baseUri, FlutterwaveConstant::TRANSACTION_ENDPOINT, $transactionId);
24-
2523
return $this->makeRequest(
2624
method: 'GET',
27-
requestUrl: $endpoint,
25+
requestUrl: FlutterwaveConstant::TRANSACTION_ENDPOINT.$transactionId.'/verify',
2826
isJsonRequest: true
2927
);
3028
}
@@ -39,11 +37,9 @@ public function verifyTransaction(string $transactionId): array
3937
*/
4038
public function createTransactionRefund(string $transactionId, array $formParams = []): array
4139
{
42-
$endpoint = sprintf('%s%s%s/refund', $this->baseUri, FlutterwaveConstant::TRANSACTION_ENDPOINT, $transactionId);
43-
4440
return $this->makeRequest(
4541
method: 'POST',
46-
requestUrl: $endpoint,
42+
requestUrl: FlutterwaveConstant::TRANSACTION_ENDPOINT.$transactionId.'/refund',
4743
formParams: $formParams,
4844
isJsonRequest: true
4945
);
@@ -58,11 +54,9 @@ public function createTransactionRefund(string $transactionId, array $formParams
5854
*/
5955
public function getTransactions(array $queryParams = []): array
6056
{
61-
$endpoint = sprintf('%s%s', $this->baseUri, FlutterwaveConstant::TRANSACTION_ENDPOINT);
62-
6357
return $this->makeRequest(
6458
method: 'GET',
65-
requestUrl: $endpoint,
59+
requestUrl: FlutterwaveConstant::TRANSACTION_ENDPOINT,
6660
isJsonRequest: true,
6761
queryParams: $queryParams
6862
);
@@ -77,11 +71,9 @@ public function getTransactions(array $queryParams = []): array
7771
*/
7872
public function getRefundTransactions(array $queryParams = []): array
7973
{
80-
$endpoint = sprintf('%s%s', $this->baseUri, FlutterwaveConstant::REFUND_ENDPOINT);
81-
8274
return $this->makeRequest(
8375
method: 'GET',
84-
requestUrl: $endpoint,
76+
requestUrl: FlutterwaveConstant::REFUND_ENDPOINT,
8577
isJsonRequest: true,
8678
queryParams: $queryParams
8779
);
@@ -96,11 +88,9 @@ public function getRefundTransactions(array $queryParams = []): array
9688
*/
9789
public function getRefundDetails(string $refundId): array
9890
{
99-
$endpoint = sprintf('%s%s%s', $this->baseUri, FlutterwaveConstant::REFUND_ENDPOINT, $refundId);
100-
10191
return $this->makeRequest(
10292
method: 'GET',
103-
requestUrl: $endpoint,
93+
requestUrl: FlutterwaveConstant::REFUND_ENDPOINT.$refundId,
10494
isJsonRequest: true
10595
);
10696
}
@@ -114,11 +104,9 @@ public function getRefundDetails(string $refundId): array
114104
*/
115105
public function getTransactionFee(array $queryParams): array
116106
{
117-
$endpoint = sprintf('%s%s/fee', $this->baseUri, FlutterwaveConstant::TRANSACTION_ENDPOINT);
118-
119107
return $this->makeRequest(
120108
method: 'GET',
121-
requestUrl: $endpoint,
109+
requestUrl: FlutterwaveConstant::TRANSACTION_ENDPOINT.'fee',
122110
isJsonRequest: true,
123111
queryParams: $queryParams
124112
);
@@ -134,11 +122,9 @@ public function getTransactionFee(array $queryParams): array
134122
*/
135123
public function resendFailedWebhook(string $transactionId, array $formParams = []): array
136124
{
137-
$endpoint = sprintf('%s%s%s/resend-hook', $this->baseUri, FlutterwaveConstant::TRANSACTION_ENDPOINT, $transactionId);
138-
139125
return $this->makeRequest(
140126
method: 'POST',
141-
requestUrl: $endpoint,
127+
requestUrl: FlutterwaveConstant::TRANSACTION_ENDPOINT.$transactionId.'/resend-hook',
142128
formParams: $formParams,
143129
isJsonRequest: true
144130
);
@@ -153,11 +139,9 @@ public function resendFailedWebhook(string $transactionId, array $formParams = [
153139
*/
154140
public function viewTransactionTimeline(string $transactionId): array
155141
{
156-
$endpoint = sprintf('%s%s%s/events', $this->baseUri, FlutterwaveConstant::TRANSACTION_ENDPOINT, $transactionId);
157-
158142
return $this->makeRequest(
159143
method: 'GET',
160-
requestUrl: $endpoint,
144+
requestUrl: FlutterwaveConstant::TRANSACTION_ENDPOINT.$transactionId.'/events',
161145
isJsonRequest: true
162146
);
163147
}

0 commit comments

Comments
 (0)