Last updated

Consumer creation as a partner

Consumer can be created either by a Partner, or directly by the Enduser himself.

Here is the guide to create a consumer as a Partner.

As a Partner

Consumer creation is easy, as only his phone number is requested. Most of his other details will be recovered during the KYC procedure.

Few steps are required to do so :

  1. Terms & conditions
  2. Create the consumer
  3. Verify his phone number by sending a One Time Password by SMS
  4. Start the KYC procedure
  5. (Optionnal) Verify consumer's email

Consumer has to accept the Terms & Conditions before being able to use any financial service.

Here is the regular sequence diagram :

UserPartnerLinkcyKYC ServiceT&CsConsumer CreationPhone VerificationKYC VerificationEmail VerificationLedgers CreationGet T&CsT&Cs LinkShow T&CsAgree T&CsCreate ConsumerConsumerIDSend verification codeSMS with verification codeEnter verification codeVerify phoneCreate a KYC for a consumerKYC LinkKYC LinkPerform KYCKYC Result(webhook) CONSUMER_KYC_VALIDATEDRequest Email verificationEmail with verification linkOpen email and click verification linkEmail verifiedCreate LedgerLedgerIDGet LedgerIBAN, BICIBAN, BICUserPartnerLinkcyKYC Service

1. Terms & Conditions

Signing Terms & Conditions is mandatory to be able to use banking features.

We mandate you as a Partner to perform this action.

To do this, you can download TCs directly from our APIs, so you will always get the last version! By default, language is English, but if you need a specific language, feel free to ask your customer care!

Terms & Condtions Guide

You will need to use this Endpoint every time we update our TCs. Once TCs are updated, field termsAccepted will change into false state. Then, you will have to PATCH your Consumer once new T&Cs are signed.

2. Consumer Creation

Then start to create the Consumer with the "Create a Consumer" Endpoint, using his phone number.

Phone County Code has to be entered correctly, otherwise SMS won't be received as expected. For the country code, you can use the "+" or not, we will add it on our side, both format are valid.

List of available countryCode :

"1", "1242", "1246", "1264", "1268", "1284", "1340", "1345", "1441", "1473", "1649", "1664", "1670", "1671", "1684", "1721", "1758", "1767", "1784", "1787", "1809", "1829", "1849", "1868", "1869", "1876", "1939", "20", "211", "212", "213", "216", "218", "220", "221", "222", "223", "224", "225", "226", "227", "228", "229", "230", "231", "232", "233", "234", "235", "236", "237", "238", "239", "240", "241", "242", "243", "244", "245", "246", "248", "249", "250", "251", "252", "253", "254", "255", "256", "257", "258", "260", "261", "262", "263", "264", "265", "266", "267", "268", "269", "27", "290", "291", "297", "298", "299", "30", "31", "32", "33", "34", "350", "351", "352", "353", "354", "355", "356", "357", "358", "359", "36", "370", "371", "372", "373", "374", "375", "376", "377", "378", "379", "380", "381", "382", "383", "385", "386", "387", "389", "39", "40", "41", "420", "421", "423", "43", "44", "441481", "441534", "441624", "45", "46", "47", "48", "49", "500", "501", "502", "503", "504", "505", "506", "507", "508", "509", "51", "52", "53", "54", "55", "56", "57", "58", "590", "591", "592", "593", "595", "597", "598", "599", "60", "61", "62", "63", "64", "65", "66", "670", "672", "673", "674", "675", "676", "677", "678", "679", "680", "681", "682", "683", "685", "686", "687", "688", "689", "690", "691", "692", "7", "81", "82", "84", "850", "852", "853", "855", "856", "86", "880", "886", "90", "91", "92", "93", "94", "95", "960", "961", "962", "963", "964", "965", "966", "967", "968", "970", "971", "972", "973", "974", "975", "976", "977", "98", "992", "993", "994", "995", "996", "998"

Optionnaly, more information can be provided, as Consumer's source of funds or occupation. At last, you should indicate the acceptance of T&Cs by indicating the version. This can be done at a later stage, by updating the Consumer, but it is recommended to have it done right away so it won't be a blocking point to use financial service later.

NameTypeDescription
partnerNamestringThe partner name. Mandatory if you create a consumer as anonymous. Ignored if requesting as a partner.
externalIdstring [ 0 .. 511 ] charactersA unique identifier that you can use to link this consumer to a user in your system.
phoneobject (PhoneRequestDto) - requiredThe phone details of the consumer.
emailAddressstringThe email address of the consumer.
sourceOfFundsstringThe source of funds. Enum: "COMPENSATION_PAYOUT", "COMPANY_PROFITS", "COMPANY_SALE", "DIVIDEND_PAYMENTS", "DIVORCE_SETTLEMENT", "FIXED_DEPOSITS", "GIFT", "INHERITANCE", "INSURANCE_PAYOUT", "LOAN", "LOTTERY_OR_GAMBLING_WIN", "RETIREMENT_INCOME", "SALE_OF_INVESTMENT", "SALE_OF_PROPERTY", "SAVINGS_FROM_SALARY", "OTHER".
otherSourceOfFundsstring [ 0 .. 511 ] charactersDescription of source of funds if 'OTHER' was chosen.
occupationstringThe consumer's usual or principal work or business. Enum: "BUSINESS_OWNER", "CLERGY", "CRAFTSMAN", "ENGINEER", "EXECUTIVE", "FARMER", "FREELANCE", "LIBERAL_PROFESSION", "POLITICIAN", "PROFESSOR", "PUBLIC_SERVANT", "RETIRED", "SHOPKEEPER", "STUDENT", "UNEMPLOYED", "WORKER", "OTHER".
otherOccupationstring [ 0 .. 511 ] charactersDescription of occupation if 'OTHER' was chosen.
lastTermsAcceptedstringThe version of the terms and conditions signed by the consumer.
metadataobject (Metadata)A custom field to save data. This field's size is limited to 3000 characters.

Request body

{
  "partnerName": "string",
  "externalId": "string",
  "phone": {
    "countryCode": "33",
    "number": "string"
  },
  "emailAddress": "string",
  "sourceOfFunds": "COMPENSATION_PAYOUT",
  "otherSourceOfFunds": "string",
  "occupation": "BUSINESS_OWNER",
  "otherOccupation": "string",
  "lastTermsAccepted": "1.0",
  "metadata": {
    "property1": { },
    "property2": { }
  }
}

Answer will contains only the id of the Consumer which is used to identify this particular Consumer in subsequent API calls.

3. Phone number verification

The consumer must verify their phone number before they can start using their account.

You can start the verification process using the API, the consumer will receive an OTP sent to the phone number that you provided when you created the Consumer.

To trigger the sending of the OTP, use the "Send phone verification code by sms" Endpoint. If the phone number is correct, the Enduser will receive a SMS text message containing an OTP.

If the phone number is incorrect, you can patch it.

Then, this OTP has to be send back to the API with the "Verify phone verification code" request.

Once done, phone.verified field of the Consumer will be set to true.

In Sandbox : No SMS is sent, and OTP is always 123456

4. Start the KYC procedure

KYC is mandatory to be able to open financial instruments for an Enduser. You can find all the procedure here.

Full KYC process take less than a minute and verification process can be between 2 and 3 minutes.

  • Get Link and send it to Consumer

  • Wait for Consumer to be validated

5. Email address verification

We higly suggest you to validate the email address of your Endsuer. To do this, you can use the Endpoint : "Send an email verification link by email".

When you trigger this Endpoint, a clickable link will be sent to you Enduser. You can customer sender domain or template if necessary. To see customizable options, please check here.

Email can be provided in two way. You can patch your Consumer to provide the email address, or you can wait the end of the KYC proccess which already request the email address.

The email contains a clickable verification link