M4 API user balance update
Description
MOR API for user balance update. This method increases/decreases users' balance with a specified amount of money.
Usage
- For Backwards-compatibility old name 'user_balance_change' is also usable. Call: /api/user_balance_change OR /api/user_balance_update
- Methods: POST, GET(if allowed, not recomended)
Parametres
Parameters which are included into hash:
- user_id - Users ID in the M4 database, whose balance we want to change. Required.
- balance - new user balance. Required.
Note that parameters are shown in the same order as they have to be when generating the hash. The last parameter in a row is API_Secret_Key
Parameters which are not included into hash:
- hash - SHA1 hash constructed using parameters above and API_Secret_Key ( More described in Constructing hash). Required.
- u - username to log in. Required. (The user which changes balance: admin/reseller, not the user himself!)
Request
We have user_id = 123, API Secret Key = 456789, balance = 100
HTML POST: http://<SERVER IP>/billing/api/user_balance_update?u=username&user_id=123&balance=100&hash=b1bef44691c237b574263e09b2838ad1e658e507
* Note that username and password are not included in hash
Returns
Success
<page> <page> <status>User balance updated</status> <user> <username> username </username> <id> user_id </id> <balance> new balance </balance> </user> </page> </page>
Errors
User was not found using user_id. Use the correct user_id.
<?xml version="1.0" encoding="UTF-8"?> <page> <error>User was not found</error> </page>
Hash was not correct. Check API_Secret_Key and order or params while concatenating hash_string.
<?xml version="1.0" encoding="UTF-8"?> <status> <error>Incorrect hash</error> </status>
The user is not logged in to the system. Check username and password.
<?xml version="1.0" encoding="UTF-8"?> <page> <error>Bad login</error> </page>
Params balance is not correct or the user is not saved. Check balance param.
<?xml version="1.0" encoding="UTF-8"?> <page> <error>User balance not updated</error> </page>
Additional notes
- If the balance is changed during the call, the price for the call will be deducted from the new balance, because the balance is deducted at the end of the call.