Ratepay Invoice
Overview - Ratepay Invoice
With Ratepay - Invoice, customers can make online purchases and pay with an open invoice after delivery. Each merchant specifies a payment term, in which the money is collectible.
If no payment is initiated seven days after the expiration of the payment term, Ratepay sends a reminder to the customer. If no payment is initiated in another seven days, Ratepay sends a warning (Mahnung).
The main advantages for merchants using Ratepay - Invoice are:
- Ratepay overtakes the creditor's role and provides a payment guarantee to the merchant;
- The entire user experience takes place on the merchant's website;
- 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 - Invoice are:
- The customer could inspect the goods before payment;
- Ratepay - Invoice is free to use and there are no additional fees;
- There is no need to create a user account with Ratepay to use Invoice.
Activation - Ratepay Invoice
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 Invoice
Step | Description | Image |
---|---|---|
1 | Choose Rechnung (Ratepay - Invoice) | |
2 | Click Pay | |
2 | Success or Failure Notification |
Payengine Details - Ratepay Invoice
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 |
---|---|
API | Yes |
Widget | Yes |
Bridge | No |
Shop Plugin | Yes |
Paylink | Yes |
Name | Details |
---|---|
Product | Ratepay Direct Debit |
Payment Options (for Customer) | Invoice |
Channels | ECOM & MOTO |
Currencies | EUR |
Countries | DE, AT, CH, NL |
Technical Flow | Synchronous |
Recurring | No |
Chargebacks | No |
B2B applicable | Yes - for DE, AT, CH |
Integration via API - Ratepay Invoice
Technical Flow
Specifications - Ratepay Invoice
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 specific request parameters for creating Customer objects are different when the end-user is individual (B2C cases) or organization (B2B cases).
Customer in B2C cases
Create Customer - Request Parameters
Parameter | Mandatory/Optional (M/O) | Description | Example |
---|---|---|---|
M | The email address of the customer | john@doe.com |
Customer in B2B cases
Create Customer - Request Parameters
Parameter | Mandatory/Optional (M/O) | Description | Example |
---|---|---|---|
M | An email address from the customer organization | John.Doe@organization.com | |
Customer Type | M | This parameter has only one possible value - organization | organization |
Company Name | M | The organization's official name | Power Group |
Organization Registration ID | O | The organization's unique registration ID number | DE1234 |
Organization Entity Type | O |
The organization's legal form. Valid values:
| GMBH |
Organization VAT ID | O | The organization's unique VAT ID number | DE123456789 |
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(for B2C) O(for B2B) | 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 |
---|---|---|---|---|
basket | M | 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. | data object | see Samples |
terms | M | The Additional General Terms and Conditions of Ratepay GmbH | number (timestamp) | 1468590412476 |
privacy | M | The Data Protection Notice of Ratepay GmbH | number (timestamp) | 1468590412476 |
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 |
---|---|---|---|---|
iskIdentId | M | The device ident token | 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 |
Request and response samples for update order transaction can be found below.
Samples
Preauth transaction
POST/orders/preauth
Create Preauth Request
{ "terms": 1468590412476, "privacy": 1468590412476, "product": "ratepay-invoice",
Create Preauth Response
{ "createdAt": 1550657256193, "modifiedAt": 1550657256198, "merchantId": "Merchant-11111111-1111-1111-1111-111111111111",
Capture transaction
POST/orders/{orderId}/transactions/{transactionId}/capture
Create Capture Request
{ "description": "description for opeation.", "currency": "EUR", "initialAmount": 20000,
Create Capture Response
{ "createdAt": 1550473868193, "modifiedAt": 1550473869145, "type": "CAPTURE",
Cancel transaction
POST/orders/{orderId}/transactions/{transactionId}/cancel
Create Cancel Request
{ "initialAmount": 20000, "currency": "EUR", "description": "string",
Create Cancel Response
{ "createdAt": 1550473938975, "modifiedAt": 1550473939922, "type": "CANCEL",
Debit transaction
POST/orders/debit
Create Debit Request
{ "terms": 1468590412476, "privacy": 1468590412476, "product": "ratepay-invoice",
Create Debit Response
{ "createdAt": 1550657294081, "modifiedAt": 1550657294105, "merchantId": "Merchant-11111111-1111-1111-1111-111111111111",
Refund transaction
POST/orders/{orderId}/transactions/{transactionId}/refund
Create Refund Request
{ "description": "description for operation.", "initialAmount": 20000, "currency": "EUR",
Create Refund Response
{ "createdAt": 1550474048671, "modifiedAt": 1550474049591, "type": "REFUND",
Testing
Ratepay - Invoice 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)