You can add Riverty to your existing integration. The following instructions show only what you must add to your integration specifically for Riverty.
If an instruction on this page corresponds with a step in the main integration guide, it includes a link to that corresponding step of the main integration guide.
Requirements
Requirement | Description | |
---|---|---|
Integration type | Make sure that you have an existing API-only integration. | |
Redirect handling | Make sure that your existing integration is set up to handle the redirect. action.type : redirect. |
|
Setup steps | Before you begin, add Riverty in your Customer Area. |
Activating Riverty defaults the pricing to our standard pricing. Adyen offers Enterprise pricing for merchants with sufficient volume. Before activating Riverty, contact your account manager to verify if you are eligible.
How it works
The following is the process to make a Riverty payment.
- Collect your shopper's details and specify these in your /payments request.
- When you make the /payments request, include the following information.
- The shopper's details that you collected.
- The details of the items, in the
lineItems
object. - Optional: if you use profile tracking from Riverty to calculate the profile tracking ID, include
deviceFingerprint
.
- Capture the payment after the goods are sent. This triggers the invoice that the merchant sends to the shopper.
Profile tracking
Profile tracking is Riverty's technology for risk evaluation of shoppers. For payments in the following countries, we recommend that you use it to improve acceptance.
- Austria
- Germany
- Switzerland
You must get the
profileTrackingShopId
from Riverty’s implementation support team before implementing profile tracking.
To integrate with profile tracking, you can implement the script from Riverty. It calculates a profile tracking ID for each shopper. The script collects data about the shopper’s device (profile tracking ID) to predict scripted attacks.
- When the shopper goes to the checkout page, run the script. It outputs a profile tracking ID.
- Encrypt the profile tracking ID in a string.
- When you make the /payments request, include the encrypted string in
deviceFingerprint
. We recommend you always include this.
Build your payment form
Include fields to collect the following information from your shopper in the payment form.
Field | Description |
---|---|
First name | The shopper's first name. |
Last name | The shopper's last name. |
Telephone number | The shopper's telephone number. |
Email address | The shopper's email address. |
Date of birth | The shopper's date of birth. |
Billing address | The shopper's billing address. |
Delivery address | The shopper's delivery address. |
IBAN number (optional) | If the shopper chooses to use SEPA Direct Debit, the IBAN number, |
You can download the logo for Riverty to use in your form.
Get Riverty as an available payment method
When you make the /paymentMethods to get available payment methods, specify the following so that Riverty is included in the response.
Parameter | Possible values |
---|---|
countryCode | AT, BE, DE, NL, CH |
amount.currency | EUR, CHF |
The response includes paymentMethod.type
: riverty.
Add additional parameters to your /payments request
When you make a payment, add the following parameters:
Parameter | Required | Description |
---|---|---|
paymentMethod.type |
![]() |
The type of Riverty payment. Possible values: - riverty: Pay in 14. - riverty_account: Monthly Consolidated Invoice. - sepadirectdebit_riverty: Secure Direct Debit. |
paymentMethod.subtype |
![]() |
redirect |
paymentMethod.billingAddress |
![]() |
The address where to send the invoice. |
paymentMethod.deliveryAddress |
![]() |
The address where the purchased goods should be delivered. If the shopper is using Riverty for the first time, the payment can be rejected if deliveryAddress is different from billingAddress , for risk reasons. If deliveryAddress is different from billingAddress , the following fields are required to identify the recipient at the delivery address: deliveryAddress.firstName and deliveryAddress.lastName . |
shopperName.firstName | ![]() |
Shopper's first name. (B2B payments are currently not supported. Providing a business name here may result in a rejection.) |
shopperName.lastName | ![]() |
Shopper's last name. (B2B payments are currently not supported. Providing a business name here may result in a rejection.) |
telephoneNumber | ![]() |
Shopper's telephone number. |
shopperEmail | ![]() |
Shopper's email address. |
lineItems | ![]() |
Price and product information about the purchased items. This is included on the invoice that Riverty sends to the shopper. Required values for each lineItem : quantity , description and id . If you operate in a DACH country, the VAT must not be null to support the VAT reclaim process in cases of uncollectible debt. Riverty reverts the VAT from your settlement (visible as PaymentCost - see journal types) and sends you a monthly overview via email with all affected transactions, VAT amounts and instructions to claim back the VAT amounts. |
paymentMethod.iban |
Required for paymentMethod.type : sepadirectdebit_riverty. |
The IBAN of the shopper. |
paymentMethod.deviceFingerprint |
A string containing the shopper's calculated profile tracking ID. | |
dateOfBirth | Shopper's date of birth, in the following format: YYYY-MM-DD |
|
shopperIP | The shopper's IP address. Riverty uses this for risk checks. |
The response includes action.type
: redirect.
You must redirect the shopper to a page hosted by Riverty for profile tracking or additional risk verifications.
- Handle the redirect to the page hosted by Riverty.
- Send additional payment details to get the payment status.
Capture the payment
After the goods have been sent, you also need to capture the payment. All Riverty payments must be manually captured, even if you have enabled automatic capture for other payment methods. Capturing the payment is what triggers the invoice to be sent to the shopper and starts the payment schedule.
If you do not manually capture the payment within 30 days, the authorization will expire. If you require a longer period before authorizations expire, contact our Support Team. They will inform you when Riverty has updated the expiration period for you.
Partial captures
To partially capture a Riverty payment, specify in your /payments/{paymentPspReference}/captures request:
Parameter | Description |
---|---|
amount |
The amount that the shopper should pay. |
lineItems |
Price and product information for the items that the shopper should pay for. You only need to specify lineItems if you are sending a partial capture, not if you are sending a full capture. The sum of the lineItems must match the amount declared in the capture call, otherwise Adyen will add a dummy lineItems entry to account for the difference. |
Only specify the items that you are capturing. Any unclaimed amount that is left after partially capturing a payment should be manually cancelled.
To set up multiple partial captures, contact our Support Team. Multiple partial captures will create a new invoice for each capture.
The following example shows how to make a partial capture request if the shopper only kept item #1 of the order.
The following response is returned:
Manually cancel any amount that remains after partially capturing a payment.
If a part of the authorized amount has been captured, simply sending an empty /payments/{paymentPspReference}/cancels request releases the remaining balance (without having to specify the lineItems remaining that need to be canceled).
To set up multiple partial captures, contact our Support Team. Multiple partial captures will create a new invoice for each capture.
Refunds and cancellations
If you have not captured a Riverty payment, you can cancel it. If you have captured the payment and you want to return the funds to the shopper, you need to refund it.
As with captures, you don’t need to specify lineItems
in the refund request if you are doing a full refund. To partially refund a Riverty payment, specify in your /payments/{paymentPspReference}/refunds request:
Parameter | Description |
---|---|
amount |
The amount that is refunded to the shopper. |
lineItems |
Price and product information for the items that the shopper should pay for. The sum of the lineItems needs to match the amount declared in the refund call. If they do not match, Adyen will add a dummy lineItem entry to account for the difference. |
capturePspReference |
Specify which capture needs to be refunded when doing partial refunds. If not specified, the last capture will be chosen automatically, whether that was the intended capture to be refunded or not. |
Only specify the items that you are refunding the money for.
The following example shows how to make a partial refund for item #1 of the above order.
The following response is returned:
The pspReference
in the response is the reference of the refund itself.
Test and go live
Riverty provides detailed error codes, recommendations on how to test some of the most common scenarios as well as a comprehensive list of market specific test data.
Go-live requirements
Riverty requires you to display Terms & Conditions as well as data protection guidelines in your checkout for the shopper to approve before making the payment. See Riverty's documentation for details.