
Unsure which service fits you best? Refer to services comparison chart!
We have ready to use scripts, too.
The system is split in two parts: "client", which gets installed on your web server, and "server", which belongs to our infrastructure. Client communicate with server via HTTP GET requests.
Server sends notifications to client on each received message, so the end user can control the state of his session. Payment procedure is finished when the last message in queue is received, and the new session cannot be opened while previous one is not closed. For your safety and to prevent message fraud, there is an option to delay the last transaction. Typical delay time is 24 hours.
The end user is carefully guided through the payment process:
- on first message: "you message is recieved, session X started"
- on any consequential message: "you message is recieved for session X"
- on one message before last: "you message is recieved for session X, DO NOT send the last message (X hours X minutes left)"
- on the last message: "you message is recieved, session X closed"
- on message sent during the delay: "error. your message cannot be processed (X hours X minutes left)"
Client setup is pretty basic, yet it takes some skill to do it properly. Basic PHP knowledge is required.
PHP >= 4.3
MySQL - needs MySQL PHP module;
SQLite - needs SQLite PHP module;
PDO:SQLite (OO version) - needs installed PDO and SQLite (usually come with PHP >= 5.1).
- unpack;
- adjust /lib/config.php;
- allow write access on /lib/local.xml;
- allow write access on /lib/safe_db (SQLite only);
- allow write access on /lib (SQLite only);
- run setup.php and erase it;
- run cron.php;
- set up your script according to the example given in check.php;
- set up the service in your control panel, including full path to result.php and the config.php passkey;
- in /lib/config.php in do_action() function include the code you want to run when payment is accepted and the session is closed.
- /lib/sql/ - DB connectivity backends;
- /lib/config.php - configuration file;
- /lib/safe_db - SQLite database;
- /lib/local.xml rates XML;
- /check.php - usage primer;
- /cron.php - /lib/local.xml refresher script, can be run both manually or with cron;
- /result.php - script that accepts data from our server;
- /select.php - allows you to list open sessions;
- /setup.php - creates database structure;
- /style.css - styles for check.php.
- single DB can be user with any number of sms:safes;
- if local.xml cannot be refreshed, the existing copy is used.