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: 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)