diff --git a/app/PaymentDrivers/Mollie/CreditCard.php b/app/PaymentDrivers/Mollie/CreditCard.php index cb6fa475b6d1..f8f5f57f9cdb 100644 --- a/app/PaymentDrivers/Mollie/CreditCard.php +++ b/app/PaymentDrivers/Mollie/CreditCard.php @@ -180,7 +180,7 @@ class CreditCard 'transaction_reference' => $payment->id, ]; - $payment_record = $this->mollie->createPayment($data, Payment::STATUS_COMPLETED); + $payment_record = $this->mollie->createPayment($data, $payment->status === 'paid' ? Payment::STATUS_COMPLETED : Payment::STATUS_PENDING); SystemLogger::dispatch( ['response' => $payment, 'data' => $data], diff --git a/app/PaymentDrivers/MolliePaymentDriver.php b/app/PaymentDrivers/MolliePaymentDriver.php index 777f5d9e3c4e..1bffcca72cdf 100644 --- a/app/PaymentDrivers/MolliePaymentDriver.php +++ b/app/PaymentDrivers/MolliePaymentDriver.php @@ -273,6 +273,9 @@ class MolliePaymentDriver extends BaseDriver public function processWebhookRequest(PaymentWebhookRequest $request) { + // Allow app to catch up with webhook request. + sleep(2); + $validator = Validator::make($request->all(), [ 'id' => ['required', 'starts_with:tr'], ]); diff --git a/app/PaymentDrivers/StripePaymentDriver.php b/app/PaymentDrivers/StripePaymentDriver.php index f792ce495422..1edb8f44254f 100644 --- a/app/PaymentDrivers/StripePaymentDriver.php +++ b/app/PaymentDrivers/StripePaymentDriver.php @@ -395,6 +395,9 @@ class StripePaymentDriver extends BaseDriver public function processWebhookRequest(PaymentWebhookRequest $request) { + // Allow app to catch up with webhook request. + sleep(2); + if ($request->type === 'charge.succeeded' || $request->type === 'source.chargeable') { foreach ($request->data as $transaction) { $payment = Payment::query()