外掛說明
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.
安裝方式
- Upload the
pay4all-smsfolder to/wp-content/plugins/. - Activate the plugin from the Plugins screen.
- Sign up on seven.io and paste your API key + sender under Pay4All SMS > Settings.
- Drop
[pay4all_sms_signup]on the page where visitors should subscribe. - Create a campaign under Pay4All SMS > Campaigns > New campaign, write the message in each language, click « Send ».
常見問題集
-
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.
使用者評論
這個外掛目前沒有任何使用者評論。
參與者及開發者
變更記錄
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.