Release 3.19
JeraSoft presents a major release of JeraSoft Billing 3.19 with more improvements for better performance. Please find a complete revision list below.
Major updates
Payment Gateways
To improve consistency, all Payment Gateways settings were moved to Client Portal configuration.
These settings are now available within the customer-params.json
file with the following names:
Setting Name | Description | Default | Example |
---|---|---|---|
amountOptions | Array of available amounts for top up in the list to select | [1, 5, 10, 25] | [5, 20, 50, 100] |
currenciesId | Currency ID (as per your system configuration) for the payments received from the specific Payment Gateway | Required | 2 |
currencyCode | Currency code of the Payment Gateway to charge payments in (declared by the gateway itself) | Required | USD |
paymentAccountsId | Payment Account’s ID as per your system configuration | 1 ("General" Payment Account) | 1 |
Authorize.Net
Configurations for Authorize.Net related to the automatic charge of the customers were moved into Resellers configurations.
PayPal
We've added an option to the system to define who pays PayPal fees for transactions. It can be set in the customer-params.default.json
file:
Setting Name | Description | Example |
---|---|---|
feesPayer | Defines who pay fees for PayPal transactions. Available options: 1. "provider" (in this case, you as the provider will pay your clients' fees. I.e., when a client refills balance for 1 USD, the balance will actually be refilled for 1 USD regardless of the needed commissions); 2. "client" (e.g. when a client refills his balance for 5 USD, he receives 4.56 USD into the billing system). | “client” |
Rates
Stashing future rates
From now on, when adding new Rates, you will have the ability to stash prices for the same destinations in the future. We’ve added the new option Stash Future Rates to the rates creation form, both for regular and special rates. This option allows stashing the rates for the same destinations existing in the future. The Stash Future Rates option by default is set to "preserve" for regular and additive rates, and "stash" for special rates (see screenshots below).
Apart from that, an option for forcing notification after adding a new rate was introduced to the rates creation form. The Force Notification option by default is set to "hold" for regular and additive rates, and "force" for special rates.
Rate Notification
In the previous versions, forced Rate Notification was affected by the defined rate changes notification period from Configuration → Settings and the Agreement. From now on, they will be sent immediately after forcing (see screenshot).
The regular automated Rate Notification process will work as follows:
- after adding a new special rate, a client will be notified after delay configured in Configuration → Settings disregarding the Agreement assigned to a Rate Table.
- after changes in regular rates (not derived from special rates), a client will be notified according to the Agreement and after the delay specified in Configuration → Settings.
Taxes
We've added an ability to set a single Tax for all rates regardless of the tag present on them. Now you can simply add a Tax Value to a Tax Profile without a tag specified (not even default "@"), and apply it for multiple rates with different tags. Additionally, these taxes can be applied when creating charges for packages and manual charges alongside the rates marked with the "@" tag.
CoreAPI
coreapi.clients_packages.close
The CoreAPI function coreapi.clients_packages.close
is DEPRECATED and will be removed completely in version 3.20.0. Instead, you can use the coreapi.clients_packages.terminate
function.
Strictness enforcement
To prevent ambiguous situations and potential problems during upgrades and migrations, the general behavior of CoreAPI was changed. Previously, if an unknown parameter arrived at the input of the method, it was ignored. Now the system will return an error and will not execute the requested method.
Minor updates
Rates
Import
In the newest version, we've implemented the restriction for Code Rules creation in the rates import form to better import management. From now on, there is an ability to create only one rule per one code (including "*" for "all codes").
Rate Generator
We’ve fixed the way sources (either terminators, terminators' Rate Tables, or terminators' Tags) are selected for the Rate Generator rules. They are now bound to the Rate Generator's owner (Reseller), and you can assign only the sources created under the respective Reseller for a particular generation rule.
Rate Generation does not work for rates with Src Codes indicated.
Client Panel
To make it more convenient to configure columns output and filtration in Detailed and Summary reports of the Client Panel, we added the ability to select various columns as in the admin panel itself. For this, two new config parameters were introduced: modules.reportXdrs.columns
(to replace the previously existing modules.reportXdrs.additionalColumns
parameter) and modules.reportSummary.columns
.
Other updates
Visual improvements
Special Rates
We've added a shortcut for Special Rates to the Rate Tables section view. Now there's an ability to access special rates for the respective Rate Table with just one click.