Custom prepaid billing and one-time services

Customer orientation is the key objective for Splynx company as we continuously adding features that our customers request. Starting from v.2.3 our billing engine becomes more powerful and flexible for any ISP. 

It is possible to charge customers daily, monthly or by any set period with the custom prepaid plans. Let’s imagine that we need to provide Internet access only for 7 days:

The desired custom period can be set to new service while creation or set for any existing service.

The customer with ‘Weekly Plan’ will be blocked in 7 days, in case a new payment was not done.

It is also possible to set the custom charged period for every customer from billing settings.


One more feature that makes life easier is One-Time services. Every provider has Installation, Maintenance or other one time charges needed to be added to the final invoice.

The service can be added directly from Invoices or Transaction tabs which makes it more convenient for your billing managers and administrators.

  • Customer > Transactions > Add Transaction >  Select the needed plan

  • Customer>Invoices>Add one-time invoice> Click on a flag icon to apply the one-time service.

Splynx also has a powerful recurring billing engine that is fully customizable to suit the needs of every provider. Check this out here.


Should you have any questions or further information is needed, please contact us or schedule a call with our engineer.

Splynx API

The bigger business, the bigger amount of customizations and integrations it requires. Splynx provides an easy way to create additional modules or integrate it with 3rd-party software solutions. Our system is a powerful set of modules and open application interfaces (API), which is why we call it a Framework. For administrators, this means almost unlimited possibilities for software customization.

We follow the RESTful principles, so the API is stateless and http methods and response codes are used whenever possible.

 


The links for API documentation:

Splynx API Documentation

Repository with PHP API Class for Splynx ISP Framework


 

PHP Api example

<?php
/**
 * Splynx API v.1.0 demo script
 * Author: Ruslan Malymon (Top Net Media s.r.o.)
 * https://splynx.com/wiki/index.php/API - documentation
 */

include 'SplynxApi.php';

$api_url = 'http://splynx/'; // please set your Splynx URL

$key = "3d052b922dc2f44d1d03d957ff5691ba"; // please set your key
$secret = "4d944c2d4d55bd78a1af0f6b8d5958af"; // please set your secret

// don't forget to add permissions to API Key, for changing locations.

$api = new SplynxAPI($api_url, $key, $secret);

$locationsApiUrl = "admin/administration/locations";

print "<pre>";

print "List locations\n";
$result = $api->api_call_get($locationsApiUrl);
print "Result: ";
if ($result) {
    print "Ok!\n";
    print_r($api->response);
} else {
    print "Fail! Error code: $api->response_code\n";
    print_r($api->response);
}
print "\n-------------------------------------------------\n";

print "Create location\n";
$result = $api->api_call_post($locationsApiUrl,
    array(
        'name' => 'API test #' . rand()
    ));

print "Result: ";
if ($result) {
    print "Ok!\n";
    print_r($api->response);
    $locationId = $api->response['id'];
} else {
    print "Fail! Error code: $api->response_code\n";
    print_r($api->response);
    $locationId = false;
}
print "\n-------------------------------------------------\n";

if ($locationId) {

    print "Retrieve location " . $locationId . "\n";
    $result = $api->api_call_get($locationsApiUrl, $locationId);
    print "Result: ";
    if ($result) {
        print "Ok!\n";
        print_r($api->response);
    } else {
        print "Fail! Error code: $api->response_code\n";
        print_r($api->response);
    }
    print "\n-------------------------------------------------\n";


    print "Change created location name\n";
    $result = $api->api_call_put($locationsApiUrl, $locationId, array('name' => 'NAME CHANGED #' . mt_rand()));
    print "Result: ";
    if ($result) {
        print "Ok!\n";
        print_r($api->response);
    } else {
        print "Fail! Error code: $api->response_code\n";
        print_r($api->response);
    }
    print "\n-------------------------------------------------\n";

    print "Retrieve updated info\n";
    $result = $api->api_call_get($locationsApiUrl, $locationId);
    print "Result: ";
    if ($result) {
        print "Ok!\n";
        print_r($api->response);
    } else {
        print "Fail! Error code: $api->response_code\n";
        print_r($api->response);
    }
    print "\n-------------------------------------------------\n";

    print "Delete created location\n";
    $result = $api->api_call_delete($locationsApiUrl, $locationId);
    print "Result: ";
    if ($result) {
        print "Ok!\n";
        print_r($api->response);
    } else {
        print "Fail! Error code: $api->response_code\n";
        print_r($api->response);
    }
    print "\n-------------------------------------------------\n";

}

 


Should you have any questions or further information is needed, please contact us or schedule a call with our engineer.

Recurring Billing Engine

Splynx billing engine was tailored to specific telecom’s needs to bring the billing management to the next level and automate this routine process.

Recurring billing is the best solution for ISP charging customers a fixed price typically at the beginning of the billing cycle.

Recurring Invoices can be issued every month in advance (Prepay Mode) or in Postpay Mode. One month in advance means, for example, that 1st of April Splynx will generate invoices for 1-3 of April. Postpay means that Splynx generates invoices on the 1st of April for the period of 1-30 of March.

Each ISP can customize recurring billing settings for every single customer:

  • Payment period – the period your customer will be charged for. There is a possibility to charge up to 12 months in advance.
  • Payment methods – Cash, Credit Card, Bank Transfer, etc;
  • Billing day – a day, when the system issues the invoice and customer is charged;
  • Billing due – the date when non-payer is blocked. The services that customer is using will be still accounted;
  • Grace period – the date when the customer is moved to inactive status. His services will no longer be accounted ;
  • The percentage for your resellers;
  • Billing notifications and reminders 

Our engineers will always assist you in proper billing cycle configuration. Should you have any questions or further information is needed, please contact us or schedule a call with our engineer.

SPLYNX Mobile App – customer portal

Splynx is a leading billing and management software for ISPs. We reinvest into Research and Development to improve our technology and to ensure it is always up to date with what is currently on the market (as well as what is to come). Our experience means that we truly understand the requirements and innovations needed for high-end ISPs.

We have developed Customer Portal application to help modern providers show the best customer service. The application is available only for Splynx customers starting from v.2.3.

The application allows customers the following:

Profile management and documents

  • Change user information
  • Review uploaded documents
  • Change account password
  • Review F.A.Q

Finance management

  • Check balance, invoices, all transactions, and payments
  • Pay for the services online using a Credit Card
  • Credit Card management: 
  1. Setup a recurring payment subscription using their credit card or a payment gateway account
  2. Remove saved cards or bank accounts

Services

  • Change services and tariff plans
  • Change password to the service

Statistics

  • Check Internet usage or VoIP services statistics

Support

  • Create/close or check the status of a support ticket and further communicate with a support representative in the app interface.

Should you have any questions or further information is needed, please contact us or schedule a call with our engineer.

Voip CDR auto processing from FTP server in Splynx

Nowadays every business is seeking to achieve the minimization of manual effort in the essential processes. Great news for our customers, who need the Voice billing engine to rate VoIP calls, LTE data transfers or work with full mobile services. Starting from Splynx v.2.3 it is now possible to automate the CDRs processing.

Our voice billing engine allows to automatically import the CDRs from your provider’s FTP server to charge the customers and print the register of calls in their invoices.

The process is quite similar to the manual CDR import, however, now it is possible to import multiple CDRs at once. To configure the automatic import from FTP server, first of all, we need to add the “Import Data Source” in the system.  This can be done at Config > Voice > Import Data Source.   

In this menu, we need to add the import source for our CDRs and the folder path. There are 3 possible types of data source:

  • FTP – we need to set a server host, port, your credentials
  • SFTP – the same parameters as for FTP plus RSA private key
  • Local – if you select “Local” then you will need to set only Title and Folder path

The next step is the configuration of CDR autoprocessing.

After the selection of recently added Data Source, we need to specify the file name pattern to process all the files that have pattern entrances in a file name. The system uses Regex for filtering the file names (PCRE syntax). The examples can be found here.

Pattern Description
AB Will filter the file names that have ‘AB’ symbols
CDR Will match all 3 files
2019 Will match the first two files which contain ‘2019’ in their names
516891[A-Z] Will match the first two files with matches 516891F, 516891C
516891[F2] Will match the first and the third files with matches 516891F, 5168912
516891[F2]-\d{6} Will match only the first one

The auto processing frequency is set by the option “Launch time interval“, it allows you to choose the suitable time interval.

In the last step, we choose the required columns for the import, such as Source, Datetime(or separate Date, Time columns), Destination, Duration, etc. Note that the number of columns and their order should be the same as it is in the imported file.

Once the Auto CDR processing is configured, you will be able to start it manually or the process will be automatically started at the previously scheduled time frame. In case something is failed during the import, it is possible to see the History log or even reproduce the errors.


Should you have any questions regarding the configuration or need assistance, feel free to contact us or schedule a call with our engineer.