---
title: "Create a Bizum PayIn"
method: POST
path: "/v2.01/{ClientId}/payins/payment-methods/bizum"
tags: ["Bizum"]
---

# Create a Bizum PayIn

`POST /v2.01/{ClientId}/payins/payment-methods/bizum`

## Request

- Base URL: `https://api.sandbox.mangopay.com`
- URL: `https://api.sandbox.mangopay.com/v2.01/{ClientId}/payins/payment-methods/bizum`
- Auth: HTTP bearer

<Note icon="fa-regular fa-circle-info">
**Note – Timeout after 5 minutes** 

The payment session lasts for 5 minutes for both the phone and redirect flows, at which point the pay-in fails automatically if no action has been taken by the user.  
</Note>

Create a Bizum PayIn

There are two [Bizum](/guides/payment-methods/bizum) flows, depending on the payload sent to this endpoint: 
- **Phone** – If `Phone` is sent, the `ReturnURL` is ignored and `RedirectURL` is not returned because no redirection is necessary: the user receives a push notification from the Bizum app asking them to authenticate. In Sandbox, the `RedirectURL` is returned in all cases, because it is the only way to complete the transaction (see [testing](/testing/payment-methods#bizum)). 
- **Redirect** – If `Phone` is not sent, then `ReturnURL` is required and you must redirect the user to the `RedirectURL` in the response so they can enter their phone number themselves.

## Path parameters

- `ClientId` string, required

## Request body

- CreateABizumPayInRequest
  - `Tag` string: 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}"`.
  - `AuthorId` string, required: The unique identifier of the user at the source of the transaction.
  - `DebitedFunds` CreateABizumPayInRequestDebitedFunds, required: Information about the debited funds.
    - `Currency` string, required: **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.
    - `Amount` integer, required: 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`.
  - `Fees` CreateABizumPayInRequestFees, required: Information about the fees.
    - `Currency` string, required: **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.
    - `Amount` integer, required: 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`.
  - `CreditedWalletId` string, required: The unique identifier of the credited wallet.
  - `FlowDescriptor` FlowDescriptorRequest: 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`.
    - `Beneficiaries` FlowDescriptorRequestBeneficiariesItems[], nullable: 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.
      - `UserId` string: The unique identifier of the Natural User or Legal User declared as a beneficiary of the pay-in.
  - `StatementDescriptor` 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.
  - `ReturnURL` string: Max. length: 255 characters The URL to which the user is returned after the payment, whether the transaction is successful or not. Required if `Phone` is not sent.
  - `Phone` string: Format: International E.164 standard (preceded by plus sign and country code, `+34` in Spain); pattern: `^(\\+?34)?[6-9][0-9]{8}$` The phone number of the end user to which the Bizum push notification is sent to authenticate the transaction. If the `Phone` parameter is sent, then `RedirectURL` is not returned and `ReturnURL` is ignored.
  - `ProfilingAttemptReference` string: 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.

## Response `200`

Success

- BizumPayInResponse: A Bizum pay-in: - `PaymentType` – `BIZUM` - `ExecutionType` – `WEB`
  - `Id` string: Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details) The unique identifier of the object.
  - `Tag` string: 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}"`.
  - `CreationDate` integer: Unix timestamp (UTC) of the date and time the object was created.
  - `AuthorId` string: The unique identifier of the user at the source of the transaction.
  - `DebitedFunds` BizumPayInResponseDebitedFunds: Information about the debited funds.
    - `Currency` string: **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.
    - `Amount` integer: 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`.
  - `CreditedFunds` BizumPayInResponseCreditedFunds: Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).
    - `Currency` string: **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.
    - `Amount` integer: 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`.
  - `Fees` BizumPayInResponseFees: Information about the fees.
    - `Currency` string: **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.
    - `Amount` integer: 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`.
  - `Status` string: **Returned values:** `CREATED`, `SUCCEEDED`, `FAILED` The status of the transaction.
  - `ResultCode` 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.
  - `ResultMessage` string: The explanation of the result code.
  - `ExecutionDate` integer: 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`.
  - `Type` string: **Returned values:** `PAYIN`, `TRANSFER`, `CONVERSION`, `PAYOUT` The type of the transaction.
  - `Nature` 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.
  - `CreditedWalletId` string: The unique identifier of the credited wallet.
  - `CreditedUserId` string: **Default value:** The unique identifier of the owner of the credited wallet. The unique identifier of the user whose wallet is credited.
  - `FlowDescriptor` FlowDescriptorResponse: 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`.
    - `FlowId` string: Unique identifier of the payment flow, used by Mangopay for internal purposes.
    - `Beneficiaries` FlowDescriptorResponseBeneficiariesItems[], nullable: 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.
      - `UserId` string: The unique identifier of the Natural User or Legal User declared as a beneficiary of the pay-in.
  - `PaymentType` string: **Returned values:** `BIZUM` The payment type of the pay-in.
  - `ExecutionType` string: **Returned values:** `WEB` The execution type of the pay-in.
  - `Phone` string: Format: International E.164 standard (preceded by plus sign and country code, `+34` in Spain); pattern: `^(\\+?34)?[6-9][0-9]{8}$` The phone number of the end user to which the Bizum push notification is sent to authenticate the transaction. On Bizum, if the `Phone` parameter is sent, then `RedirectURL` is not returned and `ReturnURL` not required.
  - `ReturnURL` string: Max. length: 255 characters The URL to which the user is returned after the payment, whether the transaction is successful or not.
  - `RedirectURL` 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.
  - `StatementDescriptor` 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.

## Other responses

- `400`: Bad Request

## Changes

- **2026-09-17** `f44a59c76515`: 1 warning, 1 info
  - deleted the `header` request parameter `Authorization`
  - the endpoint scheme security `oauth2` was added to the API
- **2026-09-12** `8e731ec4a85b`: 1 info
  - api operation id `create_bizum_payin` removed and replaced with `bizum_create_bizum_payin`

[Operation history](https://skmtc.dev/mangopay/apis/mangopay/changes/v2.01/:ClientId/payins/payment-methods/bizum/post.md)

---

[API](https://skmtc.dev/mangopay/apis/mangopay.md) - [All operations](https://skmtc.dev/mangopay/apis/mangopay/llms.txt) - [OpenAPI document](https://skmtc.dev/mangopay/apis/mangopay/revisions/380b21eb80ae?raw)
