Skip to content
View in the app

A better way to browse. Learn more.

DoniaWeB

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
     

Whatsapp Gateway | Multi Device v14.7.0

Featured Replies

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.

  • Replies 9.3k
  • Views 1.2m
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • Magd Almuntaser
    Magd Almuntaser

    What's new in version 11.0.0 (so far): - Added Chat System (Customer Service). - Fixed Connection problems With WhatsApp. - Fixed Generate QR Via API. - Fixed Delete Sections From Edit List Page. - Fi

  • Magd Almuntaser
    Magd Almuntaser

    English: Version 14.0.0 is now nearly complete. A lot has been changed in this version because of the plugin system, as features have been separated and converted into plugins. Therefore: Testers are

  • Magd Almuntaser
    Magd Almuntaser

    Version 11.0.1 has been released What's new in version 11.0.1: - Fixed Stop/Start AI In Conversations. - Fixed Chat Date (Database). - Fixed Migrate To Database. - Fixed Plans Page.

Most Helpful Posts

  • Magd Almuntaser
    Magd Almuntaser

    English (EN) I have already informed you that WhatsApp is rolling out new updates. These updates are being sent to some numbers first and will gradually reach all numbers worldwide. The first update i

  • Magd Almuntaser
    Magd Almuntaser

    What will be available in version 11.0.0: - A chat system will be added. - A customer service system will be added (integrated with chat). - Some Indian payment gateways will be added. - Order design

  • i give you the step: Stop your Node server. Download the files validate-connection.js and validate-connection.d.ts from the links provided below. Go to the directory: /your_mpwa_directory/node_modul

Posted Images

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 Webhooks

The 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 group

Route::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 Error

The 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.php

protected $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.php

public function callback(Request $request)

{

// Added this block to catch and process the webhook

if ($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 Gateway

The 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.php

public function callback(Request $request)

{

$gateway = $request->input('gateway') ?? $request->input('type');

// Added: Automatically detect Stripe webhooks if the gateway query param is missing

if (!$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.

***image.png

Edited by Jabran Shafique
adding screenshot

  • 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.

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!

  • Community Expert
  • Author

Version 14.5.0 has been released



What'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.

1 hour ago, Magd Almuntaser said:

Version 14.5.0 has been released



What'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.

image.png

Whereas my running project is 14.2.1.

I am not receiving update notifications here. What could be the reason?

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

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.

  • 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.
Or
VPS from Deluxhost like 1C1G20SSD=€9/year OR 1C2GB40SSD=€12/year OR 2C4GB60SSD=€14/year
Note: 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.

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.

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Recently Browsing 1

Latest Updated Files

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.