Added

Internal account configuration

Define payment rules on an internal account to automatically deny payment orders and incoming payments that do not match your eligibility criteria.

What's new

  • Internal accounts of type own now support a configuration object with two independent sections, payment_order and incoming_payment.
  • Each section is either null (no restrictions) or a rule set with a mode (allowlist or denylist) and one rule.
  • Each rule can match on payment_type, direction, and external_accounts. A field set to null matches any value.
  • internal_account_configuration is now a supported value of payment_validation.type. When a payment fails the rule, payment_validation.status is failed and payment_validation.status_details is payment type denied.
  • The dashboard now shows payment rules on the internal account detail page and lets you edit them in the internal account form.

Mambu Payments enforces the rules only when Customer Success configures the internal_account_configuration validation for your organization. The action configured on the validation sets the payment's next status.

What changed

  • POST /internal_accounts now accepts an optional configuration in the request body. Both sections default to null.
  • POST /internal_accounts/<internal_account_id> now accepts an optional configuration in the request body. The configuration you send replaces the whole existing configuration. Mambu Payments clears any section that you omit or set to null.
  • GET /internal_accounts/<internal_account_id> now returns configuration with both sections. A section is null when not set.

No changes are required on your end. Existing internal accounts return null for both sections.

Example

The following request denies all SWIFT payment orders from an internal account.

{
  "configuration": {
    "payment_order": {
      "mode": "denylist",
      "rules": [
        {
          "payment_type": "swift",
          "direction": null,
          "external_accounts": null
        }
      ]
    },
    "incoming_payment": null
  }
}

Read the internal account configuration guide to learn how rules are evaluated.