The fact that name in Payment System is not changing is a limitation, the system is not designed for this. But as a one time-solution this can be resolved by one of the following solutions:
-
Login into the cash desk
See Using the Cash Desk Web Interface guide for more information about using the cash desk.
If only quotas are in use, you will need to create a cash desk, please see the "Cash desks" section in the YSoft Payment System Administration web interface.
-
searching for the old username will instantly show "oldusername (surname name)" in dropdown menu and you can open user details.
-
searching for new username will only show "newusername" in dropdown menu, you can click it and open user details.
-
once you open user details in CashDesk:
-
The changes from the Management server are propagated to Payment System database.
-
User details in CashDesk are showing new first name, surname and username.
-
Deposit works as expected.
-
You can look up the new username without any issue in Cash Desk, lookup of old username stops working (as the records on the database were updated).
-
Payment System Administration > Subjects / Reports shows new username, and you can search for it.
-
Historical events of this account will have old name and sure name in description and transaction IDs, but they are visible under the same account, nothing ever gets lost (no reports, no money etc...), we do not change historical records (they are related to past events when user had the old name and "description" as such cannot be used for any filtering anyway). New credit operations will have a new username in the description. No secondary account is created and there is no discrepancy between database IDs, the unique mapping stays the same.
-
-
-
-
Running the following SQL query, which will fix usernames in YSoft SafeQ Payment System based on accounts in Management.
Before running the queries
-
We suggest getting familiar with their usage and test functionality in a testing environment at first.
-
We suggest making a backup of all the SAFEQ databases before running the queries (See Backup of Databases for more information).
-
Replace SQDB6_YPS and SQDB6 by the actual name of the databases.
-
Any modification of SQL query apart from username, password change may lead to malfunction not covered by SLA.
MS SQL
SQL-- STEP 1 - updates login and name in table customer update [SQDB6_YPS].dbo.customer set lookup_key = u.login, name = u.name + ' ' + u.surname from (select u.id, u.login, u.name, u.surname FROM [SQDB6].tenant_1.users u) u where u.id = [SQDB6_YPS].dbo.customer.guid; -- STEP 2 - updates name and surname in table money_account update [SQDB6_YPS].dbo.money_account set name = c.name, payment_provider_account_id = c.lookup_key from (select c.name, c.id, c.lookup_key, c.personal_money_account_id from [SQDB6_YPS].dbo.customer c) c where c.id = [SQDB6_YPS].dbo.money_account.customer_id and c.personal_money_account_id = [SQDB6_YPS].dbo.money_account.id;Postgres SQL - only partial
SQL-- STEP 1 - updates login and name in table customer -- queries must be launched on SQDB6_YPS database -- first run this (continue with next query even if this is shown: "ERROR: extension "dblink" already exists") create extension dblink; -- then run query, <password> in query must be replaced by the real DB password create extension dblink; -- (continue with next query even if this is shown: "ERROR: extension "dblink" already exists") update customer c set lookup_key = u.login from (SELECT id, login FROM dblink('hostaddr=127.0.0.1 port=5433 dbname=SQDB6 user=postgres password=<password>','SELECT id, login FROM tenant_1.USERS') AS u(id text, login varchar(255))) as u where u.id = c.guid and u.login != c.lookup_key; -
Automation of the changes should they be too frequent would require an order for the paid customization - YSoft SAFEQ Customization.