diff --git a/app/PaymentDrivers/StripePaymentDriver.php b/app/PaymentDrivers/StripePaymentDriver.php index 1c07e5d82895..100be75dd9dc 100644 --- a/app/PaymentDrivers/StripePaymentDriver.php +++ b/app/PaymentDrivers/StripePaymentDriver.php @@ -516,15 +516,13 @@ class StripePaymentDriver extends BaseDriver foreach ($request->data as $transaction) { $payment = Payment::query() - ->where('transaction_reference', $transaction['id']) - ->where('company_id', $request->getCompany()->id) - ->first(); - if (empty($payment)){ - $payment = Payment::query() ->where('transaction_reference', $transaction['payment_intent']) ->where('company_id', $request->getCompany()->id) + ->where(function ($query) use ($transaction) { + $query->where('transaction_reference', $transaction['payment_intent']) + ->orWhere('transaction_reference', $transaction['id']); + }) ->first(); - } if ($payment) { $payment->status_id = Payment::STATUS_COMPLETED; $payment->save(); @@ -541,16 +539,14 @@ class StripePaymentDriver extends BaseDriver ], $this->stripe_connect_auth); if ($charge->captured) { - $payment = Payment::query() - ->where('transaction_reference', $transaction['id']) - ->where('company_id', $request->getCompany()->id) - ->first(); - if (empty($payment)){ $payment = Payment::query() ->where('transaction_reference', $transaction['payment_intent']) ->where('company_id', $request->getCompany()->id) + ->where(function ($query) use ($transaction) { + $query->where('transaction_reference', $transaction['payment_intent']) + ->orWhere('transaction_reference', $transaction['id']); + }) ->first(); - } if ($payment) { $payment->status_id = Payment::STATUS_COMPLETED; $payment->save();