Ratepay Installment
Overview - Ratepay Installment
Ratepay - Installments enables customers to pay for purchases in installments and choose a convenient payback plan.
Ratepay settles the purchase with the merchant and finances the customer in exchange for interest. The financing amount is usually between EUR200 and EUR2,000 but can vary according to the merchant's contract with Ratepay.
Customers can choose the number of monthly installments, which are usually 3, 6, 9, 12 or 24. In some cases, Ratepay can authorize a merchant to offer payments in 36 or 48 installments. The longer the payback period, the higher the interest.
Customers have to meet certain requirements to be entitled to pay with Ratepay - Installments.
Ratepay charges customers with a small service charge for every purchase.
Customers can use bank transfer or SEPA direct debit to pay their installments.
The main advantages for merchants using Ratepay - Installments are:
- The merchant receives the whole purchase price from Ratepay, which effectively grants a loan to the customer;
- The entire user experience takes place on the merchant's website, and there is no need to redirect the customer to a third-party webpage to complete payment.
- As with all Ratepay payment methods, the risk of customer payment default is transferred from the merchant to Ratepay;
The main advantages for customers using Ratepay - Installments are:
- Ratepay - Installments provides an easy and quick way for customers to complete their purchases;
- Flexibility: the customer can choose different finance amounts and different payback periods;
- There is no need to create a Ratepay user account.
Activation - Ratepay Installment
To activate Ratepay as a payment method and to add it to your PayEngine Merchant Center, you need to complete the onboarding journey.
Please provide our support with the following information:
- Profile ID
- Security Code
- ShopID
- Device Ident AppID
If you do not yet have a Rate Pay merchant contract, please contact your sales representative.
Customer Experience - Ratepay Installment
Step | Description | Image |
---|---|---|
1 | Choose Ratenzahlung (Ratepay Installments) | |
2 | Choose Calculation Type from the drop-down menu (Calculation Rate or Calculation Time) | |
2.1.1 | To use Calculation Rate as Calculation Type - Choose Calculation Rate and enter the desired value | |
2.1.2 | Click Calculate. The installment plan will appear. | |
2.2.1 | To use Calculation Time as Calculation Type - Choose Calculation Time and choose the desired payback duration | |
2.2.2 | Click Calculate. The installment plan will load. | |
3 | Choose Payment Type - Direct Debit or Bank Transfer | |
3.1.1 | To use Direct Debit as Payment Type - Choose Direct Debit, and enter Account Holder and IBAN | |
3.1.2 | Click Declaration of SEPA mandate | |
3.1.3 | Click Pay | |
3.2 | To use Bank Transfer as Payment Type - Choose Bank Transfer and click Pay | |
4 | Success or Failure notification |
Note: Calculation Type and Payment Type are customizable. For more information, check Widget Customization.
Payengine Details - Ratepay Installment
General
Supported Features & Services
Name | Details |
---|---|
Debit | Yes |
Preauthorization | Yes |
Cancellation | Yes (full and partial) |
Capture | Yes (full and partial) |
Refunds | Yes (full and partial) |
Notifications | Yes (webhook and email) |
Settlement Reporting | yes, only original Ratepay Settlement Reporting |
Integration Types
Name | Details |
---|---|
Product | Ratepay - Installments |
Payment Options (for Customer) |
|
Channels | ECOM & MOTO |
Currencies | EUR |
Countries | DE, AT |
Technical Flow | Synchronous |
Recurring | No |
Chargebacks | No |
B2B applicable | No |
Name | Details |
---|---|
API | Yes |
Widget | Yes |
Bridge | No |
Shop Plugin | Yes |
Paylink | No |
Integration via API - Ratepay Installment
Technical Flow
Specifications - Ratepay Installment
Prerequisites for Authorizing Transactions
Prerequisite | Mandatory/Optional (M/O) | Create Prerequisite |
---|---|---|
Customer | M | POST/customers |
Persona | M | POST/customers/{{customerId}}/personas |
Billing Address | M | POST/customers/{{customerId}}/addresses |
Shipping Address | M | POST/customers/{{customerId}}/addresses |
Customer
The only type of transaction for Ratepay Installments is business to customer (B2C). There is no business to business (B2B) option for this service.
Create Customer - Request Parameters
Parameter | Mandatory/Optional (M/O) | Description | Example |
---|---|---|---|
M | The email address of the customer | john@doe.com |
Persona
Create Persona - Request Parameters
Parameter | Mandatory/Optional (M/O) | Description | Example |
---|---|---|---|
First Name | M | The person's first name | John |
Last Name | M | The person's last name | Doe |
Birthday | M | The person's birth date. Requirement: the person has to be at least 18 years old | 358293600000 |
Title | O | The person's title | Prof. Dr. |
Phone | O | The person's home phone | 00493012345 |
Mobile | O | The person's mobile phone | 00493012345 |
Fax | O | The person's fax number | 00493012345 |
Gender | O | The person's gender | MALE |
Billing/Shipping Address
The Billing and Shipping Address must be identical. Exceptions for merchants are possible only through additional agreements with Ratepay GmbH.
Create Billing/Shipping Address - Request Parameters
Parameter | Mandatory/Optional (M/O) | Description | Example |
---|---|---|---|
First Name | M | The customer's or recipient's first name | John |
Last Name | M | The customer's or recipient's last name | Doe |
Street | M | The customer's or recipient's street | Musterweg |
House Number | M | TThe customer's or recipient's home number | 4313 |
City | M | The customer's or recipient's city | Musterhausen |
Zip | M | The customer's or recipient's ZIP code | 55555 |
Country | M | The customer's or recipient's country | DE |
Phone | M | The customer's or recipient's home phone number | 00493012345 |
State | O | The customer's or recipient's state/province | Bayern |
Fax | O | The customer's or recipient's fax number | 00493012345 |
Mobile | O | The customer's or recipient's mobile phone number | 00493012345 |
Title | O | The customer's or recipient's title | Prof. Dr. |
Device Identification for Ratepay Payment Methods
In general Device Identification can be defined as a technique used to establish a "fingerprint" of a user's device used to access certain website or application of interest in order to track device activity and determine linkages between other devices.
The main purpose of Device Identification technique is to support prevention of possible fraudulent operations.
Device Identification is a mandatory prerequisite for all Ratepay payment methods. It has to be created prior to execution of any authorizing transactions (Preauth or Debit).
For API integration of Ratepay payment methods it's recommended merchants to follow three steps regarding Device Identification:
1) Creating Device Ident using POST method
A POST request with empty body has to be directed to the following endpoints:
-
for TM environment - - https://pptest.payengine.de/widget/ratepay/device-ident/create/ratepay-invoice - https://pptest.payengine.de/widget/ratepay/device-ident/create/ratepay-directdebit - https://pptest.payengine.de/widget/ratepay/device-ident/create/ratepay-installment
-
for Production environment - - https://pp.payengine.de/widget/ratepay/device-ident/create/ratepay-invoice - https://pp.payengine.de/widget/ratepay/device-ident/create/ratepay-directdebit - https://pp.payengine.de/widget/ratepay/device-ident/create/ratepay-installment
Response of the request will contain the following properties:
- deviceIdentToken
- deviceIdentSId
- sessionToken
Example response to Create Device request can be found below:
Create Device Ident Reponse
{ "deviceIdentToken": "a95314a9d82918657fad2b07436602bb", "deviceIdentSId": "ratepay", "sessionToken": "58c93b94b6f01ab057683125a47390fb"
__2) Loading Payengine Bridge and External Libraries of Ratepay Device Ident __
Based on the parameters received in the response of POST request in step one, the following has to be executed:
Loading Payengine Bridge and External Libraries of Ratepay
<script src="https://pp.payengine.de/bridge/1.0/payengine.min.js" type="text/javascript"> </script> <script type="text/javascript"> window.onload = function() {
3) Sending Device Ident Token to Create Transaction Endpoint
Device Ident Token has to be sent via POST method in the body of Create Authorizing Transaction (Preauth or Debit) request.
It will be placed within Payment object in the field riskIdentId as shown below:
Sending Device Ident Token
{ ... payment: { riskIdentId: "DEVICE_IDENT_TOKEN"
Authentication for Ratepay Payment methods has to be Bearer merchantId.
Input Parameters for Authorizing Transactions
The following input parameters are required for initiating a payment via Payengine Widget:
Parameter | Mandatory/Optional (M/O) | Description | Type | Example |
---|---|---|---|---|
terms | М | The Additional General Terms and Conditions of Ratepay GmbH | number (timestamp) | 1468590412476 |
privacy | М | The Data Protection Notice of Ratepay GmbH | number (timestamp) | 1468590412476 |
basket | М | The default range for the basket value is from EUR 20 to EUR 2,000 but it can vary according to the merchant's contract. | basket data object | see Samples |
channel | M | The channel of origin for the order. Possible values: ECOM, MOTO | string | ECOM |
ipAddress | M | The IP address used to submit the order. | string | 82.120.21.79 |
payment | M | Top level See below table "Payment sub-parameters" for more information. | data object | see Samples |
Parameter | Mandatory/Optional (M/O) | Description | Type | Example |
---|---|---|---|---|
accountHolder | М | The account holder's name | string | John Doe |
bankName | O | The name of the account holder's bank | string | Deutsche Bank |
bic | O | The BIC of the account holder's bank | string | COKSDE33XXX |
iban | M | The account holder's IBAN | string | DE82370502991390006124 |
interest rate | M | The annual interest rate on the loan | number | 13.7 |
last rate | M | The amount of the last installment | number | 2166 |
numberOfRates | M | The number of installments | number | 10 |
rate | M | The amount of a regular installment | number | 2177 |
totalAmount | M | The total amount of the purchase | number | 21759 |
riskIdentId | M/O | The device ident token. Required for ECOM channel only. | string | rpRiskIdentId_1550854753 |
Specific Response Parameters for Authorizing Transactions
Payengine sends the following response parameter, which is used by the merchant to trail customer money transfers:
Parameter | Mandatory/Optional (M/O) | Description | Type | Example |
---|---|---|---|---|
meta.descriptor | M | Payengine generates a descriptor element to each response for RatePAY authorizing transactions. The merchant can use this identifier in customer invoices to track payments. | UUID | 85f13a2c-b579-4e7a-b747-4e5b7c5ab4c6 |
Input Parameters for Update Order Transaction
The update order transaction is used to update a preauth transaction that has not been captured yet.
Preauth transactions can be updated through the PATCH/orders/{orderId}/transactions/{transactionId}
endpoint.
Parameter | Mandatory/Optional (M/O) | Description | Type | Example |
---|---|---|---|---|
nitialAmount | M | Amount as the smallest currency unit. E.g. 10000 = EUR 100 | number | 23000 |
currency | M | The currency code | string | EUR |
basket | M | Basket data object with attributes. | data object | See Samples |
Configuration Request
A merchant can initiate a configuration request at the following endpoint: GET/installment/config
With this request, the merchant can read the stored configuration parameters for his merchant profile: the minimal rate, the minimal and maximal number of monthly installments.
Here is an example of a successful response to a configuration request:
Configuration Response
{ "rateMinNormal": 0, "monthNumberMin": 3, "monthNumberMax": 48
This service is not needed in case Payengine Widget is used as it will perform a configuration request automatically.
Installment calculator
Ratepay - Installments requires the implementation of an installment calculator by merchants.
Merchants can either use Payengine's Widget or develop their own calculator.
Merchants have three options to approach the calculator requirement if they choose to design it on their own:
Option 1 | Calculator based on the desired amount of a monthly installment |
Option 2 | Calculator based on the desired number of monthly installments |
Option 3 | Offer both calculator types |
Option 1 - Calculator based on the desired amount of a monthly installment
The merchant can implement a user interface with a field for the desired amount of a monthly installment. For example:
The customer submits the desired installment amount and the merchant sends the following calculation request to PayEngine Backend:
Endpoint | GET/installment/calculation/rate |
Request parameters |
|
The response will contain a calculated installment plan with the following structure:
Structure of Response to Calculation Request
{ "totalAmount": 0, "amount": 0, "interestAmount": 0,
The installment plan can be displayed to the end-customer as shown below:
Option 2 - Calculator based on the desired number of monthly installments
The merchant can implement a calculator interface, in which the user chooses the desired number of monthly installments. For example:
The interface should include all possible options for the number of monthly installments within the set framework by the merchant.
The customer submits the desired installment amount and the merchant sends the following calculation request to PayEngine Backend:
Endpoint | GET/installment/calculation/rate |
Request parameters |
|
The response will contain a calculated installment plan with the following structure:
Structure of Response to Calculation Request
{ "totalAmount": 0, "amount": 0, "interestAmount": 0,
The installment plan can be displayed to the end-customer as shown below:
Option 3 - Offer both calculator types
The merchant can decide to integrate both calculator types to offer a comprehensive customer experience.
Widget Customization
Merchants can customize certain parameters in the Payengine Widget. The following options are available:
- BIC input field (optional) a. on b. off
- Calculation Types a. Calculation Rate and Calculation Time b. Calculation Rate c. Calculation Time
- Payment Types a. Direct Debit and Bank Transfer b. Direct Debit c. Bank Transfer
Customization takes place via the optionalParameters.paymentDetails.ratepayInstallment data object in the JavaScript widget initialization code:
RatePAY-Installment Widget customization Sample
var optionalParameters = { "paymentDetails": { "ratepayInstallment": { "bic": true,
Note: Information on how to integrate the different Payengine widgets is available here.
Samples
Preauth transaction
POST/orders/preauth
Create Preauth Request
{ "terms": 1468590412476, "privacy": 1468590412476, "product": "ratepay-installment",
Create Preauth Response
{ "createdAt": 1551273366330, "modifiedAt": 1551273366344, "merchantId": "merchant_nrn3xhgwbx",
Capture transaction
POST/orders/{orderId}/transactions/{transactionId}/capture
Create Capture Request
{ "description": "description for operation.", "currency": "EUR", "initialAmount": 21759,
Create Capture Response
{ "createdAt": 1551277844305, "modifiedAt": 1551277845596, "type": "CAPTURE",
Cancel transaction
POST/orders/{orderId}/transactions/{transactionId}/cancel
Create Cancel Request
{ "initialAmount": 21759, "currency": "EUR", "description": "string",
Create Cancel Response
{ "createdAt": 1551279553385, "modifiedAt": 1551279553401, "type": "CANCEL",
Debit transaction
POST/orders/debit
Create Debit Request
{ "terms": 1468590412476, "privacy": 1468590412476, "product": "ratepay-installment",
Create Debit Response
{ "createdAt": 1551278951059, "modifiedAt": 1551278951063, "merchantId": "merchant_nrn3xhgwbx",
Refund transaction
POST/orders/{orderId}/transactions/{transactionId}/refund
Create Refund Request
{ "description": "description for operation.", "currency": "EUR", "initialAmount": 21759,
Create Refund Response
{ "createdAt": 1551283016525, "modifiedAt": 1551283016546, "type": "REFUND",
Testing
Ratepay - Installments can be tested via the Ratepay Sandbox.
The Ratepay Sandbox is a self-contained virtual testing environment that mimics the live Ratepay production environment.
Test data for Ratepay Sandbox can be found below:
Accept:
City: Testhausen Streetname contains: Nicht Versenden DE : the postal code should be 5 digits CH & AT : the postal code should be 4 digits NL : A postal code in the Netherlands consists of four numbers followed by two capital letters (e.g 1011AB) DE IBAN : DE15111111111111111199 NL IBAN : NL18ABNA0484869868 AT IBAN: AT022050302101023600
Decline:
City: Testhausen Surname: Ablehnung DE : the postal code should be 5 digits CH & AT : the postal code should be 4 digits NL : A postal code in the Netherlands consists of four numbers followed by two capital letters (e.g 1011AB)