Plugins-2 icon

Set up payment flows

Implement payments, refunds, and chargebacks.

The connector does not manage the payment flows on your Marketplace. To process transactions such as authorisations, captures, or refunds for your sellers, you must implement payment flows yourself. For more information, see Process payments for marketplaces.

Although the connector does not manage these flows, there are things you must keep in mind when processing transactions while being integrated with Adyen's Mirakl connector.

To keep the connector synchronized, you must perform captures and refunds only from Mirakl. If you perform any operations outside Mirakl, you must manually adjust balances in Mirakl.

Supported payment methods

You can enable your users to accept online payments using all payment methods supported for marketplaces.

Before you can use new payment methods, you need to request them for your merchant account.

Payments

When processing a payment, you can split the funds between any number of balance accounts in your platform, including your liable balance account. You can send the data to split the payment in your payment request or in your capture request. Note that you can only split at capture for payment methods that support separate captures.

The connector populates the custom fields you added to Mirakl when performing the synchronizations you set up. After a shopper places an order, it results in a pending debit. You resolve pending debits by processing the payments.

To process payments:

  1. Use Mirakl's PA11 API to get a list of pending debits.
  2. Make a request to the Mirakl S20 API to get the seller information, including the adyen-v2-account-holder-id and adyen-v2-balance-account-id.
    These values inform you of the account that is linked to a debit request.

    The Mirakl S20 API has a rate limit, therefore, we do not recommend making requests for each transaction. You can keep a local mapping of the Adyen account IDs and Mirakl shop IDs.

  3. Make a /payments or /payments/{paymentPspReference}/captures request:

    • In the body, include the applicationInfo and splits arrays.
      For applicationInfo, specify the following fields:

      Parameter Required Description
      externalPlatform -white_check_mark- Details of the Mirakl Connector v2.
      merchantApplication -white_check_mark- Your own details, refer to Application Information for information on how to fill this field.
      adyenLibrary -x- Only if you are using an Adyen Library, the name and the version of the library you are using.

      For splits, specify the following fields:

      • If a shopper orders from multiple sellers in the same transaction, the splits array needs to indicate the split of funds between all sellers on that transaction.
      Parameter Required Description
      account -white_check_mark- Adyen Balance account ID. Get it from your Balance Platform Customer Area > Accounts & balances > Balance accounts.
      type -white_check_mark- BalanceAccount.
      If you want to use type: PaymentFee in your request, contact Adyen. This type reduces the seller's available balance and increases failure rates for initial payouts that you must then correct with retrials. We recommend to increase the default value from 10 retries to a value that is suitable for your platform.
      amount.value -white_check_mark- The split amount, in minor units.
      reference -white_check_mark- Your unique identifier for the specific transaction split.

Captures

Webhooks

Learn more about webhooks.

When we have processed your capture request, we send you a CAPTURE webhook.

In rare cases, a capture can fail even after you received a successful CAPTURE webhook. You then receive a CAPTURE_FAILED webhook.

We recommend to implement delay of 15 minutes in your order management process before the order status is modified in Mirakl after you receive a CAPTURE webhook. This is to prevent modifying the order status to soon, in case you receive a CAPTURE_FAILED webhook later, because Mirakl does not allow to revert order statuses.

Refunds

In Mirakl, both the marketplace operator and sellers can issue refunds. To learn more about when and how refunds can be issued, refer to Mirakl documentation.

Refunds are calculated as a part of the billing cycle. Seller balances are adjusted to reflect the net balance in the next billing cycle after a refund takes place.

After a refund is initiated in Mirakl, you can process and split the refund amount between the balance accounts in your platform.

When we have processed your refund request, we send you a REFUND webhook.

In rare cases, a refund can fail even after you received a successful REFUND webhook. You then receive a REFUND_FAILED webhook.

We recommend to implement delay of 15 minutes in your order management process before the order status is modified in Mirakl after you receive a REFUND webhook. This is to prevent modifying the order status to soon, in case you receive a REFUND webhook later, because Mirakl does not allow to revert order statuses.

Chargebacks

When a chargeback occurs in your marketplace, you can choose to book the disputed amount:

  • Entirely to your liable balance account
  • According to the original split ratio of the payment

Refer to Chargeback and disputes for more information on how to configure chargebacks.

Next steps