
Steps to Verify Nafath FE
- Call
verification/verifyNafath this will return a number.
- Mobile team will need to send
isMobile=true as param to bypass signalR requirement
- Call the
IdentityNafathCallback with users CR/NationalID.
- For web it is mocked it will be triggered on BE automatically within 5 secs
its a possibility it wont mock due to connection-socket not made with BE due to network issues. If that happens callback should be used.
- Verify if user has completed Nafath verification:
- For Web this can be done through Socket/SignalR-Hub
- For Mobile API
nafath/status needs to be called
Flow Details
- FE calls
verification/verifyNafath this will return a number from nafath against CR/NationalId.
- User requests AccountsService for random nafath number
- AccountsService forwards the request to BNPLNafathIntegrationService(clone of finance)
- BNPLNafathIntegrationService forwards the request to NafathService to get the number
- This can return 500 for freeze timeout - on concurrent calls , est 2 minutes, can put a techdebt for future to implement Redis to return persistent number for 2min
- Nafath Verification
- User taps correct number on nafath screen
- NafathService triggers a callback
IdentityNafathCallback would check for open connectionId and forwards the payload to BusinessRegistration
- BusinessRegistration will mark the
isNafathVerified=true for all entities against CRNum & NationalId
- Nafath Verified, FE notified
- For Web this can be done through Socket/SignalR-Hub
- For Mobile API
nafath/status needs to be called on BusinessRegistration which will return them {"nafathVerified": true }
Author:
Ashad Nadeem Mahmudi