Markus Michalski FAQ

Riverty Payments: Configuration

Configuring Riverty Payments for Sylius - per-channel settings, API keys per country, creating payment methods, checking the contract, API log and retention, practical examples

Deutsche Version

Back to overview

Riverty Payments: Configuration

This documentation always describes the latest published version.

You find the settings in the admin under MMKreativ Plugins → Riverty Payments. There is one setting per channel, not a global one. The list shows the active countries of each channel, meaning the countries that have an API key.

Settings form of a channel with the Options card

Settings of a channel

The page has two cards: the Options card and the Countries and API keys card.

Options card

Setting Default Description
Channel – The channel the setting applies to. It cannot be changed after creation, because the transactions refer to the channel. There is exactly one setting per channel
Show the instalment example in the checkout off Shows "from X/month" and the representative example under the instalment method, see Storefront
Capture automatically when the order is shipped off Captures the open amounts at Riverty as soon as the last shipment of the order is shipped, see Order management
Warn before an authorization ends (days) 5 Lead time of the warning before the reservation ends, 1 to 25 days, see Reconciliation and expiry
Order history sent to Riverty Nothing Which details about earlier orders of the customer go to Riverty, see the section Order history sent to Riverty below

Capture on shipment is off by default, because a capture moves money. Switch the option on only after you have tested the flow in the sandbox.

Countries and API keys card

There is one row for each supported country: Germany, Austria, Switzerland, the Netherlands, Belgium, Norway, Sweden, Denmark and Finland. A country without a key stays inactive.

Field Description
Sandbox mode Switches the country between test and live. With the sandbox on, the test key is used, otherwise the live key
Test API key Key for the Riverty sandbox
Live API key Key for Riverty production

Countries and currencies

Riverty is offered only for billing countries that have a key in the channel, and only in the currency Riverty accepts there.

Country Currency
Germany (DE), Austria (AT), the Netherlands (NL), Belgium (BE), Finland (FI) EUR
Switzerland (CH) CHF
Norway (NO) NOK
Sweden (SE) SEK
Denmark (DK) DKK

Pay in X is available in the Netherlands only.

Order history sent to Riverty

Riverty scores an order better when it knows the customer has bought from you before, which can raise the share of accepted orders. The option Order history sent to Riverty has three levels:

Level What goes to Riverty
Nothing (default) No information about the history. The IP address is always sent
Customer or not Whether the customer has an earlier successful order
Full history Additionally the date of the first order, the number of orders and the order value of the last twelve months

The order history is personal data. Confirm your legal basis and your data processing agreement before you switch the option on.

A successful order is an order of the same customer in the same channel that is completed and not cancelled and whose payment went through (authorized, paid, or paid and then refunded in part or in full). The current order does not count. Orders that still await their payment, such as an unpaid bank transfer or an abandoned Riverty attempt, do not count either, so a stranger does not look like a returning customer. For a guest, Sylius matches the earlier orders by e-mail address.

Notices in the admin

The checkout silently hides a payment method when a prerequisite is missing. So that you do not have to guess why, the admin shows notices above the list of settings and above the form: what keeps Riverty out of the checkout and what to do next. If the channel has no contact email, the settings page warns you, because the digest mail needs it.

Notice box above the settings list explaining why Riverty is not offered at checkout

Payment methods and contract

At the top of the edit page of a channel there are two buttons.

Create payment methods

Creates the Riverty payment methods for the channel: invoice, direct debit, instalments and, if the Netherlands have a key, Pay in X.

Code Payment method
RIVERTY_INVOICE Invoice
RIVERTY_DIRECT_DEBIT Direct debit
RIVERTY_INSTALLMENT Instalments (fixed instalments)
RIVERTY_PAY_IN_X Pay in X, only with a key for the Netherlands

The button only adds: an existing payment method keeps its name, its enabled flag and its other channels, and only gets the channel if it was missing. Clicking again changes nothing. The result is shown as messages: created, already present, channel added, not applicable or repaired.

Do not create Riverty payment methods by hand. Sylius starts new payment methods on the Payum model, but there is no Payum factory for Riverty. The button switches this correctly and repairs a payment method where it was set wrongly by hand.

A payment method created or edited by hand has exactly one field in its gateway form, the Riverty payment type (Invoice, Direct debit, Fixed instalments, Pay in X).

Check Riverty contract

Asks Riverty what your contract offers per country and shows the answer as messages. The button is purely diagnostic and changes nothing. The answer depends on the amount (especially for instalments), so it is a probe at 100.00 in the currency of each market. If an expected payment method is missing from the answer, it is named.

Messages after clicking Check Riverty contract, showing the payment methods per country

API log

Every call to Riverty is logged. The Riverty API log button on the Riverty Payments page opens the list, newest first. You can narrow it down:

Filter Values
Time Date
Type authorize, capture, void, refund, lookup, payment-methods, validate
Country DE, AT, CH, NL, BE, NO, SE, DK, FI
Outcome succeeded or not
Order reference Text

The list shows time, type, country, order reference, answer and duration, with 25, 50 or 100 entries per page. A click shows request and response in full, and the Riverty card on the order page links to the calls of that order. Use the log when Riverty refuses an order and you want to see exactly what was sent and answered.

List of the Riverty API log with filters and a few entries

Retention

Entries are kept for 30 days. mmd:riverty:reconcile (the cron job) removes older ones. You set the time in a parameter of your application, for example in config/services.yaml:

parameters:
    mmd_sylius_riverty_payments.api_log_retention_days: 14

mmd:riverty:reconcile --api-log-days=7 overrides the value for one run, --dry-run only reports how many entries would go.

Examples

A shop for Germany only, starting in the sandbox

  1. Create the setting for your channel, leave Sandbox mode on for Germany and enter the test key.
  2. Click Create payment methods: invoice, direct debit and instalments are created.
  3. Click Check Riverty contract and verify that all three payment methods are reported for Germany.
  4. Place a test order in the storefront in EUR.
  5. For go-live, enter the live key and switch the sandbox toggle off.

Germany and the Netherlands

Enter keys for Germany and the Netherlands and click Create payment methods: besides the three payment methods, Pay in X is created. Pay in X appears only for a billing address in the Netherlands.

Automatic capture on shipment

Switch on Capture automatically when the order is shipped and enter a contact email in the channel settings. When you ship the last shipment of an order, the plugin captures everything that is still open at Riverty. If that fails, the shipment stays in place and the reason is shown on the Riverty card of the order.