Added

Reversal of payin billing fees and amount splits

Rainforest now supports configuring the reversal of the payin billing fees and amount splits when processing refunds for the full amount and ACH returns.

Billing fee reversal

Platforms can enable the reversal of the payin billing fees in three ways:

  1. The merchant's default configuration, which applies to all full refunds and ACH returns.
  2. The payin config, which overrides the merchant's default configuration.
  3. The refund request, which overrides both the payin config and the merchant's default configuration.

When the payin billing fees are reversed, the amount will be credited back to the originating merchant and included in the billing fee of the refund or ACH return. This configuration is not supported for partial refunds or chargebacks.

Payin billing fees reversed on a full refund

In this example, the payin billing fees of $3.30 are recovered from the platform and only the payin amount net the payin billing fees are debited from the merchant.

Merchant configuration

Merchants have two new fields to determine if the payin billing fees should always be returned on full refunds and ACH returns. Platforms can set the configuration on the Create merchant request and update the configuration via the Update merchant​ endpoint:

  • reverse_payin_billing_fees_on_full_refund_enabled - reverse fees on a full refund
  • reverse_payin_billing_fees_on_ach_return_enabled - reverse fees on an ACH return

Payin config

Reversal configuration can also be defined per payin. This allows the platform to dynamically control when the billing fees should be reversed on a per payment configuration. This configuration overrides the merchant's default configuration.

Set the billing_fees_reversal_config object on the Create payin config request:

{
  "amount": 10000,
  "currency_code": "USD",
  "billing_fees_reversal_config": {
    "on_full_refund": true,
    "on_ach_return": false
  }
}

The on_full_refund field determines if the billing fee is credited back to the originating merchant when the payin is refunded for the full amount.

The on_ach_return field determines if the billing fee is credited back to the originating merchant when an ACH return is processed.

Refund request

The reversal can be defined when processing the refund request by setting the payin_billing_fees_reversal_config object. This configuration overrides the configuration defined on the payin config and the merchant's default configuration.

{
  "amount": 10000,
  "currency_code": "USD",
  "payin_billing_fees_reversal_config": {
    "on_full_refund": true
  }
}

This only applies to refunds for the full amount. For partial refunds, the merchant_billing object can be defined to return a specified amount of billing fees to the merchant.


Amount split reversal

Platforms can enable the reversal of the payin amount splits in two ways:

  1. Specify on the Payin Config
  2. Specify on the Refund request

This configuration determines if the amount split from the payin is either debited from the originating merchant (and the amount split receiver retains their allocation of the payin) or debited from the amount split receiver when processing a full refund or ACH return. This configuration is not supported for partial refunds or chargebacks.

Platform amount split reversed on a full refund

In this example, on a refund the $5.00 platform split is recovered from the platform in the next Platform Fees Deposit and credited back to the originating merchant.

Payin config

The configuration can be defined on the Create payin config request by setting the amount_split_reversal_config object for each amount split.

{
  "amount_splits": [
    {
      "type": "PLATFORM",
      "amount": 500,
      "currency_code": "USD",
      "amount_split_reversal_config": {
        "on_full_refund": true,
        "on_ach_return": true
      }
    }
  ]
}

The on_full_refund field determines if the amount split is debited from the amount split receiver on a refund for the full amount. If set to false, then the amount split receiver retains their allocation and the originating merchant absorbs this portion of the refund.

The on_ach_return field determines if the amount split is debited from the amount split receiver when an ACH return is processed. If set to false, then the amount split receiver retains their allocation and the originating merchant absorbs this portion of the ACH return.

Refund request

The reversal configuration can also be defined on the refund request by specifying the amount_splits, which determines how the refund should be debited across the originating merchant, platform, and one or more merchants.

Configuring amount_splits on the refund request overrides the configuration defined on the payin config.


Please contact support if you have any questions.