Paying by SMS#
The Mobilní platby gateway receives premium SMS through the aggregator mobilniplatby.cz. It supports two flows, both served by one address:
| Flow | How it works | SMS text |
|---|---|---|
| Form | the customer picks a tariff in the payment form, the payment is created first and the SMS refers to it by a code | KEYWORD code |
| Express | the customer sends the SMS straight from the offer next to the advert; the payment is created from the received SMS | KEYWORD MODULE SERVICE ID |
What the customer sees is described in Paying by SMS in the visitor manual.
How the system decides what was paid#
- The aggregator sends the received SMS to the SMS receipt address. The address carries the shared secret; a request without it is rejected and nothing is created.
- The first word must be the gateway keyword, the second picks the module, the third the service, the last the object (advert, company, post, user).
- The module checks that the service exists and the object is active.
- The price is set by the number the SMS was sent to, never by the text. The price of the number must equal the price of the service in the same currency exactly, otherwise the service is not activated.
- A payment, the service item and the accounting snapshot are created; then the same processing runs as for a payment from the form — activation, notifications, invoice.
- The customer gets a reply SMS: a confirmation, or the reason and a claim code.
The aggregator repeats the same SMS (up to twelve times) until it gets a reply. The system recognises the repetition by the SMS identifier and returns the original reply — the service is paid once.
Modules and services#
| Module in the SMS | What is paid | Where services and prices come from |
|---|---|---|
INZ |
topping, highlight, topbox of an advert | quick prices of advert tariffs |
FIRMA |
company services in the catalogue | quick prices of company catalogue tariffs |
DISK |
highlighting a post | quick prices of discussion tariffs |
UCET |
CLEN = membership, KREDIT = credit |
prices of membership tariffs for the Mobilní platby gateway |
For adverts, companies and discussion the service (third word of the SMS) is the
last word of the quick price keyword. A quick price with the keyword TOP as well as
XHIFILAB INZ TOP gives the service TOP.
For membership the service is fixed: CLEN belongs to tariffs with a validity,
KREDIT to tariffs with credit. A bundle with both (validity and credit) is under both
words; the price of the premium number decides which tariff is bought. The object is the user number — the
payment and its item go to the user whose number is in the text. The user must have an
activated account that is not banned, cancelled or waiting for cancellation.
Premium numbers and price levels#
Every price has its own number at the aggregator. Numbers and levels are set up when the gateway is put into operation, according to the aggregator contract. There are two kinds:
| Kind | When the money is charged | Payment status after the SMS arrives |
|---|---|---|
| MO (one-off numbers, level 0) | when the SMS is sent | Paid immediately |
| MT (level in the reply) | when the reply is delivered | Waiting for payment, completed by the delivery report |
For an MT number the level is appended to the reply; when the service cannot be
activated, the system replies with level FREE and the customer is not charged.
Step by step: put SMS payments into operation#
- Open Systém → Platební brány and edit the Mobilní platby gateway.
- Into the Konfigurace field write the keyword and the shared secret:
keyword[WORD],delivery_secret[long-random-string]. The keyword is the first word of the SMS registered with the aggregator. Optionally adddelivery_ips[…]— the list of addresses the aggregator calls from. - Check that Konečné ceny and Aktivní are on, and save.
- The Integrační adresy section now shows two addresses. Copy them into the aggregator portal:
- Příjem SMS (expresní i formulářové) — the address for receiving SMS (MO),
- Notifikace o doručení SMS (delivery report) — the address for delivery reports.
- For tariffs that should be payable by SMS, set the quick price for each region (for membership the tariff price for the Mobilní platby gateway):
- Aktivní ticked,
- Klíčové slovo ends with the service word (
TOP,ZVYRAZNENI…), - Cena final, VAT included — exactly the level you have a number for,
- Měna,
- Telefon filled in (without it the offer next to the advert is not shown; the number for the SMS is taken from the gateway numbers by price).
- Go back to the gateway edit and review the Expresní služby section.
- Send a test SMS and check the payment in Systém → Platby.
The Express services overview#
The Mobilní platby gateway edit has the section Expresní služby (platba jednou SMS). The list builds itself from the tariffs — add or change a service in the tariff, not here.
| Column | Meaning |
|---|---|
| Modul, Služba | second and third word of the SMS |
| Tarif | the tariff activated after payment |
| Cena, Platební region | the quick price (tariff price) and the region it applies to |
| Číslo | the gateway number for exactly this price; for an MT number also the level |
| Příklad SMS | the text for object number 123 |
| Stav | aktivní, or chybí číslo za tuto cenu (no number for this price) |
No number for this price means the gateway has no number for exactly the service price. Such a service is not offered on the website and an SMS would not activate it. Change the service price to a level you have a number for, or get a number for this level from the aggregator.
Claims by code#
Every SMS that did not activate a service creates a payment with the status Failed. The payment number is the claim code the customer received in the reply.
Step by step: handle a claim#
- In Systém → Platby find the payment by the code (payment number).
- The payment description holds the reason:
Expresní SMS neaktivována: <reason>. When the SMS aimed at an existing service, the tariff and object follow in brackets (Topování, inzerat 956). - Decide by the reason:
| Reason | What happened | Resolution |
|---|---|---|
priceMismatch |
the SMS went to a number with another price | top-up or activation according to the amount actually paid |
objectNotFound, objectInactive |
the object does not exist / is not approved, switched off | activate by hand after approval, or refund |
keywordMismatch, malformed |
the text makes no sense or starts with a foreign keyword | find out with the customer what they wanted to pay for |
unknownModule, unknownService |
non-existent module or service | as above |
unknownPaymentCode |
a form SMS with a code no payment has | check the code from the form |
- Activate the service by hand at the object (the Platby tab of the advert or post, or User payments), or refund the customer.
A failed SMS to an MT number is not charged to the customer (the reply carried
FREE); such a claim usually needs no action.