SG onboarding

This page contains details about the different Singapore Know Your Customer (KYC) flows. See the following links for other pages related to onboarding:

Page name          Description
SG required parametersThis page lists the required API fields for onboarding an individual customer.
SG required documentsThis page contains tables listing the required documents for verification of an individual customer.
SG request examplesThis page contains API request examples for onboarding an individual customer in the SG regulatory region.
SG PSA Compliance for wallet-based programsThis page details the SG Payment Services Act (PSA) Compliance on wallet-based programs.

eKYC – Singapore (SG)

When using the Unified Add Customer API to add a customer in Singapore, eKYC verification is performed.

In Singapore, the add customer eKYC process is as follows:

  1. Your new customer signs up for verification.
  2. send a GET request to the Terms and Conditions API.
  3. Nium returns the Terms and Conditions description.
  4. Display the Terms and Conditions to your customer to agree and accept. You collect all customer information for onboarding.
  5. Send a POST request to the Unified Add Customer API as per the SG required parameters.
  6. Nium returns the redirectURL which you inform your customer.
  7. Direct your customer for completing the verification with the vendor.
  8. After the verification process completes, your customer is redirected back to the eKYC redirect URL that is configured during the client setup.
  9. Nium sends a CUSTOMER_COMPLIANCE_STATUS webhook with complianceStatus .
  10. Send a response with the HTTPS status code 200.
  11. Customer onboarding can be reinitiated if the compliance status is IN_PROGRESS, REJECT, or ERROR.

eDoc Verification - Non-SG

When onboarding residents outside of Singapore, use E_DOC_VERIFY as the KYC mode.

The eDoc Verify flow is similar to the eKYC flow, with the primary difference being the URL returned by Nium originates from our address verification vendor - Onfido.

Customers outside of Singapore will need to upload a selfie and a valid identity document during onboarding. After completing these steps, they will be redirected to your callback URL.

Proof of Address Verification

If proof of address verification is required, the eDoc Verify flow changes based on the customer's country.

The onboarding flow changes based on the billingAddress.country since our address verification vendor, Onfido, doesn't support all countries.

To ensure the correct templates are set for your account, include a list of countries where you plan to onboard customers during your onboarding with Nium.

Based on the country the customer is located in, the eDoc verification flows available include:

Supported Countries

If the customer's country appears in the Singapore - eDoc verification - Supported Countries list, pass `kycMode`` as E_DOC_VERIFY. The customer's flow remains the same as the default eDoc verification flow.

  • The redirect link returned will include an additional step for collecting the address verification document.
  • The Onfido link will prompt the customer to upload their address verification document.

See the following for a full list of countries supported by our address verification vendor:

Singapore - eDoc Verification - Supported Countries
CountryCountry Code
AndorraAD
AlgeriaDZ
ArgentinaAR
AustraliaAU
AustriaAT
BelgiumBE
BermudaBM
BrazilBR
British Virgin IslandsVG
BulgariaBG
CanadaCA
Cayman IslandsKY
ChileCL
ColombiaCO
Costa RicaCR
CroatiaHR
Czech RepublicCZ
DenmarkDK
Dominican RepublicDO
EcuadorEC
EstoniaEE
EthiopiaET
FinlandFI
FranceFR
GermanyDE
GhanaGH
GibraltarGI
GuatemalaGT
Hong KongHK
HungaryHU
IcelandIS
IndonesiaID
IrelandIE
Isle of ManIM
ItalyIT
Ivory CoastCI
JamaicaJM
JerseyJE
KenyaKE
KuwaitKW
LatviaLV
LiechtensteinLI
LithuaniaLT
LuxembourgLU
MalaysiaMY
MaltaMT
MexicoMX
MonacoMC
NetherlandsNL
New ZealandNZ
NigeriaNG
NorwayNO
PanamaPA
PeruPE
PhilippinesPH
PolandPL
PortugalPT
RomaniaRO
San MarinoSM
Saudi ArabiaSA
SenegalSN
SerbiaRS
SingaporeSG
SlovakiaSK
SloveniaSI
South AfricaZA
South KoreaKR
SpainES
SwedenSE
SwitzerlandCH
TaiwanTW
TanzaniaTZ
TurkeyTR
UgandaUG
UkraineUA
United Arab EmiratesAE
United KingdomGB
United States of AmericaUS
VietnamVN

Unsupported Countries

For countries not supported by our vendor, collect the address verification documents manually. Pass kycMode as E_DOC_VERIFY - the URL returned by Nium will ask the customer to perform selfie and ID verification, but not address verification.

Upload the address document using the identificationDoc object in the Unified Add Customer, or the Upload Document request.

The application status will remain in_progress until the document is submitted. Our compliance team will manually verify the document once it is submitted.

Please note, Auto-approval of the customer is not possible for customers in unsupported countries.

Manual KYC – Singapore (SG)

When using the Unified Add Customer API with compliance option as MANUAL_KYC to add a customer in Singapore, the following verification process is performed.

Exception Handling

As a response to the Unified Add Customer API with KYC Mode E_KYC, Nium returns a redirect URL. You need to redirect the customer to the redirect URL. After the customer completes the KYC verification, they are redirected back to your eKYC redirect URL that was configured with Nium.

The following parameters will be returned as part of the eKYC redirect URL to help you to understand the status of the customer’s verification in the vendor’s UI.

  • errorCode
  • errorMessage
  • isSuccess – This field indicates whether the customer completed the required steps in the vendor’s UI. It doesn't mean KYC is successful.

This information helps you to design and implement the next steps in your application. For example, you may decide to show the success or error message to the customer as per the scenarios listed below.

ScenarioExpected actionQuery parameters in the redirection
The customer completes the required steps in the vendor’s UI.You receive a callback from Nium.errorCode: N/A

errorMessage: N/A

isSuccess: true
The customer has provided incorrect data in the vendor's UI and has not clicked Accept in the vendor's page.Ask customer to submit correct data in the vendors page.errorCode: I400

errorMessage: vendorValidationError

isSuccess: false
Any unexpected error from the vendor.Try after some time or reach out to Nium's support.errorCode: I500

errorMessage: unexpectedError

isSuccess: false