Credits 


Credits are a way for Tiki users to have different stored value types of credits. They can be points, tokens, hours, minutes, numbers of uses of something, etc. This feature comes with an API to add and use credits for each user.

Somehow, it implies having the ability to define and use multiple currencies within a single Tiki site, similarly to what can be achieved with Community Currencies linked to a CCLite server, which allows using those multiple currencies with other sites (intertrading), sites which can be powered by Tiki or other CMS/Softwares, such as Joomla, Drupal, Elgg, etc.

Credit Details 

Credits have a few characteristics:

  • Credits have expiry dates and validity periods.
  • Admins can configure different credit types and you can have different credit types for different sites

Admin Credits 

  • The admin panel for this feature is at tiki-admin_credits.php
    tiki6_tiki_user_credits_admin_01.png

  • You also need to define which TUC types are allowed in the tiki site, through "Admin home > Payments > Tiki User Credits" (tiki-admin.php?page=payment):
    tiki6_tiki_user_credits_admin_payment_00.png

  • Credits are used in the order of the earliest expiration date. Credits with no expiration date are used last.


Some definitions (useful for the admin panel):

 Admin panel details

Static Level Credits
These are credits such as "storage" where the credit is not permanently used up when they are used. Instead, they can be restored. e.g. the user has used 500/2000 mb of storage.
Scaling divisor
This is used to reduce the length of the bar shown in Module credits for a certain credit type. For example, some credits may have units in the thousands when others are in tens. The former will end up having a very long bar compared to the other credit unless the divisor is set to a larger number.
Expiration date
If there is no expiration date, the credits last forever until they are used.
A Plan
A block of credits that have an expiration date can be considered a plan, especially if they are created with fixed intervals, e.g. monthly plans.

Add credits to users 

You add credits to users through tiki-admin_credits.php?userfilter=username (being username the name of the user; which you can type in the username search botiki6_tiki_user_credits_admin_grant_00.png

An admin can also set that a user has already consumed some of that set of allocated credits:

tiki6_tiki_user_credits_admin_use_00.png

And a report on the historical usage can be shown also:

tiki6_tiki_user_credits_admin_historical_usage_00.png

Use Credits 

You can pay invoices of Tiki Payments using Tiki User Credits.

The credits that a user has left can be seen at any time by means of the module Module credits:

tiki6_tiki_user_credits_module_00.png




Developer Tips 


You could make use of functions in lib/credits/creditlib:

function useCredits to use up credits and function addCredits to add credits for users. Also use getCredits to get a user's credit information, and getScaledCredits which extends getCredits with more human readable information.

alias
Show PHP error messages