> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.mangopay.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mangopay.com/_mcp/server.

# The Unified Bank Wire PayIn object

### Description

> **Note**
>
> **Note – Sandbox only**
>
> This unified object is currently only returned in the Sandbox environment. In Production, the same `PaymentType`/`ExecutionType` combinations still return the existing [Bank Wire PayIn object](/api-reference/bank-wire-payins/bank-wire-payin-object) or [External Instruction Bank Wire PayIn object](/api-reference/virtual-accounts/external-instruction-bank-wire-payin-object).
>
> The new object, which is fully backwards compatible with both legacy objects, will be rolled out to Production at a later date.

The Unified Bank Wire PayIn object harmonizes the shape of the data returned for two bank wire pay-in variants (with `PaymentType` of `BANK_WIRE`):

* A pre-declared pay-in to a pooled Mangopay account (`ExecutionType` of `DIRECT`)
* A pay-in to a Virtual Account (`ExecutionType` of `EXTERNAL_INSTRUCTION`)

These payment and execution types remain the same in each case, but the shape of the object is now harmonized.

The new object is backwards compatible with both legacy objects to facilitate adoption once it is deployed in Production.

It introduces a new structured `CreditedAccount` object, a simplified `DebitedAccount` (replacing the legacy `DebitedBankAccount`), and `ReconciliationDetails` with the received funds and wire reference. The Virtual Account variant now includes the wire transfer's `TransactionDetails`, which was previously only returned on a pre-declared pay-in. The object also introduces `VirtualAccountId` as a replacement for `BankingAliasId`, with the same value returned in both.

### Attributes

The Unified Bank Wire PayIn object can be retrieved from the [GET View a PayIn](/api-reference/payins/view-payin) endpoint.

### Schema (`UnifiedBankWirePayInResponse`)

```yaml
components:
  schemas:
    Id:
      type: string
      description: >-
        Max length: 128 characters (see [data
        formats](/api-reference/overview/data-formats) for details)


        The unique identifier of the object.
      title: Id
    Tag:
      type: string
      description: >-
        Max. length: 255 characters


        Custom data that you can add to this object, such as unique identifiers
        in your system. To store multiple values, you can serialize them into a
        single string, for example a JSON object:
        `"{\"id_1\":AB123,\"id_2\":DE456}"`.
      title: Tag
    TransactionStatus:
      type: string
      description: |-
        **Returned values:** `CREATED`, `SUCCEEDED`, `FAILED`

        The status of the transaction.
      title: TransactionStatus
    TransactionType:
      type: string
      description: |-
        **Returned values:** `PAYIN`, `TRANSFER`, `CONVERSION`, `PAYOUT`

        The type of the transaction.
      title: TransactionType
    TransactionNature:
      type: string
      description: >-
        **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.
      title: TransactionNature
    CreationDate:
      type: integer
      description: Unix timestamp (UTC) of the date and time the object was created.
      title: CreationDate
    TransactionExecutionDate:
      type: integer
      description: >-
        Unix timestamp (UTC) of the date and time the status changed to
        `SUCCEEDED`, indicating that the transaction occurred. The statuses
        `CREATED` and `FAILED` return an `ExecutionDate` of `null`.
      title: TransactionExecutionDate
    ResultCode:
      type: string
      description: >-
        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.
      title: ResultCode
    ResultMessage:
      type: string
      description: The explanation of the result code.
      title: ResultMessage
    AuthorId:
      type: string
      description: The unique identifier of the user at the source of the transaction.
      title: AuthorId
    CreditedUserId:
      type: string
      description: >-
        **Default value:** The unique identifier of the owner of the credited
        wallet.


        The unique identifier of the user whose wallet is credited.
      title: CreditedUserId
    Currency:
      type: string
      description: >-
        **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 amount.
      title: Currency
    Amount:
      type: integer
      description: >-
        The amount of the currency in its minor unit. For example, EUR 12.60
        would be represented as `1260` whereas JPY 12 would be represented as
        just `12`.
      title: Amount
    UnifiedBankWirePayInResponseDeclaredDebitedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: |-
        Information about the declared debited funds.

        Returned `null` for a pay-in to a Virtual Account.
      title: UnifiedBankWirePayInResponseDeclaredDebitedFunds
    UnifiedBankWirePayInResponseDeclaredFees:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: >-
        Information about the declared fees.


        Returned `null` for a pay-in to a Virtual Account (`Fees` cannot be
        taken on this type of pay-in).
      title: UnifiedBankWirePayInResponseDeclaredFees
    UnifiedBankWirePayInResponseDebitedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: >-
        Information about the debited funds.


        For a pre-declared (`DIRECT`) bank wire to a Mangopay account, the
        `DebitedFunds` displays placeholder values (currency `XXX` and amount
        `0`) while the `Status` is `CREATED`, i.e. until the bank wire is
        received.
      title: UnifiedBankWirePayInResponseDebitedFunds
    UnifiedBankWirePayInResponseCreditedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: >-
        Information about the credited funds (`CreditedFunds` = `DebitedFunds` -
        `Fees`).


        For a pre-declared (`DIRECT`) bank wire to a Mangopay account, the
        `CreditedFunds` displays placeholder values (currency `XXX` and amount
        `0`) while the `Status` is `CREATED`, i.e. until the bank wire is
        received.
      title: UnifiedBankWirePayInResponseCreditedFunds
    UnifiedBankWirePayInResponseFees:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: >-
        Information about the fees taken by the platform for this transaction
        (and hence transferred to the Fees Wallet).
      title: UnifiedBankWirePayInResponseFees
    Address:
      type: object
      properties:
        AddressLine1:
          type: string
          description: The first line of the address.
        AddressLine2:
          type: string
          description: The second line of the address.
        City:
          type: string
          description: The city of the address.
        Region:
          type: string
          description: Required if `Country` is US, CA, or MX. The region of the address.
        PostalCode:
          type: string
          description: >-
            The postal code of the address. The postal code can contain the
            following characters: alphanumeric, dashes, and spaces.
        Country:
          type: string
          description: >-
            Format: Two-letter country code ([ISO 3166-1 alpha-2
            format](/api-reference/overview/data-formats))


            The country of the address.
      description: The postal address.
      title: Address
    UnifiedBankWirePayInResponseBankAccount:
      type: object
      properties:
        OwnerAddress:
          $ref: '#/components/schemas/Address'
        Type:
          type: string
          description: |-
            **Returned values:** `IBAN`, `US`, `CA`, `GB`, `OTHER`

            The type of the bank account.
        OwnerName:
          type: string
          description: The full name of the owner of the bank account.
        IBAN:
          type: string
          description: The IBAN (international bank account number) for the bank account.
        BIC:
          type: string
          description: The BIC (international identifier of the bank) for the bank account.
      description: >-
        Information about the bank account to which the bank wire must be made
        by the end user, for a pre-declared (`DIRECT`) bank wire to a Mangopay
        account. Returned `null` for a bank wire to a Virtual Account, which has
        `CreditedAccount` populated funds arrive instead. 


        **Caution:** Do not hardcode the returned values. Mangopay may change
        the underlying bank details without prior notice.
      title: UnifiedBankWirePayInResponseBankAccount
    UnifiedBankWirePayInResponseDebitedBankAccount:
      type: object
      properties:
        Type:
          type: string
          description: |-
            **Returned values:** `IBAN`, `US`, `CA`, `GB`, `OTHER`

            The type of the bank account.
        OwnerName:
          type: string
          description: >-
            Max. length: 255 characters


            The full name of the owner of the bank account. (Format: FirstName
            LastName)
        IBAN:
          type: string
          description: >-
            Max. length: 34 characters


            The IBAN (international bank account number) of the bank account.

            It follows the CCDDBBAN format in which:


            - CC represents the country code (ISO 3166-1 alpha 2)

            - DD represents two check digits used by banking systems to avoid
            simple errors

            - BBAN stands for the Basic Bank Account Number which is up to 30
            alphanumeric characters that are country-specific.
        BIC:
          type: string
          description: >-
            The BIC (international identifier of the bank) for IBAN or
            OTHER-type bank accounts.


            The BIC can have one of the two following formats:


            - BIC8 – 8-character BIC (AAAABBCC)

            - BIC11 – 11-character BIC (AAAABBCCDDD)
        AccountNumber:
          type: string
          description: The unique number of the bank account.
        Country:
          type: string
          description: |-
            Format: Two-letter country code (ISO 3166-1 alpha-2 format)

            The country in which the bank account is registered.
      description: >-
        Replaced by `DebitedAccount`.


        Information about the debited bank account. For a pre-declared
        (`DIRECT`) bank wire to a Mangopay account, this property is returned
        `null` while the `Status` is `CREATED`, i.e. until the bank wire is
        received.
      title: UnifiedBankWirePayInResponseDebitedBankAccount
      deprecated: true
    UnifiedBankWirePayInResponseCreditedAccountLocalAccountDetailsAddress:
      type: object
      properties:
        StreetName:
          type:
            - string
            - 'null'
          description: The building number and street name of the address.
        PostCode:
          type: string
          description: The postal code of the address.
        TownName:
          type: string
          description: The town or city of the address.
        CountrySubDivision:
          type:
            - string
            - 'null'
          description: The region, state, or county of the address.
        Country:
          type: string
          description: |-
            Format: Two-letter country code (ISO 3166-1 alpha-2 format)

            The country of the address.
      description: The address associated with the account.
      title: UnifiedBankWirePayInResponseCreditedAccountLocalAccountDetailsAddress
    CreditedAccountLocalAccount_GB:
      type: object
      properties:
        AccountNumber:
          type: string
          description: The account number of the account.
        SortCode:
          type: string
          description: The sort code of the account.
      description: The local UK account.
      title: CreditedAccountLocalAccount_GB
    CreditedAccountLocalAccount_US:
      type: object
      properties:
        AccountNumber:
          type: string
          description: The account number of the account.
        AchNumber:
          type: string
          description: The ACH routing number of the account.
        FedWireNumber:
          type: string
          description: The Fedwire (ABA) number of the account.
        AccountType:
          type: string
          description: The account type of the account.
      description: The local US account.
      title: CreditedAccountLocalAccount_US
    CreditedAccountLocalAccount_CA:
      type: object
      properties:
        AccountNumber:
          type: string
          description: The account number of the account.
        BranchCode:
          type: string
          description: The branch code or transit number of the account.
        InstitutionNumber:
          type: string
          description: The institution number of the account.
      description: The local CA account.
      title: CreditedAccountLocalAccount_CA
    CreditedAccountLocalAccount_AU:
      type: object
      properties:
        AccountNumber:
          type: string
          description: The account number of the account.
        Bsb:
          type: string
          description: The bank state branch (BSB) code of the account.
      description: The local AU account.
      title: CreditedAccountLocalAccount_AU
    UnifiedBankWirePayInResponseCreditedAccountLocalAccountDetailsAccount:
      oneOf:
        - $ref: '#/components/schemas/CreditedAccountLocalAccount_GB'
        - $ref: '#/components/schemas/CreditedAccountLocalAccount_US'
        - $ref: '#/components/schemas/CreditedAccountLocalAccount_CA'
        - $ref: '#/components/schemas/CreditedAccountLocalAccount_AU'
      description: >-
        The local account number, in the format relevant to the credited
        account's country.


        **Caution:** Retrieve both the fields and values of this object
        dynamically. The `Account` object has different properties depending on
        the credited account's country, and these may change over time as
        Mangopay's coverage expands.
      title: UnifiedBankWirePayInResponseCreditedAccountLocalAccountDetailsAccount
    UnifiedBankWirePayInResponseCreditedAccountLocalAccountDetails:
      type: object
      properties:
        BankName:
          type:
            - string
            - 'null'
          description: The name of the bank.
        AccountOwner:
          type: string
          description: The name of the owner of the account.
        Address:
          $ref: >-
            #/components/schemas/UnifiedBankWirePayInResponseCreditedAccountLocalAccountDetailsAddress
          description: The address associated with the account.
        Account:
          $ref: >-
            #/components/schemas/UnifiedBankWirePayInResponseCreditedAccountLocalAccountDetailsAccount
          description: >-
            The local account number, in the format relevant to the credited
            account's country.


            **Caution:** Retrieve both the fields and values of this object
            dynamically. The `Account` object has different properties depending
            on the credited account's country, and these may change over time as
            Mangopay's coverage expands.
      description: The account details in local format.
      title: UnifiedBankWirePayInResponseCreditedAccountLocalAccountDetails
    UnifiedBankWirePayInResponseCreditedAccountInternationalAccountDetailsAccount:
      type: object
      properties:
        Iban:
          type: string
          description: The international bank account number (IBAN) of the account.
        Bic:
          type: string
          description: The bank identifier code (BIC) of the account.
      description: The international account number.
      title: >-
        UnifiedBankWirePayInResponseCreditedAccountInternationalAccountDetailsAccount
    UnifiedBankWirePayInResponseCreditedAccountInternationalAccountDetailsAddress:
      type: object
      properties:
        StreetName:
          type: string
          description: The building number and street name of the address.
        PostCode:
          type: string
          description: The postal code of the address.
        TownName:
          type: string
          description: The town or city of the address.
        CountrySubDivision:
          type:
            - string
            - 'null'
          description: The region, state, or county of the address.
        Country:
          type: string
          description: |-
            Format: Two-letter country code (ISO 3166-1 alpha-2 format)

            The country of the address.
      description: The address associated with the account.
      title: >-
        UnifiedBankWirePayInResponseCreditedAccountInternationalAccountDetailsAddress
    UnifiedBankWirePayInResponseCreditedAccountInternationalAccountDetails:
      type: object
      properties:
        AccountOwner:
          type: string
          description: The owner of the account.
        BankName:
          type:
            - string
            - 'null'
          description: The name of the bank.
        Account:
          $ref: >-
            #/components/schemas/UnifiedBankWirePayInResponseCreditedAccountInternationalAccountDetailsAccount
          description: The international account number.
        Address:
          $ref: >-
            #/components/schemas/UnifiedBankWirePayInResponseCreditedAccountInternationalAccountDetailsAddress
          description: The address associated with the account.
      description: The account details in international format.
      title: UnifiedBankWirePayInResponseCreditedAccountInternationalAccountDetails
    UnifiedBankWirePayInResponseCreditedAccount:
      type: object
      properties:
        LocalAccountDetails:
          oneOf:
            - $ref: >-
                #/components/schemas/UnifiedBankWirePayInResponseCreditedAccountLocalAccountDetails
            - type: 'null'
          description: The account details in local format.
        InternationalAccountDetails:
          oneOf:
            - $ref: >-
                #/components/schemas/UnifiedBankWirePayInResponseCreditedAccountInternationalAccountDetails
            - type: 'null'
          description: The account details in international format.
      description: >-
        Information about the account credited by the bank wire.


        Returned `null` for a pay-in to a Virtual Account, for which the Virtual
        Account is the source of truth for its own account details instead.
      title: UnifiedBankWirePayInResponseCreditedAccount
    UnifiedBankWirePayInResponseDebitedAccount:
      type: object
      properties:
        AccountOwner:
          type: string
          description: >-
            The name of the debtor (i.e. the registered owner of the debited
            account).
        BankAccount:
          type: string
          description: The account identifier of the debtor (e.g. the account number).
        BankCode:
          type: string
          description: The agent of the debtor (e.g. the BIC or bank code).
        AddressLine1:
          type:
            - string
            - 'null'
          description: The first line of the debtor's address.
        AddressLine2:
          type:
            - string
            - 'null'
          description: The second line of the debtor's address.
        AddressLine3:
          type:
            - string
            - 'null'
          description: The third line of the debtor's address.
      description: >-
        Information about the account debited to fund the pay-in.


        For a pre-declared (`DIRECT`) bank wire to a Mangopay account, this
        property is returned `null` while the `Status` is `CREATED`, i.e. until
        the bank wire is received.
      title: UnifiedBankWirePayInResponseDebitedAccount
    UnifiedBankWirePayInResponsePendingActionActionDetailsItems:
      type: object
      properties: {}
      title: UnifiedBankWirePayInResponsePendingActionActionDetailsItems
    UnifiedBankWirePayInResponsePendingAction:
      type: object
      properties:
        Action:
          type: string
          description: >-
            **Returned values:** `PAYMENT_REQUIRED`


            The type of action pending on the pay-in:

            - `PAYMENT_REQUIRED` – For a pre-declared (`DIRECT`) bank wire to a
            Mangopay account, the end user has not yet made the bank wire. The
            pay-in `Status` remains `CREATED` until the funds are received or
            the `ExpiryDate` passes.
        ActionDetails:
          type:
            - array
            - 'null'
          items:
            $ref: >-
              #/components/schemas/UnifiedBankWirePayInResponsePendingActionActionDetailsItems
          description: Details related to the pending action, if applicable.
        ExpiryDate:
          type:
            - integer
            - 'null'
          description: >-
            Unix timestamp (UTC) of the date and time at which the pending
            action expires.


            For a `PAYMENT_REQUIRED` action, this is the `CreationDate` plus one
            month.
      description: >-
        Information about an action pending on the pay-in, if any.


        For example, when `CREATED`, a pre-declared bank wire shows
        `PAYMENT_REQUIRED` as the action. 
      title: UnifiedBankWirePayInResponsePendingAction
    UnifiedBankWirePayInResponseReconciliationDetailsMatchedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: >-
        The amount matched during reconciliation between the
        `DeclaredDebitedFunds` and the `ReceivedFunds`.


        Returned `null` for a pay-in to a Virtual Account, which is not
        reconciled against declared funds.
      title: UnifiedBankWirePayInResponseReconciliationDetailsMatchedFunds
    UnifiedBankWirePayInResponseReconciliationDetailsReceivedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: >-
        The amount received on Mangopay's bank account.


        Returned `null` for a pay-in to a Virtual Account, which is not
        reconciled against declared funds.
      title: UnifiedBankWirePayInResponseReconciliationDetailsReceivedFunds
    UnifiedBankWirePayInResponseReconciliationDetails:
      type: object
      properties:
        MatchedFunds:
          oneOf:
            - $ref: >-
                #/components/schemas/UnifiedBankWirePayInResponseReconciliationDetailsMatchedFunds
            - type: 'null'
          description: >-
            The amount matched during reconciliation between the
            `DeclaredDebitedFunds` and the `ReceivedFunds`.


            Returned `null` for a pay-in to a Virtual Account, which is not
            reconciled against declared funds.
        ReceivedFunds:
          oneOf:
            - $ref: >-
                #/components/schemas/UnifiedBankWirePayInResponseReconciliationDetailsReceivedFunds
            - type: 'null'
          description: >-
            The amount received on Mangopay's bank account.


            Returned `null` for a pay-in to a Virtual Account, which is not
            reconciled against declared funds.
        ReceivedWireReference:
          type: string
          description: >-
            The wire reference received with the incoming bank wire, matched
            against the pay-in's declared `WireReference`.
      description: >-
        Details of the reconciliation between the declared and received funds
        for the bank wire.


        For a pre-declared (`DIRECT`) bank wire pay-in, returned `null` while
        the `Status` is `CREATED`, i.e. until the bank wire is received.
      title: UnifiedBankWirePayInResponseReconciliationDetails
    UnifiedBankWirePayInResponseTransactionDetailsItemsReferencesItems:
      type: object
      properties:
        Type:
          type: string
          description: |-
            Max. length: 50 characters

            The type of the reference.
        Value:
          type: string
          description: |-
            Max. length: 100 characters

            The value of the reference.
      title: UnifiedBankWirePayInResponseTransactionDetailsItemsReferencesItems
    UnifiedBankWirePayInResponseTransactionDetailsItems:
      type: object
      properties:
        BankTransactionDomainCode:
          type: string
          description: |-
            Max. length: 50 characters

            The bank transaction domain code (e.g. PMNT).
        BankTransactionDomainFamilyCode:
          type: string
          description: |-
            Max. length: 50 characters

            The bank transaction domain family code (e.g. ICDT).
        BankTransactionDomainSubFamilyCode:
          type: string
          description: |-
            Max. length: 50 characters

            The domain sub-family code (e.g. ACDT).
        References:
          type: array
          items:
            $ref: >-
              #/components/schemas/UnifiedBankWirePayInResponseTransactionDetailsItemsReferencesItems
          description: >-
            References for the transaction. If multiple references are
            available, multiple objects are returned.
        DebtorName:
          type: string
          description: >-
            Max. length: 100 characters


            The name of the debtor (i.e. the registered owner of the account
            that was debited).
        DebtorAccount:
          type: string
          description: |-
            Max. length: 50 characters

            The account identifier of the debtor (e.g. the account number).
        DebtorAgent:
          type: string
          description: |-
            Max. length: 50 characters

            The agent of the debtor (e.g. the BIC or bank code).
        DebtorAddressLine1:
          type: string
          description: |-
            Max. length: 500 characters

            The first line of the debtor's address.
        DebtorAddressLine2:
          type: string
          description: |-
            Max. length: 500 characters

            The second line of the debtor's address.
        DebtorAddressLine3:
          type: string
          description: |-
            Max. length: 500 characters

            The third line of the debtor's address.
        RemittanceInformationLine1:
          type: string
          description: |-
            Max. length: 1,000 characters

            Remittance information for the transaction.
        RemittanceInformationLine2:
          type: string
          description: |-
            Max. length: 1,000 characters

            Remittance information for the transaction.
        RemittanceInformationLine3:
          type: string
          description: |-
            Max. length: 1,000 characters

            Remittance information for the transaction.
        RemittanceInformationLine4:
          type: string
          description: |-
            Max. length: 1,000 characters

            Remittance information for the transaction.
      title: UnifiedBankWirePayInResponseTransactionDetailsItems
    UnifiedBankWirePayInResponseFlowDescriptor:
      type: object
      properties: {}
      description: >-
        Returned `null` for now. It is not yet possible to declare Owner
        beneficiaries on a bank wire pay-in, but it will be in future.
      title: UnifiedBankWirePayInResponseFlowDescriptor
    UnifiedBankWirePayInResponse:
      type: object
      properties:
        Id:
          $ref: '#/components/schemas/Id'
        Tag:
          $ref: '#/components/schemas/Tag'
        Status:
          $ref: '#/components/schemas/TransactionStatus'
        Type:
          $ref: '#/components/schemas/TransactionType'
        Nature:
          $ref: '#/components/schemas/TransactionNature'
        PaymentType:
          type: string
          description: |-
            **Returned values:** `BANK_WIRE`

            The payment type of the pay-in.
        ExecutionType:
          type: string
          description: |-
            **Returned values:** `DIRECT`, `EXTERNAL_INSTRUCTION`

            The execution type of the pay-in.
        CreationDate:
          $ref: '#/components/schemas/CreationDate'
        ExecutionDate:
          $ref: '#/components/schemas/TransactionExecutionDate'
        ResultCode:
          $ref: '#/components/schemas/ResultCode'
        ResultMessage:
          $ref: '#/components/schemas/ResultMessage'
        AuthorId:
          $ref: '#/components/schemas/AuthorId'
        CreditedUserId:
          $ref: '#/components/schemas/CreditedUserId'
        CreditedWalletId:
          type: string
          description: The unique identifier of the credited wallet.
        DebitedWalletId:
          type:
            - string
            - 'null'
          description: >-
            The unique identifier of the debited wallet.


            In the case of a pay-in, this value is always `null` since there is
            no debited wallet.
        VirtualAccountId:
          type:
            - string
            - 'null'
          description: >-
            The unique identifier of the Virtual Account (or legacy banking
            alias) targeted by this pay-in. Returned `null` for a pre-declared
            (`DIRECT`) bank wire to a Mangopay account.


            **Note:** The same value is returned in both `VirtualAccountId` and
            `BankingAliasId`, but use `VirtualAccountId` going forward.
        BankingAliasId:
          type:
            - string
            - 'null'
          description: >-
            Replaced by `VirtualAccountId`. Retained in the response for
            backwards compatibility only — new integrations should use
            `VirtualAccountId` instead.


            The unique identifier of the banking alias. Returned `null` for a
            pre-declared (`DIRECT`) bank wire to a Mangopay account.
          deprecated: true
        DeclaredDebitedFunds:
          oneOf:
            - $ref: >-
                #/components/schemas/UnifiedBankWirePayInResponseDeclaredDebitedFunds
            - type: 'null'
          description: |-
            Information about the declared debited funds.

            Returned `null` for a pay-in to a Virtual Account.
        DeclaredFees:
          oneOf:
            - $ref: '#/components/schemas/UnifiedBankWirePayInResponseDeclaredFees'
            - type: 'null'
          description: >-
            Information about the declared fees.


            Returned `null` for a pay-in to a Virtual Account (`Fees` cannot be
            taken on this type of pay-in).
        DebitedFunds:
          $ref: '#/components/schemas/UnifiedBankWirePayInResponseDebitedFunds'
          description: >-
            Information about the debited funds.


            For a pre-declared (`DIRECT`) bank wire to a Mangopay account, the
            `DebitedFunds` displays placeholder values (currency `XXX` and
            amount `0`) while the `Status` is `CREATED`, i.e. until the bank
            wire is received.
        CreditedFunds:
          $ref: '#/components/schemas/UnifiedBankWirePayInResponseCreditedFunds'
          description: >-
            Information about the credited funds (`CreditedFunds` =
            `DebitedFunds` - `Fees`).


            For a pre-declared (`DIRECT`) bank wire to a Mangopay account, the
            `CreditedFunds` displays placeholder values (currency `XXX` and
            amount `0`) while the `Status` is `CREATED`, i.e. until the bank
            wire is received.
        Fees:
          $ref: '#/components/schemas/UnifiedBankWirePayInResponseFees'
          description: >-
            Information about the fees taken by the platform for this
            transaction (and hence transferred to the Fees Wallet).
        WireReference:
          type: string
          description: >-
            Max. length: 255 characters


            For a pre-declared (`DIRECT`) bank wire to a Mangopay account: The
            reference which the end user must provide when making the bank wire.
            The `WireReference` is used to reconcile the funds that arrive on
            the bank account with the `DeclaredDebitedFunds` in the pay-in
            object.


            **Caution:** For pre-declared bank wires, this reference is specific
            to each payment and must be retrieved dynamically.


            For a bank wire to a Virtual Account (`EXTERNAL_INSTRUCTION`): The
            reference of the bank wire received on the virtual IBAN, as provided
            by the user. If no reference was provided, then this value is
            `null`.
        BankAccount:
          oneOf:
            - $ref: '#/components/schemas/UnifiedBankWirePayInResponseBankAccount'
            - type: 'null'
          description: >-
            Information about the bank account to which the bank wire must be
            made by the end user, for a pre-declared (`DIRECT`) bank wire to a
            Mangopay account. Returned `null` for a bank wire to a Virtual
            Account, which has `CreditedAccount` populated funds arrive
            instead. 


            **Caution:** Do not hardcode the returned values. Mangopay may
            change the underlying bank details without prior notice.
        DebitedBankAccount:
          oneOf:
            - $ref: >-
                #/components/schemas/UnifiedBankWirePayInResponseDebitedBankAccount
            - type: 'null'
          description: >-
            Replaced by `DebitedAccount`.


            Information about the debited bank account. For a pre-declared
            (`DIRECT`) bank wire to a Mangopay account, this property is
            returned `null` while the `Status` is `CREATED`, i.e. until the bank
            wire is received.
          deprecated: true
        CreditedAccount:
          oneOf:
            - $ref: '#/components/schemas/UnifiedBankWirePayInResponseCreditedAccount'
            - type: 'null'
          description: >-
            Information about the account credited by the bank wire.


            Returned `null` for a pay-in to a Virtual Account, for which the
            Virtual Account is the source of truth for its own account details
            instead.
        DebitedAccount:
          oneOf:
            - $ref: '#/components/schemas/UnifiedBankWirePayInResponseDebitedAccount'
            - type: 'null'
          description: >-
            Information about the account debited to fund the pay-in.


            For a pre-declared (`DIRECT`) bank wire to a Mangopay account, this
            property is returned `null` while the `Status` is `CREATED`, i.e.
            until the bank wire is received.
        PendingAction:
          oneOf:
            - $ref: '#/components/schemas/UnifiedBankWirePayInResponsePendingAction'
            - type: 'null'
          description: >-
            Information about an action pending on the pay-in, if any.


            For example, when `CREATED`, a pre-declared bank wire shows
            `PAYMENT_REQUIRED` as the action. 
        ReconciliationDetails:
          oneOf:
            - $ref: >-
                #/components/schemas/UnifiedBankWirePayInResponseReconciliationDetails
            - type: 'null'
          description: >-
            Details of the reconciliation between the declared and received
            funds for the bank wire.


            For a pre-declared (`DIRECT`) bank wire pay-in, returned `null`
            while the `Status` is `CREATED`, i.e. until the bank wire is
            received.
        TransactionDetails:
          type: array
          items:
            $ref: >-
              #/components/schemas/UnifiedBankWirePayInResponseTransactionDetailsItems
          description: >-
            Max. length: 50 characters


            Information received from banking partners for the transaction,
            based on the cash management (Camt) messages of ISO 20022.


            This information is only returned when the pay-in `Status` becomes
            `SUCCEEDED`.


            If data is not available then an empty array, `null`, or nulled
            fields are returned.


            If multiple wire payments are received for a single pay-in, then
            multiple objects are returned.
        OperationId:
          type:
            - string
            - 'null'
          description: Returned `null` for now.
        FlowDescriptor:
          oneOf:
            - $ref: '#/components/schemas/UnifiedBankWirePayInResponseFlowDescriptor'
            - type: 'null'
          description: >-
            Returned `null` for now. It is not yet possible to declare Owner
            beneficiaries on a bank wire pay-in, but it will be in future.
      title: UnifiedBankWirePayInResponse
```

**`Pre-declared (DIRECT)`**

```json title="Pre-declared (DIRECT)"
{
  "Id": "payin_wf_01M6SG3VK4DCBDT6S19H0T22RQ",
  "Tag": "Created using Mangopay API Postman Collection",
  "Status": "SUCCEEDED",
  "Type": "PAYIN",
  "Nature": "REGULAR",
  "PaymentType": "BANK_WIRE",
  "ExecutionType": "DIRECT",
  "CreationDate": 1794004610,
  "ExecutionDate": 1794004621,
  "ResultCode": "000000",
  "ResultMessage": "Success",
  "AuthorId": "user_m_01M6RNSGQGD2X653B8WRXEMTBC",
  "CreditedUserId": "user_m_01M6RJMFFBCEKKQMVAAM6DKVFV",
  "CreditedWalletId": "wlt_m_01M6RJRX7E5C8EGM8SH49WJPYS",
  "DebitedWalletId": null,
  "VirtualAccountId": null,
  "BankingAliasId": null,
  "DeclaredDebitedFunds": {
    "Currency": "EUR",
    "Amount": 200000
  },
  "DeclaredFees": {
    "Currency": "EUR",
    "Amount": 0
  },
  "DebitedFunds": {
    "Currency": "EUR",
    "Amount": 200000
  },
  "CreditedFunds": {
    "Currency": "EUR",
    "Amount": 200000
  },
  "Fees": {
    "Currency": "EUR",
    "Amount": 0
  },
  "WireReference": "MG4liawppe",
  "BankAccount": {
    "OwnerAddress": {
      "AddressLine1": "2 Avenue Amélie",
      "AddressLine2": null,
      "City": "Luxembourg",
      "Region": null,
      "PostalCode": "L-1125",
      "Country": "LU"
    },
    "Type": "IBAN",
    "OwnerName": "MANGOPAY SA",
    "IBAN": "FR7630056009271234567890182",
    "BIC": "CCFRFRPPXXX"
  },
  "DebitedBankAccount": {
    "IBAN": "GB33BUKB20201555555555",
    "BIC": "BUKBGB22XXX",
    "AccountNumber": null,
    "Country": null,
    "OwnerName": "John Doe",
    "Type": "IBAN"
  },
  "CreditedAccount": {
    "LocalAccountDetails": null,
    "InternationalAccountDetails": {
      "AccountOwner": "MANGOPAY SA",
      "BankName": null,
      "Account": {
        "Iban": "FR7630056009271234567890182",
        "Bic": "CCFRFRPPXXX"
      },
      "Address": {
        "StreetName": "2 Avenue Amélie",
        "PostCode": "L-1125",
        "TownName": "Luxembourg",
        "CountrySubDivision": null,
        "Country": "LU"
      }
    }
  },
  "DebitedAccount": {
    "AccountOwner": "John Doe",
    "BankAccount": "GB33BUKB20201555555555",
    "BankCode": "BUKBGB22XXX",
    "AddressLine1": "135 Rue de Nantes",
    "AddressLine2": "Paris",
    "AddressLine3": "75006 - FR"
  },
  "PendingAction": null,
  "ReconciliationDetails": {
    "MatchedFunds": {
      "Currency": "EUR",
      "Amount": 200000
    },
    "ReceivedFunds": {
      "Currency": "EUR",
      "Amount": 200000
    },
    "ReceivedWireReference": "MG4liawppe"
  },
  "TransactionDetails": [
    {
      "BankTransactionDomainCode": "PMNT",
      "BankTransactionDomainFamilyCode": "RCDT",
      "BankTransactionDomainSubFamilyCode": null,
      "References": [
        {
          "Type": "EndToEndId",
          "Value": "AAB.123.EU.ABC-00012345"
        }
      ],
      "DebtorName": "John Doe",
      "DebtorAccount": "GB33BUKB20201555555555",
      "DebtorAgent": "BUKBGB22XXX",
      "DebtorAddressLine1": "135 Rue de Nantes",
      "DebtorAddressLine2": "Paris",
      "DebtorAddressLine3": "75006 - FR",
      "RemittanceInformationLine1": "MG4liawppe",
      "RemittanceInformationLine2": null,
      "RemittanceInformationLine3": null,
      "RemittanceInformationLine4": null
    }
  ],
  "OperationId": null,
  "FlowDescriptor": null
}
```

**`To Virtual Account (EXTERNAL_INSTRUCTION)`**

```json title="To Virtual Account (EXTERNAL_INSTRUCTION)"
{
  "Id": "payin_wf_01M6SFNAY50ZW6NP2AMKYB8N0G",
  "Tag": null,
  "Status": "SUCCEEDED",
  "Type": "PAYIN",
  "Nature": "REGULAR",
  "PaymentType": "BANK_WIRE",
  "ExecutionType": "EXTERNAL_INSTRUCTION",
  "CreationDate": 1794004134,
  "ExecutionDate": 1794004135,
  "ResultCode": "000000",
  "ResultMessage": "Success",
  "AuthorId": "user_m_01M6RJMFFBCEKKQMVAAM6DKVFV",
  "CreditedUserId": "user_m_01M6RJMFFBCEKKQMVAAM6DKVFV",
  "CreditedWalletId": "wlt_m_01M6RJRX7E5C8EGM8SH49WJPYS",
  "DebitedWalletId": null,
  "VirtualAccountId": "wltbank_01M6RQFNJH8BV6KK80VKBKCF09",
  "BankingAliasId": "wltbank_01M6RQFNJH8BV6KK80VKBKCF09",
  "DeclaredDebitedFunds": null,
  "DeclaredFees": null,
  "DebitedFunds": {
    "Currency": "EUR",
    "Amount": 100000
  },
  "CreditedFunds": {
    "Currency": "EUR",
    "Amount": 100000
  },
  "Fees": {
    "Currency": "EUR",
    "Amount": 0
  },
  "WireReference": "MGqe0u9b94 Wire Reference 123",
  "BankAccount": null,
  "DebitedBankAccount": {
    "IBAN": "DE89370400440532013000",
    "BIC": "COBADEFFXXX",
    "AccountNumber": null,
    "Country": null,
    "OwnerName": "Tom Donaldson",
    "Type": "IBAN"
  },
  "CreditedAccount": null,
  "DebitedAccount": {
    "AccountOwner": "Tom Donaldson",
    "BankAccount": "DE89370400440532013000",
    "BankCode": "COBADEFFXXX",
    "AddressLine1": null,
    "AddressLine2": null,
    "AddressLine3": null
  },
  "PendingAction": null,
  "ReconciliationDetails": {
    "MatchedFunds": null,
    "ReceivedFunds": null,
    "ReceivedWireReference": "MGqe0u9b94 Wire Reference 123"
  },
  "TransactionDetails": [
    {
      "BankTransactionDomainCode": "PMNT",
      "BankTransactionDomainFamilyCode": "RCDT",
      "BankTransactionDomainSubFamilyCode": null,
      "References": [
        {
          "Type": "EndToEndId",
          "Value": null
        }
      ],
      "DebtorName": "Tom Donaldson",
      "DebtorAccount": "DE89370400440532013000",
      "DebtorAgent": "COBADEFFXXX",
      "DebtorAddressLine1": null,
      "DebtorAddressLine2": null,
      "DebtorAddressLine3": null,
      "RemittanceInformationLine1": "MGqe0u9b94",
      "RemittanceInformationLine2": "Wire",
      "RemittanceInformationLine3": "Reference",
      "RemittanceInformationLine4": "123"
    }
  ],
  "OperationId": null,
  "FlowDescriptor": null
}
```

### Related resources

#### [Object](/api-reference/bank-wire-payins/bank-wire-payin-object)

The Bank Wire PayIn object, returned in Production for pre-declared pay-ins

#### [Object](/api-reference/virtual-accounts/external-instruction-bank-wire-payin-object)

The External Instruction Bank Wire PayIn object, returned in Production for Virtual Account pay-ins