Marketplace x PAY_LATER

You are a marketplace and you want to offer your users (buyers) a “Buy Now Pay Later” option?

Offer BNPL to your buyers to increase your conversion rate, your AOV and helps build stickiness & relationships with your users. Defacto’s loan product enables your users to have the most flexible payment terms (e.g. payment date, payment plan, etc) according to your user's needs.

The guide explains a typical user journey & endpoints required for the integration:

  • Onboard your user as a borrower
  • Get the eligibility result of the borrower
  • Enable the Pay Later checkout with an eligibility check
  • Request a loan with an invoice
  • Get the billing info

We assume that you already followed the Authentication section and are able to authenticate with our API.

Onboard your user as a borrower

Create a borrower with only a company registration number

➡️ POST /borrowers

First, to create a borrower, you only need the user’s company registration number (for example, SIREN in France, NIF in Spain or the VAT number).

Why is the legal identifier mandatory information for Defacto to offer the service?

What countries are supported?

T&Cs acceptation

➡️ POST /borrower/{borrower_id}/sign

Defacto offers credit products to borrowers that've accepted our terms and conditions (T&Cs). To inform Defacto that your user has accepted the Defacto T&Cs, make sure to fill the signed_at parameter, or make another request indicated above. This is the only legal document to be "checked".

Does Defacto provide terms and conditions? In what languages?

What and when will the contracts be generated so that the borrower can access them?

Enable SEPA Direct Debit (SDD) as the repayment method for the borrower

If you wish Defacto to direct debit the borrower, you will need to provide the following information:

  • Business bank account details (IBAN and BIC)
  • Business email
  • Legal representative’s birthdate
  • Legal representative’s Country of residence
  • Legal representative’s Nationalité

Enable SEPA Credit Transfer (SCT) as the repayment method for the borrower

If you want to acquire the repayment, you can either transfer the repayment by SCT or provide the IBAN of the wallet and Defacto can direct debit the wallet.

Please note that according to the market practice and loan contract Defacto stops calculating the fees only when the repayment arrives at Defacto’s bank account.

To understand more about How do we calculate fees.

Provide “Pay Later” option for eligible users

➡️ GET /credit_lines

Once the borrower is created and the borrower accepts the T&Cs, Defacto will create a line of credit. Our underwriting algorithm calculates the credit line amount.

To understand more, check:

What is a line of credit?

How do we define the credit line amount?

How can I share the eligibility-relevant data with Defacto?

Defacto strongly recommends offering the "Pay Later" option only to users who are eligible (credit line >0) to provide best user experience. Defacto is the only provider that allows to pull at any time the credit line for your users to minimize all frustrations.

For example, if the minimum value of a purchase order on your platform is 1 000 €, we suggest you offer the “Pay Later” option only to the users who are eligible for or more than 1 000 €.

Enable Pay Later checkout with a loan request

On your checkout page, you can offer the Pay Later option as a payment method for those orders (quotes) that are eligible for a loan request.

➡️ POST /eligibility/quote

If the order is eligible, you can consider that the checkout is successful.

Request a loan with an invoice

You should request a loan after the generation of the invoice (usually after the delivery reception confirmation from the buyer).

➡️ POST /loans

Is it possible to have a loan amount smaller than the invoice amount?

Quick recommendations to help you build a valid request:

  • Set INVOICE_BASED_FINANCING as theloan_type.
  • For most use cases, the to_account of the loan should be the same as the to_account of the invoice; however, the two values can differ.
    (Not sure about your use case? Chat with us via intercom at the bottom right corner of this page!)
  • The to_pay_at is when you want Defacto to initiate the loan payment. For the “Buy Now Pay Later” offer, the to_pay_at would be today.
  • The loan_to is the beneficiary bank account. For the “Buy Now Pay Later” offer, the loan_to would be the seller’s bank account or dedicated digital wallet.
  • To simplify your checkout process, we suggest offering 2-3 easy-to-select options for the repayment date to_repay_at—for example, 30, 60, 90 days or at the end of the month. Defacto offers payment terms from 1 to 120 days.
  • If you want to provide a seamless experience, we suggest you set the auto_validate parameter true so that the user doesn't need to validate manually before loan initiation.

Once the loan request is submitted, Defacto checks the eligibility with our underwriting algorithm. If the loan request is eligible, we will initiate the loan payment. The loan payment takes maximum 1 day (SEPA payment processing) to arrive at the beneficiary’s bank account.

(You need absolutely an instant payment experience? Chat with us via intercom at the bottom right corner of this page!)

If the loan request is refused, we suggest you redirect your user to alternative payment methods.

What are the reasons for a loan request rejection?

To get the payments linked to the approved loan:

➡️ GET /payments?loan_id=<LOAN_ID>


The repayment acquisition can be initiated either by you or Defacto.

If the repayment is acquired by Defacto, we initiate a SEPA direct debit (SDD) directly to your user.

If you wish to keep the repayment flows for better visibility, you can acquire the repayment from your users, Defacto accepts 2 repayment methods:

  1. SEPA credit transfer (SCT), you make a bank transfer to Defacto’s bank account.
  2. SEPA direct debit (SDD), Defacto initiated a direct debit to a dedicated wallet or bank account.

There is no need to notify Defacto about the repayment by API. We reconcile everything automatically : )

To repay the loan by SCT, You will need two information:

  • The virtual IBAN to send the money to (each borrower has their own virtual IBAN)
  • The reference to attach to the credit transfer

To get these values, GET /loan/{loan_id}.

  • Make sure that status is TO_REPAY before repaying
  • Get the destination IBAN under repayment_to.account_number
  • Get the reference under repayment_to_references

Repayment date

For the repayment method SDD, the repayment amount is debited on the repayment date (to_repay_at).

The repayment date can be modified as long as it doesn't exceed 120 days.

Please note that it takes 3 working days to process the SDD. If today is the 1st of January, the earliest repayment date would be the 4th of January.

➡️ PATCH /loan/{loan_id}

What happens when the loan repayment passed due?


➡️ GET /bills

Defacto bills the fees at the beginning of the month for all the loans repaid during the previous month. The fees are due by the borrower; however, you can transfer the fees on the user’s behalf (in such case it will be mentioned in the loan contract).

For example:

  1. In January, Borrower A requested 3 loans
  2. In February, 2 loans were repaid
  3. On the 1st of March, Defacto sends the bill to you or your borrower for the 2 loans repaid in February

Please note that according to the market practice and loan contract Defacto stops calculating the fees only when the repayment arrives at Defacto’s bank account.

The billing (i.e. fees payment) method inherits the defined repayment method.

For example, if you acquire the repayments, you acquire also the fees; if Defacto acquires the repayment, Defacto acquires also fees, this means we send the bill by email directly to the borrower and initiates an SDD.

To understand more about How do we calculate fees.