v1

latestOpenAPI 3.1.0Copyright Pismo2026-07-247702,7523.1 MB
Payments

Post multi-leg payment

Allow you to submit a payment with multiple legs to the platform. The payments are processed asynchronously and must contain at least two legs, but no more than 20. The payload contains debits and credits lists. These lists include legs that follow the requirements of credit and debit objects in the Post payment endpoint. For information about multi-leg payments, refer to the Multi-leg payments guide. NOTES:

  • To find the correct reason IDs, refer to the List account status reasons endpoint.
  • This endpoint does not support forced transfers from an earmark balance.
  • For error handling, see Error handling mechanism in Payment overview.
  • Processing sequence: Debit legs are always processed before credit legs. Within each group, the sequence is not guaranteed, and the order of execution among debits or among credits is non-deterministic.

Each leg generates the following events:

post/corporate/v3/payments/multileg

Request body

multileg_idstring required

A unique multileg payment identifier provided by the client. If an existing multileg_id already exists in the system, the API returns a 409 error.

This field is:

  • Unique within the Organization.
  • Immutable — It can't be updated.
  • Not recyclable — You can't reuse a multileg_id.
metadataMultilegMetadata

Key-value pairs containing data intended for storage in the Pismo system.<br>

Note: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to Get started with Pismo APIs.

Example request

{
  "multileg_id": "0a50c88a-ade8-4bcc-a639-9a0b0f11e245",
  "debits": [
    {
      "tracking_id": "0a50c88a-ade8-4bcc-a639-9a0b0f11e244",
      "amount": 86753.09,
      "currency": "USD",
      "external_account_id": "289",
      "processing_code": "220035",
      "soft_descriptor": "ACME Inc. - Invoice 2938",
      "validation_rules": {
        "ACCOUNT_STATUS": {
          "override": false
        },
        "LEDGER": {
          "force": false
        },
        "FLEX_CONTROLS": {
          "override": true
        },
        "RATES": {
          "override": true
        }
      },
      "payment_datetime": "2023-03-10T19:05:56.743Z",
      "business_date": "2023-03-09",
      "channel": "GDP",
      "earmark_id": "dadaab22-6e28-4746-8440-0caa030f0f3f"
    }
  ],
  "credits": [
    {
      "tracking_id": "0a50c88a-ade8-4bcc-a639-9a0b0f11e244",
      "amount": 86753.09,
      "currency": "USD",
      "external_account_id": "289",
      "processing_code": "220035",
      "soft_descriptor": "ACME Inc. - Invoice 2938",
      "validation_rules": {
        "ACCOUNT_STATUS": {
          "override": false
        },
        "LEDGER": {
          "force": false
        },
        "FLEX_CONTROLS": {
          "override": true
        },
        "RATES": {
          "override": true
        }
      },
      "payment_datetime": "2023-03-10T19:05:56.743Z",
      "business_date": "2023-03-09",
      "channel": "GDP"
    }
  ]
}

Response

Accepted

multileg_idstring

A unique multileg payment identifier provided by the client. If an existing multileg_id already exists in the system, the API returns a 409 error.

This field is:

  • Unique within the Organization.
  • Immutable — It can't be updated.
  • Not recyclable — You can't reuse a multileg_id.
metadataMultilegMetadata

Key-value pairs containing data intended for storage in the Pismo system.<br>

Note: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to Get started with Pismo APIs.

Example response

{
  "multileg_id": "0a50c88a-ade8-4bcc-a639-9a0b0f11e245",
  "debits": [
    {
      "tracking_id": "0a50c88a-ade8-4bcc-a639-9a0b0f11e244",
      "external_account_id": "289",
      "amount": 86753.09,
      "processing_code": "220035",
      "soft_descriptor": "ACME Inc. - Invoice 2938",
      "currency": "USD",
      "validation_rules": {
        "ACCOUNT_STATUS": {
          "override": false
        },
        "LEDGER": {
          "force": false
        },
        "FLEX_CONTROLS": {
          "override": true
        },
        "RATES": {
          "override": true
        }
      },
      "payment_datetime": "2023-03-10T19:05:56.743Z",
      "business_date": "2023-03-09",
      "channel": "GDP",
      "earmark_id": "dadaab22-6e28-4746-8440-0caa030f0f3f"
    }
  ],
  "credits": [
    {
      "tracking_id": "0a50c88a-ade8-4bcc-a639-9a0b0f11e244",
      "external_account_id": "289",
      "amount": 86753.09,
      "processing_code": "220035",
      "soft_descriptor": "ACME Inc. - Invoice 2938",
      "currency": "USD",
      "validation_rules": {
        "ACCOUNT_STATUS": {
          "override": false
        },
        "LEDGER": {
          "force": false
        },
        "FLEX_CONTROLS": {
          "override": true
        },
        "RATES": {
          "override": true
        }
      },
      "payment_datetime": "2023-03-10T19:05:56.743Z",
      "business_date": "2023-03-09",
      "channel": "GDP"
    }
  ]
}