Consumer Splitpay
Introduction
This guide explains the integration process of Solaris' Splitpay product for retail customers (Consumers) as a standalone solution, including the mandatory information you must collect from your customers and the necessary endpoints and webhooks you must integrate into your solution.
Product specifications
Consumer Splitpay are currently only available for customers in Germany with a German bank account. Check the overview page for more details on the product specifications.
Credit scoring
Solaris uses an automated credit scoring system (Splitpay scorer) to make informed credit decisions on consumer credit line applications. The scorer collects and analyzes different information, such as the customer's self-declared financial information, credit data, transaction history, and outstanding loans to assess their creditworthiness and determine their risk level and credit eligibility.
Based on different credit checks done throughout the application lifecycle, the scorer estimates the probability of default (PD) and then determines whether to offer a credit line and the limit to be granted.
How does the scorer interact with the consumer credit line service?
The consumer credit line service and its related endpoints handle consumer credit line requests and collect the required information about the applicants, such as self-declared financial information, credit records, and account snapshots. Throughout the lifecycle of a consumer credit line application, the scorer provides different responses based on the information provided during each stage of the application.
The scorer performs different credit checks throughout the application lifecycle, such as:
- Initial scoring: In this stage, the scorer evaluates the self-declared information the applicant provided in the credit line application and the credit record obtained from external credit bureaus, such as SCHUFA. Based on this information, the scorer gives decision either to offer a credit line right away or to require a verification step through an account snapshot.
- Verification: The scorer uses the account snapshot to verify the financial information provided in the credit line application. This is the final check, after which the scorer provides the final decision.
System prerequisites
Before integrating Solaris' Consumer Splitpay, implement the following requirements:
1. Technical setup:
Set up your environment and get your authentication keys. For step-by-step instructions, check the Technical setup guide.
2. Legal and compliance screens:
Build the necessary legal and compliance screens in your sign-up flow to collect your customers' consent to the necessary legal and compliance requirements. The Legal and compliance screens guide contains step-by-step instructions on how to create these screens and what they must contain.
The following screens are required to onboard B2C customers for lending standalone products:
Record the customer's consent on each screen as a UTC timestamp (e.g., 2019-01-01T00:00:00Z
). Afterward, you must pass each timestamp in its respective field to Solaris.
- Collect the customer's consent to Solaris's Terms and Conditions and store the timestamp in the
terms_conditions_signed_at
field. - Collect the customer's consent to data processing and store the timestamp in the
data_terms_signed_at
field. - Collect the customer's economic interest declaration and store the timestamp in the
own_economic_interest_signed_at
field.
note
The mentioned fields are part of the person resource in which all the customer data points are stored.
Integration overview
Important
- This guide includes the integration process for Consumer Splitpay as a standalone solution, i.e., the credit limit will be added to an external account.
- For existing customers who already have a current account with Solaris and wish to apply for a credit line, skip Step 2.
Integrate Solaris' Consumer Splitpay by completing the following steps:
Stage | Step | Description |
---|---|---|
Customer registration | Step 1 - Optional | Generate an anonymous installment plan for a given amount for the customer. |
Customer registration | Step 2 | Collect the mandatory customer data and consent to the legal and regulatory requirements in your sign-up flow, and create a person resource for your customer. |
Credit line application | Step 3 | Create a credit record for the customer. |
Credit line application | Step 4 | Create a credit line application for the customer and include all mandatory data points required for the scorer. |
Credit line application | Step 5 - Optional | Create an account snapshot for the customer and link it to the credit line application. |
Customer identification & contract signing | Step 6 | Send the customer the SECCI form and the credit line final contract. |
Customer identification & contract signing | Step 7 | Trigger the KYC and e-signing flow for the customer, and redirect the customer to complete the identification process with IDnow and sign the relevant contracts. Ensure that the customer is successfully identified and passes the risk screening before proceeding with the following steps. |
Credit line usage & servicing | Step 8 | Whenever a customer uses an amount from the credit line limit, an installment loan for this amount will be created and serviced separately, and the remaining amount of the credit line limit will be recalculated. Implement all the relevant endpoints in this step. |
You can find detailed descriptions of these steps and their related endpoints in the following sections.
Sequence diagram
The following sequence diagram gives an overview of the integration flow for the Consumer Splitpay solution:
note
To view a larger version of this diagram, right-click on the image and click "Open in a new tab."
Webhooks
Solaris recommends subscribing to the following webhook events to better automate your processes. For detailed instructions on implementing Solaris webhooks, check the webhooks documentation.
- ACCOUNT_SNAPSHOT
- IDENTIFICATION
- PERSON_CHANGED
- PERSON_DELETED
- PERSON_MOBILE_NUMBER_CREATED
- PERSON_MOBILE_NUMBER_DELETED
- LOAN
Credit line webhook events
This webhook event is triggered in the following cases:
Status trigger:
credit_line_created
upon the creation of a credit line.offered
upon scorer approval.rejected
upon scorer rejection.-
on
account_snapshot_verification_succeeded
:identification_pending
onaccount_snapshot_verification_succeeded
whenused_esigning_provider
=BANK
offered
onaccount_snapshot_verification_succeeded
whenused_esigning_provider
=BANK
rejected
based onaccount_snapshot_verification_failed
.esign_failed
based onsigning_failed
.rejected
based onesign_completed
withscreening_finished_with_confirmed_match
.rejected
based onsamsung_fix_reject
.expired
when an application expires.deleted
on non customer GDPR deletion.
This webhook event is triggered in the following cases:
Status trigger:
open
onmandate_created
.accepted
onscreening_status_changed_to_accepted
.closed
on credit linerevoked
.
Block trigger:
locking_status
BLOCK onscreening_status_changed_to_potential_match
.locking_status
BLOCK onscreening_status_changed_to_declined
.locking_status
BLOCK onid_now_canceled
.locking_status
BLOCK onlocking_status_changed
:true
.
Loan trigger:
- Credit line loan opened on
credit_line_loan_contract_details_retrieved
. - Credit line loan repaid on
credit_line_loan_repaid
.
limit trigger:
- Credit line with
updated_data
: limit on credit line limit changed.
Mandatory features
You must integrate all the mandatory features for B2C Splitpay highlighted in the Onboarding requirements guide before going live with your solution.
Step 1: Generate an anonymous installment plan
In this step, you'll enable your customers to request an anonymous installment plan before applying for a credit line by integrating the following endpoint in your sign-up flow. Your customers enter the desired amount they want to convert into installments and they receive an initial installment plan, including the monthly installment amount, and applicable interest rates.
POST Create an anonymous credit line installment plan
This endpoint generates an anonymous credit line installment plan for a specific amount, allowing potential customers to receive an initial offer before applying for a credit line.
Request URL
POST /v1/anonymous_credit_line_installment_plans
Click here to view the full API reference
If the customer decides to apply for a credit line, you need to collect the mandatory information from the customer on your frontend by completing the following steps in this guide.
Step 2: Collect customer data and create person resource
In this step, you have to collect the mandatory data points from the customer in your sign-up flow, including all the timestamps of the customer's consent to the legal and compliance screens.
Afterward, pass all the data points to Solaris by creating a person resource to represent your customer.
API reference
For a complete list of endpoints, properties, and examples related to the person
resource, visit the following links:
Related webhook events
Important points about data collection
- Please consider the special requirements for data collection highlighted in the onboarding requirements guide.
- You must submit the information exactly as it appears in official documents.
- When testing the process on Sandbox, please ensure that each person you create has unique values for
first_name
,last_name
,birth_city
, andbirth_date
. If you create over 1000 identical person resources, the API will return a400
error. - Don't use any personal data when testing this endpoint on Sandbox.
POST Create person
Call this endpoint to create a person resource for your customer, and add the following mandatory data points in the request body:
Mandatory data points for retail customers in Germany
salutation
first_name
last_name
-
address
line_1
line_2
postal_code
city
country
mobile_number
birth_date
birth_city
birth_country
nationality
employment_status
terms_conditions_signed_at
data_terms_signed_at
own_economic_interest_signed_at
-
tax_information
marital_status
Request URL
POST /v1/persons
Click here to view the full API reference.
PATCH update person
This endpoint updates one or more properties on a person
resource. You can only update the following properties using this endpoint:
title
salutation
address
(line_1
,line_2
,postal_code
,city
,state
,country
)contact_address
(line_1
,line_2
,postal_code
,city
,state
,country
)employment_status
job_title
email
tax_information
(tax_assessment
,marital_status
)fatca_relevant
fatca_crs_confirmed_at
business_purpose
industry
industry_key
own_economic_interest_signed_at
aml_confirmed_on
(only with today or tomorrow's date)expected_monthly_revenue_cents
vat_number
website_social_media
business_trading_name
nace_code
business_address_line_1
business_address_line_2
business_postal_code
business_city
business_country
annual_income_range
data_terms_signed_at
branch
birth_province
birth_post_code
socioprofessional_category
purpose_of_account_opening
main_income_source
work_country
work_province
self_declared_as_pep
international_operativity_expectation
registration_number
attention
- Fields not mentioned in this list can only be updated via Customer Support.
-
Only for B2C customer: If a customer changes their
employment_status
toFREELANCER
orSELF_EMPLOYED
, please note that you must apply one of the following options to the same request to avoid getting an error:- Collect the
nace_code
from the customer, or - Set the fields
industry
andindustry_key
tonull
.
- Collect the
- Solaris recommends collecting the
nace_code
from the customer for the sake of data quality.
Request URL
PATCH /v1/persons/{id}
Click here to view the full API reference
Step 3: Create credit record
In this step, you must create a consumer credit record and link it to the person resource of the relevant customer.
What is a credit record?
The credit record contains the customer's credit data and history. Creating a credit record is usually required in lending products integrations as it's used for credit scoring to determine the customer's creditworthiness and eligibility.
Important
- The credit record is only valid for onboardings in Germany since the information is retrieved from SCHUFA, which is a German credit bureau.
- For lending onboardings in other countries, such as France, Italy, and Spain, creating a tax identification for the customer substitutes a credit record.
Integrate the following endpoints to create credit records for your retail customers.
API reference
Visit the following link to find all the endpoints related to the credit record resource, including related properties and examples.
To create a credit record for your customer, you can use one of the following endpoints depending on your customer type. You can create a credit record in two ways:
1. Via Solaris:
To create a credit record via Solaris, set the source
field to solarisBank
in the request body and Solaris will pull the customer's record directly from SCHUFA.
2. Manual upload:
In this case, you will collect the credit record manually through SCHUFA and/or other third-party service providers and upload the file to Solaris. Set the source
field to partner
and include the file content in the file
field (Base64-encoded).
POST Create a credit record for a retail customer
Request URL
POST /v1/persons/{person_id}/credit_records
Click here to view the full API reference
POST Create a credit record for a freelancer
Request URL
POST /v1/freelancers/persons/{person_id}/credit_records
Click here to view the full API reference
GET Retrieve a credit record
This endpoint returns the information about a customer's existing credit record, including the status and validity of the credit record. Add the person_id
and the credit_record_id
in the request URL. If the status
of the credit record is expired
, you must create a new one for the customer.
Request URL
GET /v1/persons/{person_id}/credit_records/{credit_record_id}
Click here to view the full API reference
Step 4: Create consumer credit line application
After collecting the mandatory personal information from the customer and creating a person
resource, you must collect additional information from the customer related to the credit line application, and pass them to Solaris using the following endpoint:
POST Create consumer credit line application
Call this endpoint to create a consumer credit line application for your customer. You must add the following mandatory properties in the request body, which the credit scorer uses to initiate a series of credit checks:
Mandatory properties:
requested_credit_limit
credit_record_id
employment_since
living_situation
living_situation_amount
existing_credit_repayment_excluding_mortgage
marriage_status
moved_in_last_two_years
net_income_amount
number_of_dependents
private_insurance_amount
recipient_iban
repayment_day_of_month
The application status
changes to initial_scoring_pending
after calling this endpoint.
Request URL
POST /v1/persons/{person_id}/credit_line_applications
Click here to view the full API reference
Scoring results:
This API call triggers the credit scoring system, which initiates the initial scoring based on the self-declared information passed in the payload and the credit record, and rejects applications that don't meet the minimum credit eligibility criteria.
Approved application
- If the application passes the initial scoring and no account snapshot or identification is needed, then the application status goes directly to
offered
. In this case, proceed to step 6 to generate the relevant contracts for the customer. - Alternatively, the status can go to
account_snapshot_verification_pending
if an account snapshot is required. In this case, complete step 5 to create an account snapshot and link it to the application.
Rejected application
If the application is rejected, the application status
changes to rejected
, and you must abort the customer onboarding process.
GET Retrieve consumer credit line application
This endpoint returns the current status and details of an existing consumer credit line application. For a list of possible values of the application status and their descriptions, check the appendix.
Additionally, subscribe to the webhook event CREDIT_LINE_APPLICATION
to receive status updates on the application.
Request URL
GET /v1/persons/{person_id}/credit_line_applications/{credit_line_application_id}
Click here to view the full API reference
Application status flow
The following diagram describes the status flow of a consumer credit line application:
Step 5: Create account snapshot and link it to the application (Optional)
If the application status
changes to account_snapshot_pending
, then the final verification step is required to complete the credit scoring process. In this case, you need to create an account snapshot for the customer and link it to their credit line application by calling the following endpoints:
What is an account snapshot?
The account snapshot contains a breakdown of the customer's account information, such as balance, transactions, bookings, and recurrent repayment amounts over a certain period of time. Creating an account snapshot is usually required in lending products integrations as it's used for credit scoring to verify the customer's financial data.
Integrate the following endpoints to create account snapshots for your customers.
API reference
Visit the following link to find all the endpoints related to the account snapshot resource, including related properties and examples.
POST Create an account snapshot for a customer
This endpoint creates an account snapshot for the customer with the person_id
specified in the request URL. You can create an account snapshot in different ways by specifying the source
of the account snapshot.
1. Account snapshot via FinTech systems
You can create an account snapshot via FIN_TECH_SYSTEMS by completing the following steps:
- Integrate the FIN_TECH_SYSTEMS wizard container in your solution by following their documentation.
-
Call the following endpoint and add the following properties in the request body:
- source: FIN_TECH_SYSTEMS
- iban: (Optional) you can add the IBAN of the customer's account.
- The API call will return a
wizard_session_key
, which you must enter in the FIN_TECH_SYSTEMS wizard container to start the account snapshot session. - The customer enters their bank credentials to initiate the account snapshot.
Request example
POST /v1/persons/{person_id}/account_snapshots
{
"source": "FIN_TECH_SYSTEMS"
}
Response example
The API call returns a resource with a unique ID, the account_snapshot_id
, as well as the wizard_session_key
.
{
"wizard_session_key": "Hm7jUSC7XU2nQjPqJO8dl39eDkdjtOdCtywcmv3x",
"location": null,
"id": "8df2a8ba713c43dc9cb481b9cceed487snap",
"account_id": null
}
2. Account snapshot via Finreach
You can create an account snapshot via FinX by completing the following steps:
- Integrate the FinX widget in your solution by following their documentation.
-
Call the following endpoint and add the following properties in the request body:
- source: FINREACH
- The API call will return a
location
, which is a URL to which you must redirect your customer to enter their bank credentials to initiate the account snapshot.
Request example
POST /v1/persons/{person_id}/account_snapshots
{
"source": "FINREACH"
}
Response example
The API call returns a resource with a unique ID, the account_snapshot_id
, as well as URL to which you must redirect the customer.
{
"wizard_session_key": null,
"location": "https://ui.solaris-i.prod.finleap.cloud?token=xxxxxx",
"id": "8df2a8ba713c43dc9cb481b9cceed487snap",
"account_id": null
}
3. Account snapshot via partner
If you want to upload the details of an account snapshot you've created (e.g., if you already have your own connection with FIN_TECH_SYSTEMS or FINREACH), specify the source
of the account snapshot file as partner
and add the account snapshot data in the snapshot_data
field.
Request example
POST /v1/persons/{person_id}/account_snapshots
{
"source": "PARTNER",
"snapshot_data": {
"account": {
"bank_name": "",
"bic": "",
"country_id": "",
"description": "",
"holder": "John Smith",
"iban": "DE92370601930002130041",
"joint_account": false
},
"balance": {
"balance": 3720.20,
"currency": "EUR",
"date": "2022-02-03",
"limit": 0
},
"date": "2022-02-03",
"days": 90,
"turnovers": [
{
"amount": 4000.05,
"booking_date": "2022-02-01",
"counter_bic": "",
"counter_holder": "Salary company",
"counter_iban": "DE89500105177323343587",
"currency": "EUR",
"purpose": [
"LOHN / GEHALT 01/22"
],
"tags": [],
"CrifCategory": "RE_05"
},
{
"amount": 4000.05,
"booking_date": "2022-01-02",
"counter_bic": "",
"counter_holder": "Salary company",
"counter_iban": "DE89500105177323343587",
"currency": "EUR",
"purpose": [
"LOHN / GEHALT 12/21"
],
"tags": [],
"CrifCategory": "RE_05"
},
{
"amount": 4000.05,
"booking_date": "2021-12-01",
"counter_bic": "",
"counter_holder": "Salary company",
"counter_iban": "DE89500105177323343587",
"currency": "EUR",
"purpose": [
"LOHN / GEHALT 11/21"
],
"tags": [],
"CrifCategory": "RE_05"
},
{
"amount": 4000.05,
"booking_date": "2021-11-05",
"counter_bic": "",
"counter_holder": "Salary company",
"counter_iban": "DE89500105177323343587",
"currency": "EUR",
"purpose": [
"LOHN / GEHALT 10/21"
],
"tags": [],
"CrifCategory": "RE_05"
}
]
}
}
Response example
The API call returns a resource with a unique ID, the account_snapshot_id
.
{
"wizard_session_key": null,
"location": null,
"id": "0a3f28733f9a4842842aae2804f80eb4snap",
"account_id": null
}
4. Account snapshot via Solaris
You can create an account snapshot via Solaris for internal accounts by specifying the source
as SOLARISBANK
and adding the customer's account_id
in the request body.
Request example
{
"source": "SOLARISBANK",
"account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc"
}
Response example
The API call returns a resource with a unique ID, the account_snapshot_id
.
POST /v1/persons/{person_id}/account_snapshots
{
"wizard_session_key": null,
"location": null,
"id": "0a3f28733f9a4842842aae2804f80eb4snap",
"account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc"
}
Click here to view the full API reference
GET Retrieve a customer's account snapshot
This endpoint returns the information about a customer's existing account snapshot, including the status and validity of the account snapshot. Add the person_id
and the account_snapshot_id
in the request URL. If the status
of the account snapshot is expired
, you must create a new one for the customer.
Additionally, subscribe to the webhook event ACCOUNT_SNAPSHOT
to receive notifications when the status of an account snapshot changes.
Request URL
GET /v1/persons/{person_id}/account_snapshots/{account_snapshot_id}
Click here to view the full API reference
PUT Link account snapshot to consumer credit line application
After creating an account snapshot, use this endpoint to link the customer's account snapshot to their existing credit line application.
After linking the account snapshot to the application, the application status
changes to account_snapshot_verification_pending
, triggering the final verification step in the credit scoring process. After successful snapshot verification, the application status should change to offered
and you can proceed with the remaining steps.
If the verification step fails, the status will change to rejected
and you must abort the onboarding process.
Request example
// PUT /v1/persons/{person_id}/credit_line_applications/{application_id}/account_snapshot
{
"account_snapshot_id": "6c8f81a234df4052a9cde197577347b7snap"
}
Click here to view the full API reference
Step 6: Send SECCI form and credit line contract
Before prompting the customer to sign the final contract of the credit line, you must send the customer the Standard European Consumer Credit Information (SECCI) form. The SECCI form is a standardized credit form that includes the information related to a credit offer, such as creditor details, type of credit, amount, duration, interest rates, credit costs, etc.
In compliance with regulatory requirements, you must first send the customer the SECCI form to review and approve. Afterward, you can send them the final contract which they have to sign during the identification and e-signing process.
Implement the following endpoints to generate the SECCI form and final contract of a credit line:
GET Retrieve the SECCI form of a credit line
Call this endpoint to generate the SECCI form of the credit line as a PDF. You must share this form to the customer before sending the final contract either via email or direct download through your app.
Request URL
GET /v1/persons/{person_id}/credit_line_applications/{application_id}/pre_contract
Click here to view the full API reference
GET Retrieve final contract
After the customer reviews and approves the credit line's SECCI form, call this endpoint to generate the final contract, which the customer must sign electronically during the identification process.
note
It's recommended to share the final contract with the customer via email or direct download prior to the identification process.
Request URL
GET /v1/persons/{person_id}/credit_line_applications/{application_id}/contract
Click here to view the full API reference
attention
The customer must also sign an SDD mandate, which authorizes Solaris to debit the customer's account for the monthly installments. For more information about SDD mandates, check the SEPA DIRECT DEBIT GUIDE.
Step 7: Complete the customer identification and e-signing process
In the step, you must prompt the customer to complete the identification process, in which the customer will be identified in a video identification session through our provider IDnow. During this session, an identification agent will verify the customer's data against their identification documents, verify their mobile number, and collect the customer's qualified electronic signature (QES) on the credit line contract, SDD mandate, and terms and conditions.
Call the following endpoints once the status
of the consumer credit line application changes to esign_pending
.
info
This guide explains the integration process with video identification as the identification method. For an overview of other available KYC methods, check the customer KYC products overview page and consult with your Partner Manager.
GET Retrieve the signing ID
When the application status
changes to esign_pending
, it means that the identification and e-signing process has been triggered for the customer. You must call the GET Retrieve consumer credit line application method to get the signing_id
, which you'll need to retrieve the identification details.
GET Retrieve e-signing and identification details
Once you obtain the signing_id
from the previous endpoint, call the following method to get the video identification details, such as IDnow reference and URL.
Request URL
GET /v1/persons/{person_id}/signings/{signing_id}
Response example
The API call returns the identification details, such as the IDnow reference
and url
, to which you must redirect your customer to complete the identification process and the documents your customer must e-sign. The payload also includes the IDnow status
.
{
"id": "97b07d67783856a08312f38bf7b7ef2ecidt",
"reference": "TST-NGGWH",
"url":"https://go.test.idnow.de/solarisbankesignsandbox/identifications/:id",
"status": "pending",
"completed_at": null,
"method": "idnow",
"proof_of_address_type": null,
"proof_of_address_issued_at": null,
"address": null,
"documents": []
}
Click here to view the full API reference.
note
- For a list of possible values for IDnow
status
and their descriptions, check the appendix. - Additionally, subscribe to the
IDENTIFICATION
webhook event to get IDnow status updates. - Check the video identification guide for more endpoints related to KYC with IDnow.
GET Retrieve the details of a successful identification
This endpoint returns a completed person identification (i.e., the person identification process was successful
). If you use the include_documents
filter, this method will also return the documents submitted by the customer during the identification process.
Request URL
GET /v1/persons/{person_id}/identifications/{id}
Click here to view the full API reference.
GET Download a document
This endpoint downloads the file of the document with the id
specified in the request URL. Call this endpoint to download the relevant signed documents to share them with the customer.
Request URL
GET /v1/persons/{person_id}/documents/{id}/file
Click here to view the full API reference
Identification and screening results
In this step, the customer will be identified through our KYC partner IDnow and internally screened by Solaris for risk metrics:
Successful identification:
Once the customer completes the identification and e-signing process successfully, the credit line application status changes to esign_complete
.
Failed identification:
If the identification and e-signing process fails, the credit line application status changes to esign_failed
. In this case, the customer can attempt to identify again depending on the reason for failure from IDnow.
Successful screening:
Once the application status
reaches esign_complete
, the screening process will be triggered. If successful, the status will change to credit_line_creation_pending
triggering the final steps of the onboarding process, which is the credit line and account creation.
Failed screening:
If the screening process fails, the application status
will change to rejected
, and you must abort the onboarding process.
GET Retrieve the credit line ID
Once the customer completes the video identification and QES processes, Solaris creates the credit line. You can track the credit line creation process by calling the GET consumer credit line application method.
Once the credit line has been created, the application status
changes to credit_line_created
, and the credit_line_id
will be included in the payload and the full credit line details such as the amount and interest rates.
Additionally, Solaris will create an account for the customer, which will be used in the scope of the credit line agreement. The account_id
will also be included in the payload.
Step 8: Credit line usage and servicing
This step includes all the relevant endpoints you need to integrate into your solution to use and service credit lines.
Credit line usage
After a customer is granted a credit line, they can use the limit in the form of single installment loans.
For example, if Solrisbank offers a customer a 5,000 EURO credit line limit, they can choose to use 3,000 EURO to pay back the principal and interests in monthly installments over the course of 24 months. An installment loan for this amount and term will be created and serviced separately, leaving the customer with a remaining credit line limit of 2,000, which they can use in
note
A credit line must be created.
POST Generate available installment plans
Once a customer is granted a credit line, they can convert previous transactions into installments. You must generate possible installment plans and terms for the given amount and share them with the customer.
This endpoint generates possible installment plans for a given amount. The API call returns an array of possible installment plans for the given amount, including the term, monthly installment amount, and applicable interest rate.
Request example:
POST /v1/persons/{person_id}/credit_lines/{credit_line_id}/available_installment_plans
Click here to view the full API reference
POST Create a credit line loan
This endpoint creates a loan resource based on an installment plan. The loan is used for bank statements and should shortly describe the purpose of the loan. Additionally, you should assign a reference for the loan and indicate whether a loan for a specific transaction was already created.
The API call returns an object with a unique ID, the loan_id
, and the loan status
.
For a list of possible values of the credit line loan status and their descriptions, check the appendices section. Additionally, subscribe to the webhook event LOAN to receive status updates about the loan.
Request URL
POST /v1/persons/{person_id}/credit_lines/{credit_line_id}/loans
Click here to view the full API reference
Credit line servicing
This section includes the different endpoints you need to integrate in your solution for servicing and maintaining credit lines for your customers.
GET Retrieve a credit line
This endpoint returns the details of the credit line, such as the used amount, active loans, available limit, etc.
Request URL
GET /v1/persons/{person_id/}credit_lines/{credit_line_id}
Click here to view the full API reference
PATCH Update the internal payout account tied to a credit line
This endpoint updates the internal payout account (Solaris account) used for a credit line loan payout.
Request example
PATCH /v1/persons/{person_id}/credit_lines/{credit_line_id}/payout_account
Click here to view the full API reference
PATCH Update the reference account tied to a credit line
This endpoint updates the reference account (external account) used for a credit line loan payout.
PATCH /v1/persons/{person_id}/credit_lines/{credit_line_id}/reference_account
Click here to view the full API reference
PUT Revoke a credit line
The customer can revoke an offered credit line within 14 days from the issuance date. The following endpoint revokes a created credit line for a customer.
Request URL
PUT /v1/persons/{person_id}/credit_lines/{credit_line_id}/revoke
Click here to view the full API reference
Credit line account statements
Due to regulatory requirements, you need to generate annual account statements for credit lines for all of your customers with an active credit line. As long as the credit line remains active, you must share the annual statement with the customer every year as a PDF file, either via email or direct download through your frontend.
Additionally, in case of terminated credit lines, you need to generate a closing account statement and share it with the customer after the termination and account closure process has been completed.
GET Download annual account statement for a credit line
Call this endpoint to download an annual account statement for a credit line.
Click here to view the full API reference.
GET Download closing account statement for a credit line
Call this endpoint to download a closing account statement for a credit line.
Click here to view the full API reference.
Credit line termination
Credit lines can be terminated either by Solaris or by the customer.
The termination process is handled internally by Solaris and it depends on your specific configurations with Solaris. If your customer wants to terminate an existing credit line, contact your Partner Manager to receive more information about the process.
Account closure and Splitpay termination
If an account closure request is initiated for a customer's account, any associated credit line must also be terminated. Contact your Partner Manager to receive more information about the credit line termination process.
For more information about account closure requests, check the related Account Closure guide.
Credit line renewal (France only)
For customers in France, credit lines cannot be offered with an unlimited term. Credit lines are offered for a period of 12 months and must be explicitly renewed by the customer.
The process for credit lines renewals is as follows:
- Solaris will notify you about the credit line renewal via the webhook event CREDIT_LINE.
- You must notify the customer of the renewal request.
- Call the endpoint PATCH Send confirmation to Solaris about customer renewal notification to inform Solaris that you've notified the customer, and include the notification date in the request body.
- In case the customer doesn't want to renew the credit line, call the endpoint POST Cancel credit line renewal to initiate the termination process. Please note that all credit line obligations must be repaid before terminating the credit line and closing the account.
- If the customer doesn't cancel the renewal, the credit line will be automatically renewed.
Loan servicing
This section includes the different endpoints you need to integrate in your solution for servicing and maintaining loans for your customers.
API reference
Visit the following link to find all the endpoints related to servicing and maintaining loans, including related properties and examples.
GET Retrieve a loan schedule
This endpoint retrieves the latest repayment schedule of the loan specified in the request URL. The call will return information about two components:
- Loan balance
- Loan installments
For detail descriptions about each field, check the API reference.
Request URL
GET /v1/loans/{loan_id}/repayment_schedule
Click here to view the full API reference.
GET Retrieve the repayment history of a loan
This endpoint retrieves the repayment history of the loan specified in the request URL. The call will return information about two components:
- All SEPA Direct Debits (SDD) that were pulled from the customer's reference account tied to the loan.
- All SEPA Credit Transfers (SCT) for any partial or full early repayments the customer have made (If applicable).
Request URL
GET /v1/loans/{loan_id}/repayment_history
Click here to view the full API reference.
What's next?
Congratulations! You've successfully integrated Solaris' Consumer Splitpay solution.
Check the following appendices section for additional information on enums and testing data.
For an overview of Solaris' lending products, check the lending products overview page.
Useful resources
Check the following links for additional related guides and API reference documentation:
- Consumer Credit Line API Reference Documentation
- Loan Servicing API Reference documentation
- Person Signings API Reference Documentation
- Video Identification Guide
- SEPA Transfers Overview
- SEPA Direct Debit Transfers
Appendix I: Enums
Consumer credit line application status
These are the possible values for the field status
in the consumer credit line application resource.
Enum | Description |
---|---|
initial_scoring_pending |
The application has been received and currently going through the initial scoring process. |
account_snapshot_pending |
The credit line application passed the initial scoring step, and an account snapshot is needed for the final verification step. Therefore, you must create an account snapshot for the applicant and attach it to the application to continue the process. |
account_snapshot_verification_pending |
An account snapshot has been linked to the credit line application. The account snapshot triggers the final verification step, in which the credit scoring system checks the account history to verify the self-declared financial information. |
identification_pending |
The identification resource has been created for the relevant customer. The identification_id should be available in the payload of the GET Retrieve consumer credit line application method at this point. |
offered |
The account snapshot verification has succeeded, and no identification is required. |
esign_pending |
The e-signing process is created and must be completed by the customer. The signing_id should be available in the payload of the GET Retrieve consumer credit line application method at this point. |
esign_complete |
The e-signing process has been completed successfully. |
esign_failed |
The e-signing process has failed. |
credit_line_creation_pending |
The identification and e-signing processes are completed successfully, but the credit line creation process is still in progress. |
credit_line_created |
The credit line has been created and assigned to the person resource of the customer. |
expired |
Either the credit record or the account snapshot is expired. New ones must be created and linked to the credit line application to resume the process. |
deleted |
The credit line application has been deleted. |
rejected |
The credit line application has been rejected. Rejection could be due to failed credit scoring, account snapshot verification, or identification. |
Consumer credit line status
These are the possible values for the field status
in the consumer credit line resource.
Enum | Description |
---|---|
authorization_pending |
You must authorize the creation of the credit line. This is not a mandatory stage for all use cases but only happens if you have an internal authorization workflow. |
account_creation_pending |
The customer's account creation is still in progress. The account is required for the loan payout. |
mandate_creation_pending |
The mandate creation process is still in progress. First, you must collect the customer's signature on the mandate, which authorizes the collection of the credit line installments from the customer's account. |
open |
The account and mandate have been created and linked to the customer's credit line. The credit line is now open and can be utilized by the customer. Please note that the credit line locking status must be NO_BLOCK for the customer to be able to use the credit line. |
closed |
The credit line has been revoked and is no longer active. |
Credit line loan status
These are the possible values for the field status
in the credit line loan resource.
Enum | Description |
---|---|
payout_pending |
The loan payout is still in progress. |
payout_triggered |
The loan payout has been triggered. |
created |
The loan payout has been created and can be used by the customer. |
repaid |
The customer has paid all the loan obligations. |
Document types
The following table includes the possible values for the field document_type
and their descriptions.
Enum | Description |
---|---|
ANNUAL_FINANCIAL_STATEMENT |
A business or a company's annual financial statement. |
KYC_REPORT |
The KYC report generate after a successful customer identification. |
ID_DOCUMENT |
An person's identification document, such as passport or ID. |
SIGNATURE |
A signature example. |
PICTURE |
A picture or a scanned document of any other type. |
QES_DOCUMENT |
A document related to a Qualified Electronic Signature (QES). |
SIGNED_CONTRACT |
A signed contract of any kind. |
SIGNED_QES_DOCUMENT |
A document signed by a Qualified Electronic Signature (QES). |
REGISTER_CHECK |
A register check. |
REGISTER_EXTRACT |
A business or a company's commercial register excerpt or a similar document. |
FOUNDATION_DOCUMENT |
The foundation document of a company or business. |
SCHUFA_COMPACT_REPORT |
A compact SCHUFA report. |
SCHUFA_GWG_REPORT |
A GWG SCHUFA report. |
SCHUFA_FULL_REPORT |
A full SCHUFA report about a person. |
SCHUFA_SHORT_REPORT |
A short SCHUFA report about a person. |
CREDIT_AGENCY_REPORT |
A report issued by a credit agency. |
SHARE_HOLDERS_AGREEMENT |
A business or a company's shareholders agreement. |
SHAREHOLDERS_LIST |
A business or a company's shareholders list. |
TRADING_LICENSE |
A business or a company's trading license. |
TRANSPARENCY_REGISTER_EXTRACT |
An extract of a transparency register. |
INVOICE |
An invoice of any kind. |
OTHER |
Any other type of document. |
VIDEO |
A video of any kind. |
VAT_CERTIFICATE |
VAT registration certificate |
Idnow status
The following table includes the possible values for the field status
for the video identification process carried out by IDnow and the related description of each status.
Status | Description |
---|---|
created |
The identification resource has been created for the customer. |
pending |
The identification process has been triggered and the video identification URL and reference are generated. You must redirect the customer to the URL to complete the identification process with IDnow. |
pending_failed |
The identification is currently under review. You cannot offer banking services to the customer at this stage. The identification might eventually turn to successful, but it is unlikely. |
successful |
The video identification was successful. The customer can be onboarded. Please note that the customer's data might have been updated during the identification session. |
aborted |
The customer aborted the identification process. The customer can still video-identify using the same URL. |
canceled |
The provider canceled the video identification. The customer should video-identify again using the same URL. |
failed |
The identification was unsuccessful. You cannot onboard the customer or offer any banking services to them. |
IDnow provides a reason whenever the identification has a canceled
or
aborted
status. No reason can be disclosed for the final failed
status.