Skip to content

Commit 0cd9fba

Browse files
committed
Refactor resolving local payment with POS transaction
1 parent feb48e7 commit 0cd9fba

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/Services/PaymentHandlers/Paystack.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,9 @@ public function createPaymentPlan(string $name, string $amount, string $interval
266266

267267
protected function resolveLocalPayment(string $paystackReferenceNumber, PaystackVerificationResponse $verificationResponse): Payment
268268
{
269+
$isPosTerminalTransaction = is_object($verificationResponse->data['metadata']) &&
270+
($verificationResponse->data['metadata']->reference ?? false);
271+
269272
return Payment::query()
270273
/**
271274
* normal transactions
@@ -275,8 +278,11 @@ protected function resolveLocalPayment(string $paystackReferenceNumber, Paystack
275278
/**
276279
* terminal POS transactions
277280
*/
278-
->when(is_object($verificationResponse->data['metadata']), function ($query) use ($verificationResponse) {
279-
return $query->orWhere('metadata->response->data->metadata->reference', $verificationResponse->data['metadata']['reference']);
281+
->when($isPosTerminalTransaction, function ($query) use ($verificationResponse) {
282+
return $query->orWhere(
283+
'metadata->response->data->metadata->reference',
284+
$verificationResponse->data['metadata']->reference,
285+
);
280286
})
281287
->firstOrFail();
282288
}

0 commit comments

Comments
 (0)