Create a Bizum PayIn

<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.

Authentication

AuthorizationBearer
Bearer authentication of the form `Bearer <token>`, where token is your auth token. If 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.

Path parameters

ClientIdstringRequired
Platform's API account identifier, associated with the API key.

Request

This endpoint expects an object.
AuthorIdstringRequired
The unique identifier of the user at the source of the transaction.
DebitedFundsobjectRequired
Information about the debited funds.
FeesobjectRequired
Information about the fees.
CreditedWalletIdstringRequired
The unique identifier of the credited wallet.
TagstringOptional

Max. length: 255 characters

Custom data that you can add to this object.

FlowDescriptorobjectOptional

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

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 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.

StatementDescriptorstringOptional

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 Customizing bank statement references article for details.

ReturnURLstringOptional

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.

PhonestringOptional

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.

ProfilingAttemptReferencestringOptional

The unique reference generated for the profiling session, used by the fraud prevention 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 via the Dashboard for more information.

Response

Success
IdstringOptional

Max length: 128 characters (see data formats for details)

The unique identifier of the object.

TagstringOptional

Max. length: 255 characters

Custom data that you can add to this object.

CreationDateintegerOptional

Unix timestamp (UTC) of the date and time the object was created.

AuthorIdstringOptional
The unique identifier of the user at the source of the transaction.
DebitedFundsobjectOptional
Information about the debited funds.
CreditedFundsobjectOptional

Information about the credited funds (CreditedFunds = DebitedFunds - Fees).

FeesobjectOptional
Information about the fees.
StatusstringOptional

Returned values: CREATED, SUCCEEDED, FAILED

The status of the transaction.

ResultCodestringOptional

The code indicating the result of the operation. This information is mostly used to handle errors or for filtering purposes.

ResultMessagestringOptional
The explanation of the result code.
ExecutionDateintegerOptional

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.

TypestringOptional

Returned values: PAYIN, TRANSFER, CONVERSION, PAYOUT

The type of the transaction.

NaturestringOptional

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.
CreditedWalletIdstringOptional
The unique identifier of the credited wallet.
CreditedUserIdstringOptional

Default value: The unique identifier of the owner of the credited wallet.

The unique identifier of the user whose wallet is credited.

FlowDescriptorobjectOptional

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

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 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.

PaymentTypestringOptional

Returned values: BIZUM

The payment type of the pay-in.

ExecutionTypestringOptional

Returned values: WEB

The execution type of the pay-in.

PhonestringOptional

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.

ReturnURLstringOptional

Max. length: 255 characters

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

RedirectURLstringOptional

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.

StatementDescriptorstringOptional

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 Customizing bank statement references article for details.

Errors

400
Bad Request Error