Fixed Installments Details

“Fixed Installments” is a part payment product. Please also see our How BNPL Works: Fixed Installments page for more product details.

This page describes the techincal integration of the payment method Fixed Installments for the German and Austrian market. If you are using one of our plugins to connect, you can check out our Platforms/Plugins Documentation, which describes how to activate Fixed Installments for your plugin.

Fixed installment plans are offered with predefined maturities of 3, 6, 12, 24, or 36 months. The response of getAvailablePaymentMethods API determines which of these installment plans can be offered. This depends on the order value as well as the contractual agreement between the merchant and Riverty.

Requirements

The minimum installment amount is 15€. The minumum basket value would be for example:

45 € for a 3 months installment plan 90 € for a 6 months installment plan 180 € for a 12 months installment plan

Sequence Diagram

Fixed Installments Details.png

Implementation in the Available Payment Methods request

If the payment method ‘Installments’ is activated for the merchant, then the payment method will be included in the response of the available payment method request.

Note: We advice to make use of the “available payment method” at first to display the legal information, T&Cs and further information regarding the calculation of the installment plan.

The payment method can be recognized on the element “type”, which is “installment”.

The element “legalInfo”, contains all of the legal information that should be shown in the checkout. If the element “requireCustomerConsent” is “true”, then the customer should be required to check a checkbox. The element “text” contains the information to be shown in the checkout, including the URL’s for the terms and conditions and the privacy statement. Additionally, the API call will return 4 different T&Cs and SECCI links depending on the basket amount and interest rate. The conditions are:

Below 200€ with interest rate Below 200€ without interest rate Above or equal to 200€ with interest rate Above or equal to 200€ without interest rate. The element “installment” contains the specific information for the offer.

An example of this is:

{
  "type": "Installment",
  "title": "Ratenzahlung",
  "tag": "Zahle Deinen Einkauf in Raten",
  "logo": "https://cdn.riverty.design/logo/riverty-checkout-logo.svg",
  "directDebit": {
    "available": true
  },
  "installment": {
    "basketAmount": 170.73,
    "numberOfInstallments": 3,
    "installmentAmount": 56.91,
    "firstInstallmentAmount": 56.91,
    "lastInstallmentAmount": 56.91,
    "interestRate": 0,
    "effectiveInterestRate": 0,
    "effectiveAnnualPercentageRate": 0,
    "totalInterestAmount": 0,
    "startupFee": 0,
    "monthlyFee": 0,
    "totalAmount": 170.73,
    "installmentProfileNumber": 1,
    "readMore": "string"
  },
  "legalInfo": {
    "requiresCustomerConsent": false,
    "termsAndConditionsUrl": "string",
    "secciUrl": "string",
    "privacyStatementUrl": "string",
    "bgb507Url": "string",
    "text": "string"
  }
}

Implementation in the Authorization request

The only change for the authorization request is the payment type, which should be set to “installment”. The pre defined ProfileNo with the aligned interest rate and maturity is chosen.

{
  "payment": {
    "type": "installment",
    "directDebit": {
      "bankAccount": "DE16401600500098012500"
    },
    "installment": {
      "profileNo": 2
    }
  },
  "customer": {
    "identificationNumber": "string",
    "address": "{ ... }",
    "legalForm": "string",
    "riskData": "{ ... }",
    "customerNumber": "string",
    "salutation": "string",
    "firstName": "string",
    "lastName": "string",
    "companyName": "string",
    "email": "string",
    "phone": "string",
    "mobilePhone": "string",
    "birthDate": "string",
    "customerCategory": "string",
    "conversationLanguage": "string",
    "distributionType": "string",
    "vatId": "string"
  },
  "order": {
    "number": "string",
    "totalNetAmount": 1,
    "totalGrossAmount": 1,
    "currency": "string",
    "risk": "{ ... }",
    "merchantImageUrl": "string",
    "items": [
      "{ ... }"
    ],
    "productUser": "string",
    "costCenter": "string"
  }
}