May 6May 6 Whoaaa!! Broo @Magd Almuntaser It seems the last update getting good. Still no error in my log after running 3 hours. CPU idle 0 - 1%, ram usage usually 230 - 300mb go to 390 - 430mb. Maybe it's because i'm using a lot of plugins?No worries, still works perfect on 1C 1G.
May 6May 6 19 hours ago, Magd Almuntaser said:Stripe and other payment gateways don't handle GET, so the Billing plugin handles callbacks using POST.Payment gateways in MPWA automatically send the requested callback to, for example, Stripe, which then returns the correct URL after payment is complete. Therefore, you can't initiate the callback using the GET command.You can place anything in the webhook that Stripe requires, you can use this:https://yourdomain.com/payments/callback***Title: Fixes for Stripe Webhook Integration Issues (419, 401, and MethodNotAllowed Errors)Hi there,I recently installed the script and ran into a few blocking issues when configuring the Stripe payment gateway. Specifically, the webhooks were failing to process and upgrade user packages. After debugging the logs, I found that there were a few routing and middleware conflicts preventing the integration from working out of the box.I’ve managed to fix all of them on my end. I'm sharing the exact issues and my code fixes below so you can review them and hopefully include them in the next official update!### 1. 401 Unauthenticated Error on WebhooksThe Issue: Stripe sends webhooks in the background, meaning the request is entirely unauthenticated. However, in plugins/billing/routes.php, the /payments/callback route was placed inside the ['auth', '2fa'] middleware group. This caused Laravel to instantly reject Stripe's webhooks with a 401 error.The Fix: I moved the callback route completely outside of the authenticated route group.File: plugins/billing/routes.php// Moved this outside of the auth middleware groupRoute::group(['prefix' => LaravelLocalization::setLocale()], function () {Route::any('/payments/callback', [PaymentController::class, 'callback'])->name('payments.callback');});### 2. MethodNotAllowedHttpException (GET Method Not Supported)The Issue: When a user completes a payment, Stripe redirects them back to the site via a GET request. Because the route was strictly set to Route::post('/payments/callback'), users returning from Stripe were hitting a MethodNotAllowedHttpException crash page.The Fix: As shown in the snippet above, changing Route::post to Route::any resolves the user redirection crash while still allowing the POST webhooks to come through.### 3. 419 CSRF Token Mismatch ErrorThe Issue: In app/Http/Middleware/VerifyCsrfToken.php, the exclusions included payment/callback (singular), but the actual route is payments/callback (plural). This caused Laravel to reject the webhook POST requests due to a missing CSRF token.The Fix: I added the plural versions to the $except array.File: app/Http/Middleware/VerifyCsrfToken.phpprotected $except = [// ... existing rules'payment/callback','payment/callback/*','*/payment/callback','*/payment/callback/*',// Added the plural versions:'payments/callback','payments/callback/*','*/payments/callback','*/payments/callback/*',];### 4. Webhooks Not Reaching handleWebhook()The Issue: Even when the webhook successfully bypassed the middleware, StripeController::callback() was only programmed to handle the user's GET redirection $request->query('order_id')). It was entirely ignoring POST payloads, meaning handleWebhook() was an orphaned method and the user's package was never being upgraded.The Fix: I added a check at the top of the callback() method to dispatch the request to handleWebhook() if it's a POST request or contains the Stripe signature.File: plugins/pay-stripe/src/Controllers/StripeController.phppublic function callback(Request $request){// Added this block to catch and process the webhookif ($request->isMethod('post') || $request->header('Stripe-Signature')) {return $this->handleWebhook($request);}$orderId = $request->query('order_id');$order = Order::where('order_id', $orderId)->first();// ... rest of the method### 5. (Bonus) Auto-Detecting the GatewayThe Issue: If a user simply puts https://domain.com/payments/callback in their Stripe dashboard instead of https://domain.com/payments/callback?gateway=stripe, the PaymentController fails to route the webhook because the gateway parameter is null.The Fix: I added a quick fallback in PaymentController to auto-detect Stripe webhooks using the headers, which makes the setup completely foolproof for your customers.File: plugins/billing/src/Controllers/PaymentController.phppublic function callback(Request $request){$gateway = $request->input('gateway') ?? $request->input('type');// Added: Automatically detect Stripe webhooks if the gateway query param is missingif (!$gateway || !isset(app(PaymentGatewayRegistry::class)->getCallbackMap()[$gateway])) {if ($request->header('Stripe-Signature')) {$gateway = 'stripe';}}// ...After making these 5 changes, the Stripe payment integration is working flawlessly. The user is redirected correctly, and the webhook successfully updates their subscription in the background.Hope this helps speed up the next patch! Let me know if you have any questions about the implementations.*** Edited May 6May 6 by Jabran Shafique adding screenshot
May 6May 6 Community Expert Author 19 minutes ago, Jabran Shafique said:You've made modifications to the MPWA itself, and this will cause problems with any future updates. Therefore, please remove the code you added.Secondly, the actual solution is only available within the Stripe plugin, without modifying the MPWA itself.In any case, version 14.5.0 will be released soon, and after that, I will focus on fixing the Stripe plugin.Therefore, I advise you not to modify the MPWA files, as I will not support any modified versions.
May 6May 6 5 minutes ago, Magd Almuntaser said:You've made modifications to the MPWA itself, and this will cause problems with any future updates. Therefore, please remove the code you added.Secondly, the actual solution is only available within the Stripe plugin, without modifying the MPWA itself.In any case, version 14.5.0 will be released soon, and after that, I will focus on fixing the Stripe plugin.Therefore, I advise you not to modify the MPWA files, as I will not support any modified versions.Hi @Magd Almuntaser Understood. I will go ahead and remove the custom modifications I made to the core MPWA files so that it doesn't cause any conflicts with future updates. I'll wait for the release of version 14.5.0 and look forward to the official fixes for the Stripe plugin from your side soon. Thanks for the support and the heads-up, it is really appreciated!
May 6May 6 Community Expert Author 21 minutes ago, SRI LESTARI said:Migrasi gagal dijalankanMasalahnya dimana ya ?Because all database tables are already installed, there's no need to use migrate. Migrate is only used if there's an incomplete update.
May 6May 6 Community Expert Author Version 14.5.0 has been releasedWhat's new in version 14.5.0:- Added Webhook For Payments Gateways (To Use On Plugins).- Added Way To Display Plugins That Need Updating So They Are Shown First.- Fixed Language Conflicts In JavaScript.- Fixed Issue Can't Remove Plugins.- Fixed Show Update Notifications On All Pages.- Patched Security Vulnerability.Everyone must update to this version, it is important.
May 6May 6 @Magd Almuntaser Hi Sir, thanks for the update!! any chances to fix the Campaign Rotator send Button Message 🙏
May 6May 6 Community Expert Author 1 minute ago, Revify said:@Magd Almuntaser Hi Sir, thanks for the update!! any chances to fix the Campaign Rotator send Button Message 🙏Contact to the plugin developer @Shivendra Kr. Sahu But overall, the plugin works for everyone without problems.
May 6May 6 1 hour ago, Magd Almuntaser said:Contact to the plugin developer @Shivendra Kr. Sahu But overall, the plugin works for everyone without problems.In the screenshot they provided, no failure messages are visible at all; everything appears to have worked successfully.
May 6May 6 1 hour ago, Magd Almuntaser said:Version 14.5.0 has been releasedWhat's new in version 14.5.0:- Added Webhook For Payments Gateways (To Use On Plugins).- Added Way To Display Plugins That Need Updating So They Are Shown First.- Fixed Language Conflicts In JavaScript.- Fixed Issue Can't Remove Plugins.- Fixed Show Update Notifications On All Pages.- Patched Security Vulnerability.Everyone must update to this version, it is important.Whereas my running project is 14.2.1.I am not receiving update notifications here. What could be the reason?
May 6May 6 Community Expert Author 44 minutes ago, Shivendra Kr. Sahu said:Whereas my running project is 14.2.1.I am not receiving update notifications here. What could be the reason?Sometimes the marketplace server in India is delayed in updates.Can you confirm now if it appears for you?
May 6May 6 40 minutes ago, Magd Almuntaser said:Sometimes the marketplace server in India is delayed in updates.Can you confirm now if it appears for you?i have encounter the issue as well after you update the post. after few minutes later, the update Notice show up in "Dashboard" , not in the path of /en/admin/update
May 6May 6 Where can I get a reasonably priced hosting package where I can fully install this script and use it without any problems?I bought it from verpex, but there is currently a problem with audio transmission.
May 6May 6 Community Expert Author @ADS SOLUTIONS @Shivendra Kr. Sahu @Revify Can you try update now .. I believe the problem has been solved..3 hours ago, Orxan Xelilov said:Where can I get a reasonably priced hosting package where I can fully install this script and use it without any problems?I bought it from verpex, but there is currently a problem with audio transmission.There are many cheap shared hosting options and VPS plans available.For example, there are offers for $5 a year for shared hosting, such as from Tnahosting, and many more.You can search on Google for shared hosting under $10 a year and you'll find some.OrVPS from Deluxhost like 1C1G20SSD=€9/year OR 1C2GB40SSD=€12/year OR 2C4GB60SSD=€14/yearNote: I'm not affiliated or associated with Tnahosting or Deluxhost, and I haven't even tried their services., I only saw some offers, so buy vps or shared hosting at your own risk.
May 6May 6 1 minute ago, gatotkaca said:Plugin developer documentation pleaseSee page 3256 minutes ago, gatotkaca said:Plugin developer documentation please
May 7May 7 Community Expert Author 28 minutes ago, gatotkaca said:Plugin developer documentation pleaseOr if you're using Agent AI, you can give it this to understand the basics.. PLUGIN_AI_GUIDE.md PLUGIN_DEVELOPMENT_GUIDE_EN.md
May 7May 7 11 hours ago, Magd Almuntaser said:Sometimes the marketplace server in India is delayed in updates.Can you confirm now if it appears for you?yes now showing & working
May 7May 7 6 hours ago, Magd Almuntaser said:@ADS HƏLLƏRİ @Shivendra Kr. Sahu @Revify İndi yeniləməyə cəhd edə bilərsinizmi?.. Düşünürəm ki, problem həll olunub..Bir çox ucuz paylaşılan hostinq seçimləri və VPS planları mövcuddur. Məsələn, Tnahosting və digər şirkətlərdən paylaşılan hostinq üçün ildə 5 dollara təkliflər var. Google-da ildə 10 dollardan aşağı paylaşılan hostinq axtara bilərsiniz və bəzilərini tapa bilərsiniz. Və ya Deluxhost-dan 1C1G20SSD = ildə 9 avro və ya 1C2GB40SSD = ildə 12 avro və ya 2C4GB60SSD = ildə 14 avro kimi VPS. Qeyd: Mən Tnahosting və ya Deluxhost ilə əlaqəli deyiləm və ya əlaqəli deyiləm və hətta onların xidmətlərini sınamamışam. Yalnız bəzi təkliflər gördüm, ona görə də vps və ya paylaşılan hostinq alın.I need a specific, tested server so that I don't have to face the problem I'm currently having when sending media messages. Please recommend me a hosting so I can buy it.
May 7May 7 @Shivendra Kr. Sahu Truly, the developer. @Magd Almuntaser put in tremendous effort early in the morning to resolve this issue, and they succeeded.For their dedication and commitment, I wholeheartedly pray for good health, a long and blessed life — for them and their parents as well.Deep respect and gratitude! 🙏
May 7May 7 Whoever installed this script, please write to me personally. I installed it and everything works fine, but when I send audio via media message, the audio sent cannot be played. I want to know if everyone has the same problem or it's just me.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.