Mangopay Bank Wire Payins API

The bankWirePayins API from Mangopay — 1 operation(s) for bankwirepayins.

Operations 1

POST /v2.01/{ClientId}/payins/bankwire/direct Create a Bank Wire PayIn #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/mangopay:mangopay-bankwirepayins-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

mangopay-bankwirepayins-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reference Bank Wire Payins API
  version: 1.0.0
servers:
- url: https://api.sandbox.mangopay.com
  description: Sandbox
- url: https://api.mangopay.com
  description: Production
- url: https://api-mtls.sandbox.mangopay.com
  description: mTLS Sandbox
- url: https://api-mtls.mangopay.com
  description: mTLS Production
- url: '%7BCardRegistrationUrl%7D'
  description: "The full dynamic URL returned by the Create a Card Registration call, including host, path, and query parameters. \n"
- url: '%7BSettlementFileUploadUrl%7D'
  description: 'The unique URL returned by the [POST Create a Settlement and secure URL](/api-reference/settlements/create-settlement) endpoint.


    **Note:** Use the full dynamic URL including the host, path, and all query parameters. The URL is already authenticated, so this call does not require an Authorization header.

    '
tags:
- name: bankWirePayins
paths:
  /v2.01/{ClientId}/payins/bankwire/direct:
    post:
      operationId: bankWirePayins_create_bank_wire_payin
      summary: Create a Bank Wire PayIn
      description: '**Caution – Retrieve the returned bank details dynamically**


        In addition to the `WireReference`, ensure you implement the `BankAccount` object parameter dynamically so the `IBAN`, `BIC`, and other response values appear as returned in for each pay-in.


        Mangopay may change the underlying bank account without prior notice and mismatched data my lead to delays. See the bank wire pay-in guide for more details.


        Create a Bank Wire PayIn


        This call declares the payment to be made by the end user and returns the `BankAccount` details and `WireReference` they must use.'
      tags:
      - bankWirePayins
      parameters:
      - name: ClientId
        in: path
        description: Platform's API account identifier, associated with the API key.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BankWirePayInResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateABankWirePayInRequest'
      security:
      - oauth2: []
components:
  schemas:
    CreateABankWirePayInRequestDeclaredFees:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      required:
      - Currency
      - Amount
      description: Information about the fees to be taken by the platform for this transaction (and hence transferred to the Fees Wallet).
      title: CreateABankWirePayInRequestDeclaredFees
    BankWirePayInResponseTransactionDetailsItemsReferencesItems:
      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: BankWirePayInResponseTransactionDetailsItemsReferencesItems
    BankWirePayInResponseCreditedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: 'Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).


        For a direct bank wire pay-in, the `CreditedFunds` displays placeholder values (currency `XXX` and amount `0`) until the `Status` changes to `SUCCEEDED`.'
      title: BankWirePayInResponseCreditedFunds
    CreateABankWirePayInRequestDeclaredDebitedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      required:
      - Currency
      - Amount
      description: Information about the declared funds to be wired by the end user to the returned bank account.
      title: CreateABankWirePayInRequestDeclaredDebitedFunds
    BankWirePayInResponse:
      type: object
      properties:
        Id:
          $ref: '#/components/schemas/Id'
        Tag:
          $ref: '#/components/schemas/Tag'
        CreationDate:
          $ref: '#/components/schemas/CreationDate'
        ResultCode:
          $ref: '#/components/schemas/ResultCode'
        ResultMessage:
          $ref: '#/components/schemas/ResultMessage'
        AuthorId:
          $ref: '#/components/schemas/AuthorId'
        CreditedUserId:
          $ref: '#/components/schemas/CreditedUserId'
        FlowDescriptor:
          $ref: '#/components/schemas/FlowDescriptorResponse'
        DebitedFunds:
          $ref: '#/components/schemas/BankWirePayInResponseDebitedFunds'
          description: 'Information about the debited funds.


            For a direct bank wire pay-in, the `DebitedFunds` displays placeholder values (currency `XXX` and amount `0`) until the `Status` changes to `SUCCEEDED`.'
        CreditedFunds:
          $ref: '#/components/schemas/BankWirePayInResponseCreditedFunds'
          description: 'Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).


            For a direct bank wire pay-in, the `CreditedFunds` displays placeholder values (currency `XXX` and amount `0`) until the `Status` changes to `SUCCEEDED`.'
        Fees:
          $ref: '#/components/schemas/BankWirePayInResponseFees'
          description: Information about the fees taken by the platform for this transaction (and hence transferred to the Fees Wallet).
        Status:
          $ref: '#/components/schemas/TransactionStatus'
        ExecutionDate:
          $ref: '#/components/schemas/TransactionExecutionDate'
        Type:
          $ref: '#/components/schemas/TransactionType'
        Nature:
          $ref: '#/components/schemas/TransactionNature'
        CreditedWalletId:
          type: string
          description: The unique identifier of the credited wallet.
        DebitedWalletId:
          type: string
          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.'
        PaymentType:
          type: string
          description: '**Returned values:** `BANK_WIRE`


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


            The execution type of the pay-in.'
        DeclaredDebitedFunds:
          $ref: '#/components/schemas/BankWirePayInResponseDeclaredDebitedFunds'
          description: Information about the declared debited funds.
        DeclaredFees:
          $ref: '#/components/schemas/BankWirePayInResponseDeclaredFees'
          description: Information about the declared fees.
        WireReference:
          type: string
          description: 'Max. length: 255 characters


            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 Direct Bank Wire PayIn object.


            **Caution:** This reference is specific to each payment and must be retrieved dynamically.'
        BankAccount:
          $ref: '#/components/schemas/BankWirePayInResponseBankAccount'
          description: Information about the bank account to which the bank wire must be made by the end user. **Caution:** Do not hardcode the returned values. Mangopay may change the underlying bank details without prior notice.
        TransactionDetails:
          type: array
          items:
            $ref: '#/components/schemas/BankWirePayInResponseTransactionDetailsItems'
          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.'
      description: 'A direct bank wire pay-in:

        - `PaymentType` – `BANK_WIRE`

        - `ExecutionType` – `DIRECT`'
      title: BankWirePayInResponse
    CreateABankWirePayInRequest:
      type: object
      properties:
        Tag:
          $ref: '#/components/schemas/Tag'
        AuthorId:
          $ref: '#/components/schemas/AuthorId'
        CreditedUserId:
          $ref: '#/components/schemas/CreditedUserId'
        CreditedWalletId:
          type: string
          description: The unique identifier of the credited wallet.
        FlowDescriptor:
          $ref: '#/components/schemas/FlowDescriptorRequest'
        DeclaredDebitedFunds:
          $ref: '#/components/schemas/CreateABankWirePayInRequestDeclaredDebitedFunds'
          description: Information about the declared funds to be wired by the end user to the returned bank account.
        DeclaredFees:
          $ref: '#/components/schemas/CreateABankWirePayInRequestDeclaredFees'
          description: Information about the fees to be taken by the platform for this transaction (and hence transferred to the Fees Wallet).
        ProfilingAttemptReference:
          $ref: '#/components/schemas/ProfilingAttemptReference'
      required:
      - AuthorId
      - CreditedWalletId
      - DeclaredDebitedFunds
      - DeclaredFees
      title: CreateABankWirePayInRequest
    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
    FlowDescriptorRequestBeneficiariesItems:
      type: object
      properties:
        UserId:
          type: string
          description: The unique identifier of the Natural User or Legal User declared as a beneficiary of the pay-in.
      title: FlowDescriptorRequestBeneficiariesItems
    FlowDescriptorResponseBeneficiariesItems:
      type: object
      properties:
        UserId:
          type: string
          description: The unique identifier of the Natural User or Legal User declared as a beneficiary of the pay-in.
      title: FlowDescriptorResponseBeneficiariesItems
    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
    AuthorId:
      type: string
      description: The unique identifier of the user at the source of the transaction.
      title: AuthorId
    ProfilingAttemptReference:
      type: string
      description: 'The unique reference generated for the profiling session, used by the <a href="/guides/fraud-prevention">fraud prevention</a> solution to produce recommendations for the transaction using the profiling data.


        **Note:** Parameter not returned by the API. Profiling feature available on request – contact Mangopay <a href="https://hub.mangopay.com/" target="_blank">via the Dashboard</a> for more information.'
      title: ProfilingAttemptReference
    FlowDescriptorRequest:
      type: object
      properties:
        Beneficiaries:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/FlowDescriptorRequestBeneficiariesItems'
          description: 'Max. length: 5 items


            The list of up to 5 Natural or Legal Users declared as beneficiaries of the pay-in and its subsequent transfers, who must all be KYC/KYB verified when the pay-in request is made. The pay-in also fails if the `Beneficiaries` array contains nulled objects or invalid `UserId` values.'
      description: "Information about the Owner beneficiaries targeted by the pay-in and its subsequent transfers, who must all be KYC/KYB verified when the pay-in request is made ([read more](/guides/payin-beneficiaries)).\n\nIf the `FlowDescriptor.Beneficiaries` is sent in the API request, then:\n- The transaction's `CreditedWalletId` holder is disregarded in KYC/KYB checks.\n- **ALL** `UserId` values in the array must be one of:\n  - `OWNER` whose `KYCLevel` is `REGULAR`\n  - `PLATFORM`\n  \nThe pay-in `Status` becomes `FAILED` with `ResultCode` [002951](/errors/codes/002951) if at least one `FlowDescriptor.Beneficiaries.UserId` is:\n- `PAYER`\n- `OWNER` whose `KYCLevel` is `LIGHT`\n\nIf the `FlowDescriptor.Beneficiaries` is not sent in the API request, then the `CreditedWalletId` holder is subject to KYC/KYB checks. This property is optional for backwards compatibility but is recommended for all pay-in flows, even when the `CreditedWalletId` holder is a `PAYER` or the same value as one of the `FlowDescriptor.Beneficiaries`. \n"
      title: FlowDescriptorRequest
    BankWirePayInResponseDebitedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: 'Information about the debited funds.


        For a direct bank wire pay-in, the `DebitedFunds` displays placeholder values (currency `XXX` and amount `0`) until the `Status` changes to `SUCCEEDED`.'
      title: BankWirePayInResponseDebitedFunds
    BankWirePayInResponseDeclaredFees:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: Information about the declared fees.
      title: BankWirePayInResponseDeclaredFees
    BankWirePayInResponseTransactionDetailsItems:
      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/BankWirePayInResponseTransactionDetailsItemsReferencesItems'
          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: BankWirePayInResponseTransactionDetailsItems
    TransactionStatus:
      type: string
      description: '**Returned values:** `CREATED`, `SUCCEEDED`, `FAILED`


        The status of the transaction.'
      title: TransactionStatus
    FlowDescriptorResponse:
      type: object
      properties:
        FlowId:
          type: string
          description: Unique identifier of the payment flow, used by Mangopay for internal purposes.
        Beneficiaries:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/FlowDescriptorResponseBeneficiariesItems'
          description: 'Max. length: 5 items


            The list of up to 5 Natural or Legal Users declared as beneficiaries of the pay-in, who must all be KYC/KYB verified when the pay-in request is made. The pay-in also fails if the `Beneficiaries` array contains nulled objects or invalid `UserId` values.'
      description: "Information about the Owner beneficiaries targeted by the pay-in and its subsequent transfers, who must all be KYC/KYB verified when the pay-in request is made ([read more](/guides/payin-beneficiaries)).\n\nIf the `FlowDescriptor.Beneficiaries` is sent in the API request, then:\n- The transaction's `CreditedWalletId` holder is disregarded in KYC/KYB checks.\n- **ALL** `UserId` values in the array must be one of:\n  - `OWNER` whose `KYCLevel` is `REGULAR`\n  - `PLATFORM`\n  \nThe pay-in `Status` becomes `FAILED` with `ResultCode` [002951](/errors/codes/002951) if at least one `FlowDescriptor.Beneficiaries.UserId` is:\n- `PAYER`\n- `OWNER` whose `KYCLevel` is `LIGHT`\n\nIf the `FlowDescriptor.Beneficiaries` is not sent in the API request, then the `CreditedWalletId` holder is subject to KYC/KYB checks. This property is optional for backwards compatibility but is recommended for all pay-in flows, even when the `CreditedWalletId` holder is a `PAYER` or the same value as one of the `FlowDescriptor.Beneficiaries`.\n"
      title: FlowDescriptorResponse
    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
    ResultMessage:
      type: string
      description: The explanation of the result code.
      title: ResultMessage
    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
    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
    BankWirePayInResponseDeclaredDebitedFunds:
      type: object
      properties:
        Currency:
          $ref: '#/components/schemas/Currency'
        Amount:
          $ref: '#/components/schemas/Amount'
      description: Information about the declared debited funds.
      title: BankWirePayInResponseDeclaredDebitedFunds
    BankWirePayInResponseBankAccount:
      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. **Caution:** Do not hardcode the returned values. Mangopay may change the underlying bank details without prior notice.
      title: BankWirePayInResponseBankAccount
    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
    CreationDate:
      type: integer
      description: Unix timestamp (UTC) of the date and time the object was created.
      title: CreationDate
    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
    BankWirePayInResponseFees:
      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: BankWirePayInResponseFees
    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
    TransactionType:
      type: string
      description: '**Returned values:** `PAYIN`, `TRANSFER`, `CONVERSION`, `PAYOUT`


        The type of the transaction.'
      title: TransactionType
  securitySchemes:
    oauth2:
      type: http
      scheme: bearer
      description: "Bearer authentication of the form `Bearer <token>`, where token is your auth token. \n\nIf your platform is using a [proxy](/guides/sca/proxy-management) to take SCA-triggering action on behalf of users, you also need to integrate [mTLS authentication](/guides/sca/platform) and use the `api-mtls` base URL."
x-provenance:
  method: harvested
  publisher: Mangopay
  source: https://docs.mangopay.com/openapi.json
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)