Title: Pay4All SMS
Author: pay4all
Published: <strong>October 26, 2026</strong>
Last modified: October 26, 2026

---

Search plugins

![](https://s.w.org/plugins/geopattern-icon/pay4all-sms.svg)

# Pay4All SMS

 By [pay4all](https://profiles.wordpress.org/pay4all/)

[Download](https://downloads.wordpress.org/plugin/pay4all-sms.1.0.3.zip)

 * [Details](https://wordpress.org/plugins/pay4all-sms/#description)
 * [Reviews](https://wordpress.org/plugins/pay4all-sms/#reviews)
 *  [Installation](https://wordpress.org/plugins/pay4all-sms/#installation)
 * [Development](https://wordpress.org/plugins/pay4all-sms/#developers)

 [Support](https://wordpress.org/support/plugin/pay4all-sms/)

## Description

Pay4All SMS turns your WordPress site into a self-service SMS marketing tool powered
by [seven.io](https://www.seven.io/).

 * Public **signup shortcode** with a flag / international-format picker (intl-tel-
   input, 200+ countries).
 * Server-side **E.164 validation** and phone normalisation.
 * Optional **double opt-in** : the visitor confirms via a 6-digit code sent by 
   SMS.
 * **Web unsubscribe** : every outbound SMS carries a token-based link to a confirmation
   page (auto-generated page or a shortcode on a WordPress page of your choice).
 * **STOP inbound** : hook seven.io Inbound-SMS to a webhook URL and the plugin 
   marks « STOP », « STOPP », « ARRÊT », « BASTA » replies as unsubscribed automatically.
 * **Multilingual campaigns** : write the SMS body once per language (fr/de/it/en).
   Each contact receives the version matching their `lang`.
 * **Cost-safe batching** : the wp-cron tick sends a merchant-configured maximum
   number of SMS per minute.
 * **Delivery log** : one row per attempt with the provider id, cost, and delivery
   status.
 * **Pay4All Shop bridge** : one-click import of existing customers, plus an opt-
   in checkbox in the order form.

### External services

This plugin connects to the **seven.io** SMS gateway API (`https://gateway.seven.
io/api`), operated by seven communications GmbH & Co. KG, to send text messages.
Nothing is sent until you enter your own seven.io API key under _Pay4All SMS > Settings_.

What is sent, and when:

 * **Sending an SMS** (campaign, test SMS, double opt-in confirmation code) : the
   recipient’s phone number, the message text, the sender ID and an internal reference
   of the message.
 * **Estimating the cost of a campaign** (campaign editor) : the default country
   and one sample recipient phone number.
 * **Showing your account balance** (plugin dashboard) : no personal data, only 
   your API key.

If you configure them in your seven.io account, seven.io also calls your site back
on the webhook URLs shown in the settings : delivery reports and inbound « STOP »
replies.

 * seven.io terms of service : https://www.seven.io/en/company/terms/
 * seven.io privacy policy : https://www.seven.io/en/company/privacy/

### Privacy

Contacts are stored in your WordPress database only : phone number, first name, 
language, country, subscription status, and the date and IP address of the consent.
A log of sent messages (phone number, status, cost, beginning of the text) is kept
as proof of sending. The plugin sends no data to Pay4All. Unsubscribed contacts 
are kept with a « stopped » status so they are never messaged again.

### Third-party libraries

 * **intl-tel-input 29.5.5** (MIT license) – phone field with country flags. Source
   code : https://github.com/jackocnr/intl-tel-input
 * Its bundled validation utilities are compiled from Google **libphonenumber** (
   Apache License 2.0). Source code : https://github.com/google/libphonenumber

The minified build files (`intlTelInputWithUtils.min.js`, `intlTelInput.min.css`,
flag sprites) and the library’s LICENSE are bundled in `assets/public/vendor/intl-
tel-input/` ; the human-readable sources are in the repositories above.

## Installation

 1. Upload the `pay4all-sms` folder to `/wp-content/plugins/`.
 2. Activate the plugin from the Plugins screen.
 3. Sign up on [seven.io](https://www.seven.io/) and paste your API key + sender under
    _Pay4All SMS > Settings_.
 4. Drop `[pay4all_sms_signup]` on the page where visitors should subscribe.
 5. Create a campaign under _Pay4All SMS > Campaigns > New campaign_, write the message
    in each language, click « Send ».

## FAQ

### Do I need a paid seven.io plan?

You need an API key + credit on seven.io. Pricing depends on the destination country;
see seven.io for the current rate card.

### How do I let subscribers reply STOP?

Rent a virtual inbound number in the seven.io dashboard and configure the Inbound-
SMS webhook to POST to the URL shown under _Settings > Unsubscribe > STOP webhook_.
Set a shared secret and paste it into the plugin settings. STOP-like keywords in
every EU language are recognised automatically.

### Is web unsubscribe enough for GDPR?

Every outbound SMS ships a token-based unsubscribe link, and every consent is logged
with a timestamp. Consult your DPO for a full audit.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Pay4All SMS” is open source software. The following people have contributed to 
this plugin.

Contributors

 *   [ pay4all ](https://profiles.wordpress.org/pay4all/)

[Translate “Pay4All SMS” into your language.](https://translate.wordpress.org/projects/wp-plugins/pay4all-sms)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/pay4all-sms/), check
out the [SVN repository](https://plugins.svn.wordpress.org/pay4all-sms/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/pay4all-sms/) by
[RSS](https://plugins.trac.wordpress.org/log/pay4all-sms/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.3

 * Traductions française, allemande et italienne ajoutées.

#### 1.0.2

 * Removed stale intl-tel-input v18.2.1 file left over in the vendor folder.
 * Confirmed intl-tel-input v29.5.5 bundle is the only phone-input library shipped.

#### 1.0.1

 * Pay4All Shop opt-in checkbox now injected automatically into every order form,
   with a merchant toggle in Settings.
 * Consent IP recorded on every signup (shortcode and Shop order) for GDPR proof.
 * intl-tel-input bumped to 29.5.5.

#### 1.0.0

 * Initial public release : signup shortcode with intl-tel-input, per-language campaign
   editor, cron-batched send, double opt-in, web + STOP unsubscribe, seven.io API
   client, Pay4All Shop bridge.
 * Web unsubscribe in two steps (confirmation button + nonce), so link previews 
   in messaging apps can’t unsubscribe anyone.

## Meta

 *  Version **1.0.3**
 *  Last updated **5 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.9 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [campaign](https://wordpress.org/plugins/tags/campaign/)[marketing](https://wordpress.org/plugins/tags/marketing/)
   [multilingual](https://wordpress.org/plugins/tags/multilingual/)[sms](https://wordpress.org/plugins/tags/sms/)
 *  [Advanced View](https://wordpress.org/plugins/pay4all-sms/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/pay4all-sms/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/pay4all-sms/reviews/)

## Contributors

 *   [ pay4all ](https://profiles.wordpress.org/pay4all/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/pay4all-sms/)