Unsure which service fits you best? Refer to services comparison chart!
We have ready to use scripts, too.
The system is split into two parts: "client part", which gets installed on your web server, and "server part", which belongs to our infrastructure. Client communicates 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 the previous one is not closed. For your safety and in order to prevent message fraud, there is an option to delay the last transaction. Typical delay period is 24 hours.
The end user is carefully guided through the payment process:
- on the first message: "you message is received, session X started"
- on any consequential message: "you message is received for session X"
- on one message before last: "you message is received for session X, DO NOT send the last message (X hours X minutes left)"
- on the last message: "you message is received, session X closed"
- on message sent during the delay period: "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
- 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 includes the code you want to run when the 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 used with any number of sms:safes;
- if local.xml cannot be refreshed, the existing copy is used.