Pay4All SMS

Description

Pay4All SMS turns your WordPress site into a self-service SMS marketing tool powered by 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 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

Translate “Pay4All SMS” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by 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.