> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.mangopay.com/api-reference/bank-wire-payins/bank-wire-payin-object/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mangopay.com/_mcp/server.
# The Bank Wire PayIn object
### Description
The Direct Bank Wire PayIn object represents a declaration of funds to be wired by the end user to the returned bank account. When the funds are received on the bank account and reconciled (i.e., matched) with the declaration, the status is updated to `SUCCEEDED` and the wallet is credited.
The object expires 1 month after creation if no funds are received.
[Learn more](/guides/payment-methods/banking/bank-wire) **→**
### Attributes
### Schema (`BankWirePayInResponse`)
```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
CreationDate:
type: integer
description: Unix timestamp (UTC) of the date and time the object was created.
title: CreationDate
ResultCode:
type: string
description: >-
The code indicating the result of the operation. This information is
mostly used to handle errors 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
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
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)).
If the `FlowDescriptor.Beneficiaries` is sent in the API request, then:
- The transaction's `CreditedWalletId` holder is disregarded in KYC/KYB
checks.
- **ALL** `UserId` values in the array must be one of:
- `OWNER` whose `KYCLevel` is `REGULAR`
- `PLATFORM`
The pay-in `Status` becomes `FAILED` with `ResultCode`
[002951](/errors/codes/002951) if at least one
`FlowDescriptor.Beneficiaries.UserId` is:
- `PAYER`
- `OWNER` whose `KYCLevel` is `LIGHT`
If 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`.
title: FlowDescriptorResponse
Currency:
type: string
description: >-
**Allowed values:** The three-letter ISO 4217
code (EUR, GBP, etc.) of a supported currency (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
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
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
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
TransactionStatus:
type: string
description: |-
**Returned values:** `CREATED`, `SUCCEEDED`, `FAILED`
The status of the transaction.
title: TransactionStatus
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
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
BankWirePayInResponseDeclaredDebitedFunds:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
description: Information about the declared debited funds.
title: BankWirePayInResponseDeclaredDebitedFunds
BankWirePayInResponseDeclaredFees:
type: object
properties:
Currency:
$ref: '#/components/schemas/Currency'
Amount:
$ref: '#/components/schemas/Amount'
description: Information about the declared fees.
title: BankWirePayInResponseDeclaredFees
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
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
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
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
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.
title: BankWirePayInResponse
```
### Related resources
#### [Guide](/guides/payment-methods/banking/bank-wire)
Learn more about bank wire pay-ins