> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mangopay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a Payout

<Note>
  **Note – `PayoutModeRequested` property only relevant for EUR**

  The `PayoutModeRequested` property is only relevant for EUR payouts, where the value determines which of the SEPA schemes (SCT, SCT Inst, or T2) is used.

  For other currencies, Mangopay automatically uses the relevant local scheme (e.g. FPS for GBP) if the Recipient's destination country corresponds, or otherwise uses SWIFT. [Read more](/guides/payouts#how-mangopay-routes-funds) **→**
</Note>

If your platform offers User-Owned Accounts (Virtual Account or Banking Alias) to your end users, Verification of Payee (VOP) may impact their payouts. There is no impact for platforms not offering User-Owned Accounts. [Read more](/guides/vop) **→**

### Body parameters

<ParamField body="Tag" type="string">
  Max. length: 255 characters

  Custom data that you can add to this object.
</ParamField>

<ParamField body="AuthorId" type="string" required>
  The unique identifier of the user at the source of the transaction.\
  Best practice: When the payout author is different from the bank account owner, the Payout `AuthorId` value must be different from the Bank Account `UserId` value as well. Otherwise, Mangopay’s Compliance team will reject the payout.
</ParamField>

<ParamField body="DebitedFunds" type="object" required>
  Information about the debited funds.

  <Expandable title="properties">
    <ParamField body="Currency" type="string" required>
      **Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings).

      The currency of the debited funds.
    </ParamField>

    <ParamField body="Amount" type="integer" required>
      An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="Fees" type="object" required>
  Information about the fees taken by the platform for this transaction (and hence transferred to the Fees Wallet).

  <Expandable title="properties">
    <ParamField body="Currency" type="string" required>
      **Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings).

      The currency of the debited funds.
    </ParamField>

    <ParamField body="Amount" type="integer" required>
      An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="DebitedWalletId" type="string" required>
  The unique identifier of the debited wallet.
</ParamField>

<ParamField body="RecipientId" type="string">
  The unique identifier of the [Recipient](/api-reference/recipients/recipient-object) object to which the payout is being requested. This property should be used by platforms integrating for the first time (and not the `BankAccountId`).
</ParamField>

<ParamField body="BankAccountId" type="string">
  The unique identifier of the Bank Account. This property should **not** be used by platforms integrating for the first time – send the `RecipientId` instead.
</ParamField>

<ParamField body="BankWireRef" type="string">
  Max. length: 255 characters (\< 12 recommended)

  Custom description to appear on the user’s bank statement along with the platform name. The recommended length is 12 characters – strings longer than this may be truncated depending on the bank.

  For the full structure of the string, see the <a href="/bank-statements">Customizing bank statement references</a> article.
</ParamField>

<ParamField body="PayoutModeRequested" type="string">
  **Possible values:** `STANDARD`, `INSTANT_PAYMENT`, `INSTANT_PAYMENT_ONLY`, `RTGS_PAYMENT`

  **Default value:** `STANDARD`

  The mode defining how the payout request is sent:

  * `STANDARD` – **Non-EUR:** Sent via the relevant local rail if the Recipient's destination country corresponds, or otherwise sent via SWIFT. Mangopay automatically routes funds via the [available rails](/guides/payouts#all-rails-by-currency), which also determines [delivery times](/guides/payouts#delivery-times). Requests received after the applicable cutoff are processed the next working day. **EUR:** Sent via the SEPA Credit Transfer scheme or SWIFT (if non-domestic).
  * `INSTANT_PAYMENT` – **EUR only:** Sent via the SEPA Instant Credit Transfer scheme (funds processed within 10 seconds) with a fallback to `STANDARD` mode if any of the prerequisites are not met or if another issue occurs. If the payout is above the threshold agreed with Mangopay, the payout fails and there is no fallback.
  * `INSTANT_PAYMENT_ONLY` – **EUR only:** sent via the SEPA Instant Credit Transfer scheme (funds processed within 10 seconds) without a fallback. If an issue occurs, the wallet automatically refunded.
  * `RTGS_PAYMENT` – **EUR only:** sent via the Eurozone’s [real-time gross settlement (RGTS)](/guides/payouts#real-time-gross-settlement-rtgs) scheme T2 (funds processed same working day) without a fallback. If the request is received after the applicable cutoff (16:15 CET), it is processed the next working day (from 07:00 CET).
</ParamField>

<ParamField body="PaymentRef" type="object">
  Information about the payment reference provided for the payout.

  This object must be used to provide the reference of a [bank wire pay-in](/api-reference/bank-wire-payins/bank-wire-payin-object) or a [pay-in to virtual IBAN](/api-reference/virtual-accounts/external-instruction-bank-wire-payin-object), if the payout is being used to refund it.

  <Expandable title="properties">
    <ParamField body="ReasonType" type="string">
      **Allowed values:** `PAYIN_REFUND`

      The reason for the reference being provided:

      * `PAYIN_REFUND` – The payout serves to reimburse a pay-in.
    </ParamField>

    <ParamField body="ReferenceId" type="string">
      **Allowed values:** The valid `Id` of a successful pay-in.

      The unique identifier associated with the reference, whose value corresponds to the `ReasonType`:

      * `PAYIN_REFUND` – The `ReferenceId` value provided is the same as the `Id` of the initial pay-in being refunded.
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="ChargeBearer" type="string | null">
  Possible values: `SHA`, `OUR`

  Default value: `SHA`

  The allocation of [processing fees](/guides/payouts#fees-for-international-payouts) for an international SWIFT payout:

  * `SHA` - Fees are shared between the remitter and beneficiary. The beneficiary's share is deducted from the payout, meaning that the amount arriving on the recipient's bank account may be less than the Payout's `CreditedFunds.Amount`.
  * `OUR` - All fees are paid by the remitter. The recipient receives the full `CreditedFunds.Amount` of the Payout, and Mangopay recovers the fees from the platform during the billing cycle. A 400 HTTP error is returned if Mangopay's network of partners does not support `OUR` fees for the given currency and recipient country, or if this feature is not activated.

  For non-SWIFT requests, the `ChargeBearer` is ignored and `SHA` or `null` is displayed by default in the response.
</ParamField>

### Responses

<AccordionGroup>
  <Accordion title="200">
    <ResponseField name="Id" type="string">
      Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details)

      The unique identifier of the object.
    </ResponseField>

    <ResponseField name="Tag" type="string">
      Max. length: 255 characters

      Custom data that you can add to this object.
    </ResponseField>

    <ResponseField name="CreationDate" type="Unix timestamp">
      The date and time at which the object was created.
    </ResponseField>

    <ResponseField name="AuthorId" type="string">
      The unique identifier of the user at the source of the transaction.\
      Best practice: When the payout author is different from the bank account owner, the Payout `AuthorId` value must be different from the Bank Account `UserId` value as well. Otherwise, Mangopay’s Compliance team will reject the payout.
    </ResponseField>

    <ResponseField name="CreditedUserId" type="string">
      The unique identifier of the user whose wallet is credited.\
      In the specific case of the Payout object, this value is always `null` since there is no credited wallet.
    </ResponseField>

    <ResponseField name="DebitedFunds" type="object">
      Information about the debited funds.

      <Expandable title="properties">
        <ResponseField name="Currency" type="string">
          **Returned values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings).

          The currency of the debited funds.
        </ResponseField>

        <ResponseField name="Amount" type="integer">
          An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="CreditedFunds" type="object">
      Information about the funds being credited to the target of the transaction (`CreditedFunds` = `DebitedFunds` - `Fees`).

      <Expandable title="properties">
        <ResponseField name="Currency" type="string">
          **Returned values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings).

          The currency of the debited funds.
        </ResponseField>

        <ResponseField name="Amount" type="integer">
          An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Fees" type="object">
      Information about the fees taken by the platform for this transaction (and hence transferred to the Fees Wallet).

      <Expandable title="properties">
        <ResponseField name="Currency" type="string">
          **Returned values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings).

          The currency of the debited funds.
        </ResponseField>

        <ResponseField name="Amount" type="integer">
          An amount of money in the smallest sub-division of the currency (e.g., EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`).
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="Status" type="string">
      **Returned values:** `CREATED`, `SUCCEEDED`, `FAILED`

      The status of the transaction.
    </ResponseField>

    <ResponseField name="ResultCode" type="string">
      The code indicating the result of the operation. This information is mostly used to <a href="/errors/codes">handle errors</a> or for filtering purposes.
    </ResponseField>

    <ResponseField name="ResultMessage" type="string">
      The explanation of the result code.
    </ResponseField>

    <ResponseField name="ExecutionDate" type="Unix timestamp">
      The date and time at which the status changed to `SUCCEEDED`, indicating that the transaction occurred. The statuses `CREATED` and `FAILED` return an `ExecutionDate` of `null`.
    </ResponseField>

    <ResponseField name="Type" type="string">
      **Returned values:** `PAYIN`, `TRANSFER`, `CONVERSION`, `PAYOUT`

      The type of the transaction.
    </ResponseField>

    <ResponseField name="Nature" type="string">
      **Returned values:** `REGULAR`, `REPUDIATION`, `REFUND`, `SETTLEMENT`

      The nature of the transaction, providing more information about the context in which the transaction occurred:

      * `REGULAR` – Relative to most of the transactions (pay-ins, payouts, and transfers) in a usual workflow.
      * `REPUDIATION` – Automatic withdrawal of funds from the platform’s repudiation wallet as part of the dispute process (when the user has requested a chargeback).
      * `REFUND` – Reimbursement of a transaction to the user (pay-in refund), to a wallet (transfer refund), or of a payout (payout refund, only initiated by Mangopay).
      * `SETTLEMENT` – Transfer made to the repudiation wallet by the platform to settle a lost dispute.
    </ResponseField>

    <ResponseField name="CreditedWalletId" type="string">
      The unique identifier of the credited wallet.\
      In the specific case of the Payout object, this value is always `null` since there is no credited wallet.
    </ResponseField>

    <ResponseField name="DebitedWalletId" type="string">
      The unique identifier of the debited wallet.
    </ResponseField>

    <ResponseField name="PaymentType" type="string">
      **Returned values:** `CARD`, `DIRECT_DEBIT`, `PREAUTHORIZED`, `BANK_WIRE`

      The type of pay-in.
    </ResponseField>

    <ResponseField name="BankAccountId" type="string">
      The unique identifier of the bank account.
    </ResponseField>

    <ResponseField name="BankWireRef" type="string">
      Max. length: 255 characters (\< 12 recommended)

      Custom description to appear on the user’s bank statement along with the platform name. The recommended length is 12 characters – strings longer than this may be truncated depending on the bank.

      For the full structure of the string, see the <a href="/bank-statements">Customizing bank statement references</a> article.
    </ResponseField>

    <ResponseField name="ModeRequested" type="string">
      **Returned values:** `STANDARD`, `INSTANT_PAYMENT`, `INSTANT_PAYMENT_ONLY`, `RTGS_PAYMENT`

      The value set for the `PayoutModeRequested` parameter when making the request.
    </ResponseField>

    <ResponseField name="ModeApplied" type="string">
      **Returned values:** `STANDARD`, `INSTANT_PAYMENT`, `RTGS_PAYMENT`, `PENDING_RESPONSE`

      The mode defining how the payout request is sent:

      * `STANDARD` – **Non-EUR:** Sent via the relevant local rail if the Recipient's destination country corresponds, or otherwise sent via SWIFT. Mangopay automatically routes funds via the [available rails](/guides/payouts#all-rails-by-currency), which also determines [delivery times](/guides/payouts#delivery-times). Requests received after the applicable cutoff are processed the next working day. **EUR:** Sent via the SEPA Credit Transfer scheme or SWIFT (if non-domestic).
      * `INSTANT_PAYMENT` – **EUR only:** Sent via the SEPA Instant Credit Transfer scheme (funds processed within 10 seconds).
      * `RTGS_PAYMENT` – **EUR only:** Sent via the Eurozone’s [real-time gross settlement (RGTS)](/guides/payouts#real-time-gross-settlement-rtgs) scheme T2 (funds processed same working day) without a fallback. If the request is received after the applicable cutoff (16:15 CET), it is processed the next working day (from 07:00 CET).
      * `PENDING_RESPONSE` – Temporary state to accommodate the possible latency between the creation of the request and the mode being applied in the case of instant payment and RGTS modes.
    </ResponseField>

    <ResponseField name="FallbackReason" type="object">
      Information regarding the reason for the refusal of the instant payout request.

      <Expandable title="properties">
        <ResponseField name="ResultCode" type="string">
          The code indicating the result of the operation. This information is mostly used to <a href="/errors/codes">handle errors</a> or for filtering purposes.
        </ResponseField>

        <ResponseField name="ResultMessage" type="string">
          The explanation of the result code.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="EndToEndId" type="string">
      The unique identifier of a bank wire for tracking purposes only.
    </ResponseField>

    <ResponseField name="PaymentRef" type="object">
      Information about the payment reference provided for the payout. This object is returned `null` if not provided.

      This object must be used to provide the reference of a [bank wire pay-in](/api-reference/bank-wire-payins/bank-wire-payin-object) or a [pay-in to virtual IBAN](/api-reference/virtual-accounts/external-instruction-bank-wire-payin-object), if the payout is being used to refund it.

      <Expandable title="properties">
        <ResponseField name="ReasonType" type="string">
          **Allowed values:** `PAYIN_REFUND`

          The reason for the reference being provided:

          * `PAYIN_REFUND` – The payout serves to reimburse a pay-in.
        </ResponseField>

        <ResponseField name="ReferenceId" type="string">
          **Allowed values:** The valid `Id` of a successful pay-in

          The unique identifier associated with the reference, whose value corresponds to the `ReasonType`:

          * `PAYIN_REFUND` – The `ReferenceId` value provided is the same as the `Id` of the initial pay-in being refunded.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <RecipientVerificationOfPayee_Payout />

    <ResponseField name="RecipientId" type="string">
      The unique identifier of the [Recipient](/api-reference/recipients/recipient-object) object to which the payout is being requested. This property should be used by platforms integrating for the first time (and not the `BankAccountId`).
    </ResponseField>

    <ResponseField name="ChargeBearer" type="string | null">
      Possible values: `SHA`, `OUR`

      Default value: `SHA`

      The allocation of [processing fees](/guides/payouts#fees-for-international-payouts) for an international SWIFT payout:

      * `SHA` - SWIFT fees are shared between the remitter and beneficiary. The beneficiary's share is deducted from the payout, meaning that the amount arriving on the recipient's bank account may be less than the Payout's `CreditedFunds.Amount`.
      * `OUR` - All SWIFT fees are paid by the remitter. The recipient receives the full `CreditedFunds.Amount` of the Payout, and Mangopay recovers the fees from the platform during the billing cycle. A 400 HTTP error is returned if Mangopay's network of partners does not support `OUR` fees for the given currency and recipient country, or if this feature is not activated.

      For non-SWIFT requests, the `ChargeBearer` is ignored and `SHA` or `null` is displayed by default in the response.
    </ResponseField>
  </Accordion>
</AccordionGroup>

<AccordionGroup>
  <Accordion title="400 - LocalBankTransfer recipient not compatible with currency">
    The error below occurs when an attempt was made to send a non-local currency to a newly created **local** Recipient (with the `PayoutMethodType` of `LocalBankTransfer`), but the Recipient's `Country` doesn't correspond to the currency sent (e.g. a USD payout sent to local SEPA Recipient).

    To receive non-local currencies, create a new Recipient with `PayoutMethodType` of `InternationalBankTransfer` and retry the payout. Mangopay automatically optimizes the payout route, so if a local currency is sent to an international Recipient, the domestic rail is used.

    Read more about [how Mangopay routes funds](/guides/payouts#how-mangopay-routes-funds) **→**

    ```json theme={null}
    {
        "Id": "f601ee1c-2d77-48f5-a64e-11068f85ae84",
        "Message": "Currency PLN not supported for given local DE recipient rec_01KN1HP4HVT54097B3DRWB0HM8. Create or use international recipient.",
        "Type": "invalid_action",
        "Date": 1774941060.0,
        "errors": null
    }
    ```
  </Accordion>

  <Accordion title="400 - Payout not allowed to PAYIN-scope Recipient">
    ```json theme={null}
    {
        "Id": "44312c27-c681-4240-8df9-a2507bcf30d6",
        "Message": "Payout not allowed for RecipientScope PAYIN",
        "Type": "invalid_action",
        "Date": 1747666655.0,
        "errors": null
    }
    ```
  </Accordion>

  <Accordion title="400 - One of RecipientId or BankAccountId required">
    Platforms integrating for the first time should send the `RecipientId`.

    ```json theme={null}
    {
        "Id": "c0a55d23-84d7-4fd4-ad44-6729e76b3a08",
        "Message": "One or several required parameters are missing or incorrect. An incorrect resource ID also raises this kind of error.",
        "Type": "param_error",
        "Date": 1769519160.0,
        "errors": {
            "BankAccountId_RecipientId": "Only one of 'BankAccountId' or 'RecipientId' can be provided."
        }
    }
    ```

    ```json theme={null}
    {
        "Id": "8c21222f-9741-40ae-94cf-7d5b3e0b6d40",
        "Message": "One or several required parameters are missing or incorrect. An incorrect resource ID also raises this kind of error.",
        "Type": "param_error",
        "Date": 1769519089.0,
        "errors": {
            "BankAccountId_RecipientId": "Either BankAccountId or RecipientId must be provided."
        }
    }
    ```
  </Accordion>

  <Accordion title="400 - INSTANT_PAYMENT used for non-EUR">
    ```json theme={null}
    {
        "Message": "One or several required parameters are missing or incorrect. An incorrect resource ID also raises this kind of error.",
        "Type": "param_error",
        "Id": "e1606a91-e563-45f3-a337-acdd933ab80b#1673533663",
        "Date": 1673533664.0,
        "errors": {
            "PayoutModeRequested": "InstantPayment is disabled"
        }
    }  
    ```
  </Accordion>

  <Accordion title="400 - INSTANT_PAYMENT is deactivated">
    ```json theme={null}
    {
        "Message": "One or several required parameters are missing or incorrect. An incorrect resource ID also raises this kind of error.",
        "Type": "param_error",
        "Id": "b5a1b347-9b21-4077-bd41-d41ea4b07be4#1676883139",
        "Date": 1676883140.0,
        "errors": {
            "PayoutModeRequested": "InstantPayment was explicitly requested but this feature is not activated on your configuration"
        }
    }  
    ```
  </Accordion>

  <Accordion title="400 - Bank not reachable for SCT Inst (including non-EUR if INSTANT_PAYMENT requested)">
    ```json theme={null}
    {
        "Id": "6587fb28-4df8-40bc-80b4-782632bd4f16",
        "Message": "One or several required parameters are missing or incorrect. An incorrect resource ID also raises this kind of error.",
        "Type": "param_error",
        "Date": 1779269064.0,
        "errors": {
            "PayoutModeRequested": "The request for instant payment cannot be successful due to ineligibility"
        }
    }
    ```
  </Accordion>

  <Accordion title="400 - SWIFT OUR charge bearing not supported for currency and recipient country">
    ```json theme={null}
    {
        "Id": "098c7654-3210-4892-b062-876543210abc",
        "Message": "One or several required parameters are missing or incorrect. An incorrect resource ID also raises this kind of error.",
        "Type": "payout_error",
        "Date": 1737041130,
        "errors": {
            "Chargebearer": "Chargebearer = OUR is not supported"
        }
    }
    ```
  </Accordion>

  <Accordion title="400 - SWIFT OUR charge bearing not activated for your platform">
    ```json theme={null}
    {
        "Id": "f8b52b3a-ce2b-4755-a5bd-c07122fc5b17",
        "Message": "One or several required parameters are missing or incorrect. An incorrect resource ID also raises this kind of error.",
        "Type": "param_error",
        "Date": 1771262195.0,
        "errors": {
            "ChargeBearer": "ChargeBearer type not enabled"
        }
    }
    ```
  </Accordion>
</AccordionGroup>

<ResponseExample>
  ```json Standard theme={null}
  {
      "Id": "po_m_01HQMZSGSQPPXC51TZHDAYFAJF",
      "Tag": "Created using Mangopay API Postman Collection",
      "CreationDate": 1709027672,
      "AuthorId": "204069570",
      "CreditedUserId": null,
      "DebitedFunds": {
          "Currency": "EUR",
          "Amount": 5792
      },
      "CreditedFunds": {
          "Currency": "EUR",
          "Amount": 5213
      },
      "Fees": {
          "Currency": "EUR",
          "Amount": 579
      },
      "Status": "CREATED",
      "ResultCode": null,
      "ResultMessage": null,
      "ExecutionDate": null,
      "Type": "PAYOUT",
      "Nature": "REGULAR",
      "CreditedWalletId": null,
      "DebitedWalletId": "204069727",
      "PaymentType": "BANK_WIRE",
      "BankAccountId": null,
      "BankWireRef": "Example123",
      "ModeRequested": null,
      "ModeApplied": "PENDING_RESPONSE",
      "FallbackReason": null,
      "EndToEndId": "2c2184396eef4e5da90ab48a2feeb51d",
      "PaymentRef": null,
      "RecipientVerificationOfPayee": null,
      "RecipientId": "rec_01KF0MPAA8X9C80Q394TSF7MEY",
      "ChargeBearer": "OUR"
  }  
  ```

  ```json SCT Inst (no fallback) theme={null}
  {
      "Id": "po_m_01HQMZZV376RRXYQGQAHZ4TN9K",
      "Tag": "Created using Mangopay API Postman Collection",
      "CreationDate": 1709027880,
      "AuthorId": "204069570",
      "CreditedUserId": null,
      "DebitedFunds": {
          "Currency": "EUR",
          "Amount": 3387
      },
      "CreditedFunds": { 
          "Currency": "EUR",
          "Amount": 3048
      },
      "Fees": {
          "Currency": "EUR",
          "Amount": 339
      },
      "Status": "CREATED",
      "ResultCode": null,
      "ResultMessage": null,
      "ExecutionDate": null,
      "Type": "PAYOUT",
      "Nature": "REGULAR",
      "CreditedWalletId": null,
      "DebitedWalletId": "204069727",
      "PaymentType": "BANK_WIRE",
      "BankAccountId": null,
      "BankWireRef": "Example123",
      "ModeRequested": "INSTANT_PAYMENT_ONLY",
      "ModeApplied": "PENDING_RESPONSE",
      "FallbackReason": null,
      "EndToEndId": "e8052ae4729f4abe9355442020f411a9",
      "PaymentRef": null,
      "RecipientVerificationOfPayee": null,
      "RecipientId": "rec_01KF0MPAA8X9C80Q394TSF7MEY"
  }  
  ```

  ```json RTGS theme={null}
  {
      "Id": "po_m_01JMCS9ED9YTYZBJ3CH0GEMEDS",
      "Tag": "Created using Mangopay API Postman Collection",
      "CreationDate": 1739890932,
      "AuthorId": "user_m_01JKWYDT94N91CW572D7QNNYRP",
      "CreditedUserId": null,
      "DebitedFunds": {
          "Currency": "EUR",
          "Amount": 1135
      },
      "CreditedFunds": {
          "Currency": "EUR",
          "Amount": 1022
      },
      "Fees": {
          "Currency": "EUR",
          "Amount": 113
      },
      "Status": "CREATED",
      "ResultCode": null,
      "ResultMessage": null,
      "ExecutionDate": null,
      "Type": "PAYOUT",
      "Nature": "REGULAR",
      "CreditedWalletId": null,
      "DebitedWalletId": "wlt_m_01JMAAKGM0VCBCQ5V4DB3EZPER",
      "PaymentType": "BANK_WIRE",
      "BankAccountId": null,
      "BankWireRef": "Example123",
      "ModeRequested": "RTGS_PAYMENT",
      "ModeApplied": "PENDING_RESPONSE",
      "FallbackReason": null,
      "EndToEndId": "a66784a74c7b4357bbe4f10abccbe411",
      "PaymentRef": null,
      "RecipientVerificationOfPayee": null,
      "RecipientId": "rec_01KF0MPAA8X9C80Q394TSF7MEY"
  }
  ```

  ```json PAYIN_REFUND theme={null}
  {
      "Id": "po_b_01JCR32EMBXRWNWRN5KVW2DXE1",
      "Tag": "Created using Mangopay API Postman Collection",
      "CreationDate": 1731680352,
      "AuthorId": "user_m_01JCQYJNHFPENP1SKTCBYER0F8",
      "CreditedUserId": null,
      "DebitedFunds": {
          "Currency": "EUR",
          "Amount": 24581
      },
      "CreditedFunds": {
          "Currency": "EUR",
          "Amount": 24581
      },
      "Fees": {
          "Currency": "EUR",
          "Amount": 0
      },
      "Status": "CREATED",
      "ResultCode": null,
      "ResultMessage": null,
      "ExecutionDate": null,
      "Type": "PAYOUT",
      "Nature": "REGULAR",
      "CreditedWalletId": null,
      "DebitedWalletId": "wlt_m_01J9KR4A7BH8KVE4PG6DTNS817",
      "PaymentType": "BANK_WIRE",
      "BankAccountId": null,
      "BankWireRef": "Example123",
      "ModeRequested": null,
      "ModeApplied": "STANDARD",
      "FallbackReason": null,
      "EndToEndId": "2da75c747abf4fbd83d6fd746d63fad4",
      "PaymentRef": {
          "ReasonType": "PAYIN_REFUND",
          "ReferenceId": "payin_m_01JCR21X56KVHF7F5TVGYNT9G7"
      },
      "RecipientVerificationOfPayee": null,
      "RecipientId": "rec_01KF0MPAA8X9C80Q394TSF7MEY"
  }
  ```
</ResponseExample>

<RequestExample>
  ```json Standard theme={null}
  {
      "Tag": "Created using Mangopay API Postman Collection",
      "AuthorId": "user_m_01KF3087EDXEAK8VPD9DTMZW8N",
      "DebitedFunds": {
          "Currency": "EUR",
          "Amount": 5792
      },
      "Fees": {
          "Currency": "EUR",
          "Amount": 579
      },
      "DebitedWalletId": "wlt_m_01KF30AN0HCMPPCGEEGY4DCBGZ",
      "RecipientId": "rec_01KF0MPAA8X9C80Q394TSF7MEY",
      "BankWireRef": "Example123"
  }
  ```

  ```json SCT Inst (no fallback) theme={null}
  {
      "Tag": "Created using Mangopay API Postman Collection",
      "AuthorId": "204069570",
      "DebitedFunds": {
          "Currency": "EUR",
          "Amount": 3387
      },
      "Fees": {
          "Currency": "EUR",
          "Amount": 339
      },
      "DebitedWalletId": "204069727",
      "BankAccountId": "204070675",
      "BankWireRef": "Example123",
      "PayoutModeRequested": "INSTANT_PAYMENT_ONLY"
  }
  ```

  ```json RTGS theme={null}
  {
      "Tag": "Created using Mangopay API Postman Collection",
      "AuthorId": "user_m_01JKWYDT94N91CW572D7QNNYRP",
      "DebitedFunds": {
          "Currency": "EUR",
          "Amount": 1135
      },
      "Fees": {
          "Currency": "EUR",
          "Amount": 113
      },
      "DebitedWalletId": "wlt_m_01JMAAKGM0VCBCQ5V4DB3EZPER",
      "BankAccountId": "bankacc_m_01JMCS94W97ZM6XF5HR0KEVSGV",
      "BankWireRef": "Example123",
      "PayoutModeRequested": "RTGS_PAYMENT"
  }
  ```

  ```json PAYIN_REFUND {15-17} theme={null}
  {
      "AuthorId": "user_m_01JCQYJNHFPENP1SKTCBYER0F8",
      "Tag": "Created using Mangopay API Postman Collection",
      "DebitedFunds": {
          "Currency": "EUR",
          "Amount": 24581
      },
      "Fees": {
          "Currency": "EUR",
          "Amount": 0
      },
      "DebitedWalletId": "wlt_m_01J9KR4A7BH8KVE4PG6DTNS817",
      "BankAccountId": "bankacc_m_01JCN1X2EHWG0JNJNPNQ21CW5G",
      "BankWireRef": "Example123",
      "PaymentRef": {
          "ReasonType": "PAYIN_REFUND",
          "ReferenceId": "payin_m_01JCR21X56KVHF7F5TVGYNT9G7"
      }
  }
  ```

  ```php PHP theme={null}
  <?php 

  require_once 'vendor/autoload.php';

  use MangoPay\MangoPayApi;
  use MangoPay\Libraries\ResponseException as MGPResponseException;
  use MangoPay\Libraries\Exception as MGPException;

  $api = new MangoPayApi();

  $api->Config->ClientId = 'your-client-id';
  $api->Config->ClientPassword = 'your-api-key';
  $api->Config->TemporaryFolder = 'tmp/';

  try {
      $payout = new \MangoPay\PayOut();

      $payout->Tag = 'Created with Mangopay PHP SDK';
      $payout->AuthorId = '146476890';
      $payout->DebitedFunds = new \MangoPay\Money();
      $payout->DebitedFunds->Currency = 'EUR';
      $payout->DebitedFunds->Amount = 1000;
      $payout->Fees = new \MangoPay\Money();
      $payout->Fees->Currency = 'EUR';
      $payout->Fees->Amount = 0;
      $payout->DebitedWalletId = '148968396';

      $payout->PayoutPaymentDetails = new \MangoPay\PayOutPaymentDetailsBankWire();
      $payout->MeanOfPaymentDetails->BankAccountId = '198982485';
      $payout->MeanOfPaymentDetails->BankWireRef = 'MangopayPHP';

      $payout->MeanOfPaymentDetails = $payout->PayoutPaymentDetails;
      
      $payout->PaymentType = \MangoPay\PayOutPaymentType::BankWire;
      $payout->PayoutModeRequested = 'STANDARD';

      $response = $api->PayOuts->Create($payout);

      print_r($response);
  } catch(MGPResponseException $e) {
      print_r($e);
  } catch(MGPException $e) {
      print_r($e);
  }  
  ```

  ```javascript NodeJS   theme={null}
  const mangopayInstance = require('mangopay4-nodejs-sdk')
  const mangopay = new mangopayInstance({
    clientId: 'your-client-id',
    clientApiKey: 'your-api-key',
  })

  let myUser = {
    Id: '146476890',
    WalletId: '148968396',
  }

  let myBankAccount = {
    Id: '154876798',
  }

  let myPayout = {
    DebitedWalletId: myUser.WalletId,
    PaymentType: 'BANK_WIRE',
    BankAccountId: myBankAccount.Id,
    BankWireRef: 'Mangopay Ref',
    PayoutModeRequested: 'STANDARD',
    AuthorId: myUser.Id,
    DebitedFunds: {
      Currency: 'EUR',
      Amount: 12,
    },
    Fees: {
      Currency: 'EUR',
      Amount: 0,
    },
    Tag: 'Created using Mangopay NodeJS SDK',
  }

  const createPayout = async (payout) => {
    return await mangopay.PayOuts.create(payout)
      .then((response) => {
        console.info(response)
        return response
      })
      .catch((err) => {
        console.log(err)
        return false
      })
  }

  createPayout(myPayout)  
  ```

  ```ruby Ruby   theme={null}
  require 'mangopay'

  MangoPay.configure do |client|
      client.preproduction = true
      client.client_id = 'your-client-id'
      client.client_apiKey = 'your-api-key'
      client.log_file = File.join(Dir.pwd, 'mangopay.log')
  end

  def createPayout(payoutObject)
      begin
          response = MangoPay::PayOut::BankWire.create(payoutObject)
          puts response
          return response
      rescue MangoPay::ResponseError => error
          puts "Failed to create payout: #{error.message}"
          puts "Error details: #{error.details}"
          return false
      end
  end

  myUser = {
    Id: '146476890',
    WalletId: '148968396'
  }

  myBankAccount = {
    Id: '154876798'
  }

  myPayout = {
    DebitedWalletId: myUser[:WalletId],
    PaymentType: 'BANK_WIRE',
    BankAccountId: myBankAccount[:Id],
    BankWireRef: 'Mangopay Ref',
    PayoutModeRequested: 'STANDARD',
    AuthorId: myUser[:Id],
    DebitedFunds: {
      Currency: 'EUR',
      Amount: 1200,
    },
    Fees: {
      Currency: 'EUR',
      Amount: 0,
    },
    Tag: 'Created using Mangopay Ruby SDK'
  }

  createPayout(myPayout)  
  ```

  ```java Java  theme={null}
  import com.google.gson.Gson;
  import com.google.gson.GsonBuilder;
  import com.mangopay.MangoPayApi;
  import com.mangopay.core.Money;
  import com.mangopay.core.enumerations.CurrencyIso;
  import com.mangopay.core.enumerations.PayoutMode;
  import com.mangopay.entities.PayOut;
  import com.mangopay.entities.subentities.PayOutPaymentDetailsBankWire;

  public class CreatePayout {
      
      public static void main(String[] args) throws Exception {
          MangoPayApi mangopay = new MangoPayApi();
          mangopay.getConfig().setClientId("your-client-id");
          mangopay.getConfig().setClientPassword("your-api-key");

          var userId = "user_m_01HQK25M6KVHKDV0S36JY9NRKR";
          var walletId = "wlt_m_01HQT6422EER2N7FPRXWTSDCSV";
          var bankAccountId = "bankacc_m_01HTJ7P7Y8K9DS5SZ08MDQRHHE";

          PayOut payout = new PayOut();
          payout.setAuthorId(userId);
          payout.setDebitedWalletId(walletId);
          payout.setDebitedFunds(new Money(CurrencyIso.EUR, 500));
          payout.setFees(new Money(CurrencyIso.EUR, 0));

          PayOutPaymentDetailsBankWire paymentDetails = new PayOutPaymentDetailsBankWire();
          paymentDetails.setBankAccountId(bankAccountId);
          paymentDetails.setPayoutModeRequested(PayoutMode.STANDARD);
          payout.setMeanOfPaymentDetails(paymentDetails);

          PayOut createPayout = mangopay.getPayOutApi().create(payout);

          Gson prettyPrint = new GsonBuilder().setPrettyPrinting().create();
          String prettyJson = prettyPrint.toJson(createPayout);

          System.out.println(prettyJson);
      }
  }
  ```

  ```python Python   theme={null}
  from pprint import pprint
  import mangopay

  mangopay.client_id='your-client-id'
  mangopay.apikey='your-api-key'

  from mangopay.api import APIRequest
  handler = APIRequest(sandbox=True)

  from mangopay.resources import BankWirePayOut
  from mangopay.utils import Money

  natural_user_id = '213753890'

  natural_user_wallet_id = '213754077'

  payout = BankWirePayOut(
      author_id = natural_user_id,
      debited_funds = Money(amount=200, currency='EUR'),
      fees = Money(amount=0, currency='EUR'),
      debited_wallet_id = natural_user_wallet_id,
      bank_account_id = '214651521',
      tag = 'Created using Mangopay Python SDK'
  )

  create_payout = payout.save()

  pprint(create_payout)
    
  ```

  ```csharp .NET  theme={null}
  using MangoPay.SDK;
  using MangoPay.SDK.Entities;
  using MangoPay.SDK.Entities.POST;
  using MangoPay.SDK.Core.Enumerations;
  using Newtonsoft.Json;

  class Program
  {
      static async Task Main(string[] args)
      {
          MangoPayApi api = new MangoPayApi();

          api.Config.ClientId = "your-client-id";
          api.Config.ClientPassword = "your-api-key";

          var userId = "user_m_01J2TZ261WZNDM0ZDRWGDYA4GN";
          var bankAccountId = "bankacc_m_01J534QNZZSRCXXAJ1VXP58DDH";
          var walletId = "wlt_m_01J30991BXBB7VF28PBS82EWD3";
          var debitedFunds = new Money { Amount = 2000, Currency = CurrencyIso.EUR };
          var fees = new Money { Amount = 50, Currency = CurrencyIso.EUR };
          var bankWireRef = "Example123";

          var payout = new PayOutBankWirePostDTO(
              userId,
              walletId,
              debitedFunds,
              fees,
              bankAccountId,
              bankWireRef,
              PayoutModeRequested.STANDARD
          ) {
              Tag = "Created using the Mangopay .NET SDK"
          };

          var createPayout = await api.PayOuts.CreateBankWireAsync(payout);

          string prettyPrint = JsonConvert.SerializeObject(createPayout, Formatting.Indented);
          Console.WriteLine(prettyPrint);
  	}
  }
  ```
</RequestExample>
