1.6 KiB
1.6 KiB
KYC: Bank information
Outcome:
we checking ownership of card-numbers and ibans.
Implementation description:
Endpoints:
Post {$domain}/api/v2/barong/resource/profiles/treasury
File destination:
- {$Dalan_Path}/app/api/v2/resource/profiles.rb
- {$Dalan_Path}/app/workers/kyc/local/treasury_worker.rb
- {$Dalan_Path}/app/services/jibit_service.rb
Commits:
- 40177a4f
- 816fb00e
- 9e17677b
- 63977c33
- c76f72fe
- 90cbc486
What did we implement:
We implemented a new model and table to keep users bank information and called it treasury.
After users entered their card_number or IBAN, we are sending this information to the Jibit service,
and then the Jibit Service returns the first name and last name of the real owner.
Now we can check this returned information to users' profile information to find out everything is ok.
It is worth mentioning that the steps of getting information from the Jibit and checking it with the profile are done in the background.
sequenceDiagram
Title: bank information (treasury)
note over User,Dalan: Users enter their bank information
note over User,Dalan: `data` is card-number or iban value, `kind` is 'card' or 'iban'
User->>Dalan:data, kind, title
note over Dalan,Jibit: Dalan send request to Jibbit service (as worker)
Dalan->>Jibit:GET: iban value or card value (data)
Jibit->>Dalan:Response: first-name and last-name of real owner
Dalan->>Dalan: checking returned information with users profile data
Dalan->>User: add a confirmed label if the names matched, otherwise rejected label was created.