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

# The Pay by Bank PayIn object

### Description

The Pay by Bank PayIn object allows platforms to process open banking payments, where the user authenticates directly with their bank to confirm the payment. [Read more](/guides/payment-methods/banking/pay-by-bank) **→**

### Attributes

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

  The unique identifier of the object.
</ResponseField>

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

  Custom data that you can add to this object.\
  For transactions (pay-in, transfer, payout), you can use this parameter to identify corresponding information regarding the user, transaction, or payment methods on your platform.
</ResponseField>

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

<ResponseField name="AuthorId" type="string">
  The unique identifier of the user at the source of the transaction.
</ResponseField>

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

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

      The currency of the funds.
    </ResponseField>

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

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

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

      The currency of the funds.
    </ResponseField>

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

<ResponseField name="Fees" type="object">
  Information about the fees.

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

      The currency of the fees.
    </ResponseField>

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

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

  The status of the transaction.
</ResponseField>

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

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

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

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

  The type of the transaction.
</ResponseField>

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

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

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

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

<ResponseField name="CreditedUserId" type="string">
  **Default value:** The unique identifier of the owner of the credited wallet.

  The unique identifier of the user whose wallet is credited.
</ResponseField>

<ResponseField name="PaymentType" type="string">
  **Returned values:** `PAY_BY_BANK`

  The type of pay-in.
</ResponseField>

<ResponseField name="ExecutionType" type="string">
  **Returned values:** `WEB`

  The execution type of the mandate.
</ResponseField>

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

  The URL to which the user is returned after the payment, whether the transaction is successful or not.
</ResponseField>

<ResponseField name="RedirectURL" type="string">
  The URL to which to redirect the user to complete the payment.

  **Caution:** This variable URL is specific to each payment. You must rely on the returned URL in full (host, path, and queries) and not hardcode any part of it.
</ResponseField>

<ResponseField name="StatementDescriptor" type="string">
  Max. length: 10 characters; only alphanumeric and spaces

  Custom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the <a href="/bank-statements">Customizing bank statement references</a> article for details.
</ResponseField>

<ResponseField name="Country" type="string">
  **Allowed values:** `AT`, `DE`, `DK`, `EE`, `ES`, `FI`, `FR`, `GB`, `IE`, `IT`, `LV`, `LT`, `NL`, `NO`, `PL`, `PT`.

  The country of residence of the user.
</ResponseField>

<ResponseField name="BIC" type="string">
  The BIC of the user's bank account, which is only returned if it was sent.

  If both the `IBAN` and `BIC` are provided, one of the two authentication steps required by certain banks may be avoided.
</ResponseField>

<ResponseField name="IBAN" type="string">
  The IBAN of the user's bank account, which is only returned if it was sent.

  If both the `IBAN` and `BIC` are provided, one of the two authentication steps required by certain banks may be avoided.
</ResponseField>

<ResponseField name="PaymentFlow" type="string">
  **Allowed values:** `WEB`, `APP`

  **Default value:** `WEB`

  The platform environment of the post-payment flow. The `PaymentFlow` value combines with the `ReturnURL` to manage the redirection behavior after payment:

  * Set the value to `APP` to send the user to your platform's mobile app
  * Set the value to `WEB` to send the user to a web browser

  In both cases you need to provide the relevant `ReturnURL`, whether to your app or website.
</ResponseField>

<ResponseField name="BankName" type="string">
  **Allowed values:** One of the [supported bank names](/guides/payment-methods/banking/pay-by-bank#banks-and-schemes).

  The name of the bank, which is only returned if it was sent.

  If the `BankName` is provided, the user doesn't have to select their bank when they are redirected.
</ResponseField>

<ResponseField name="Culture" type="string">
  **Allowed values:** `DA`, `CS`, `DE`, `EN`, `ET`, `ES`, `FI`, `FR`, `IT`, `LT`, `LV`, `NL`, `NO`, `PL`, `PT`, `SV`

  **Default value:** `EN`

  The language in which the Tink open banking page is to be displayed.
</ResponseField>

<ResponseField name="Scheme" type="string">
  **Allowed values:** One of the [supported schemes](/guides/payment-methods/banking/pay-by-bank#banks-and-schemes) for the `Country`.

  **Default value:** The [listed instant scheme](/guides/payment-methods/banking/pay-by-bank#banks-and-schemes) for the `Country`. If `Country` is `DK`, there is no default and the `Scheme` must be specified.

  The scheme to use to process the payment. Note that some banks may charge additional fees to the user for instant payment schemes.
</ResponseField>

<ResponseField name="ProcessingStatus" type="string">
  **Possible values:** `PENDING_SUCCEEDED`

  Parameter that is only returned once the bank wire has been successfully authenticated and initiated by the user but has not yet been received by Mangopay. When the funds are received, the `Status` changes from `CREATED` to `SUCCEEDED` and the `ProcessingStatus` is no longer returned.

  For non-instant schemes, processing can take up to 72 hours but is typically completed within 2 days.
</ResponseField>
