for login and registering, you would use security assist.
for purchasing credits, you would use eCart.
the succesful transaction would need to set the number of credits associated to the users account.
you will then need to create logic for how the purchased credits are used, when they read another persons message, does it deduct from the credits they purchased?
If so use data assist update record to update the credits associated to the users account.