Markus Michalski FAQ

Riverty Payments: Order Management

Managing Riverty payments for Sylius - capture, void and refund on the order page, partial quantities per capture, discounts, automatic capture on shipment

Deutsche Version

Back to overview

Riverty Payments: Order Management

This documentation always describes the latest published version.

You manage Riverty payments with the Riverty buttons Capture, Void and Refund on the order page in the admin. They tell Riverty first and only move the Sylius payment once Riverty has accepted the change.

The Riverty card on the order page

The order page shows a Riverty card in the payments box, one block per Riverty payment:

Riverty card on the order page with status, amounts and the buttons Capture, Void and Refund

Sylius' own buttons are blocked for Riverty. The Complete and Refund buttons of a payment only change the state in Sylius and never reach Riverty, so the order would read "paid" or "refunded" while Riverty knows nothing about it. The plugin blocks these two transitions for Riverty payments that have a Riverty transaction: the buttons disappear and the plugin's own buttons do the work. This needs the default adapter symfony_workflow; with the legacy winzou_state_machine the Sylius buttons stay.

The whole order

The buttons act on everything that is still open:

Button Acts on Result
Capture everything that was neither captured nor voided Riverty captures the amount, the payment is completed
Void everything that was neither captured nor voided Riverty releases the authorization, the order is cancelled
Refund everything that was captured and not refunded yet Riverty refunds, the payment counts as refunded

Void withdraws the sale: after Riverty has released the authorization, the Sylius order is cancelled too, its payment becomes Cancelled and no replacement payment is opened. An order that can no longer be cancelled in Sylius, for example a fulfilled one, keeps its state and only its payment is cancelled.

Parts of an order

Under Choose items on the Riverty card you pick how many of each item to capture, void or refund. Shipping is an item of its own. This lets you capture the goods you shipped today and the rest later, for example.

Choose items table with quantity fields per item and one block per capture for a refund

The payment counts as refunded when everything captured has been refunded and nothing is open. If you refund only part of a partly captured order, the transaction stays Partially captured, so the rest can still be captured or voided.

Discounts

A promotion on an article is split over its units and travels with the units you choose: if you capture one of two discounted mugs, the mug and its share of the discount line go to Riverty. A capture made before items were tracked counts as a capture of everything.

Whether Riverty accepts every partial request in its exact form (item lines, the discount share, one refund per capture) can only be seen against your Riverty contract. Use the sandbox first, and look at the calls in the API log if Riverty refuses one.

Capture on shipment

Riverty pays you only for what was captured, so an order that has shipped should always be captured. The option Capture automatically when the order is shipped in the Options card of a channel's settings does it for you:

Riverty is the source of truth

The plugin keeps its own books of which items it captured, voided and refunded. A change made directly in the Riverty portal, or a call that Riverty answered but that never reached the plugin, is not noticed: the two can drift apart, and the plugin cannot repair that by itself (the reconcile command only settles payments that were never completed). Make all changes to a Riverty order in Sylius, and compare with the Riverty portal when something looks wrong.