Create a TWINT PayIn

<Note icon="fa-regular fa-circle-info"> **Note – Session timeout** The TWINT session times out after: - 15 minutes for the hosted webpage - 3 minutes once the user scans the QR code </Note> <Note icon="fa-regular fa-circle-info"> **Note – Minimum amount 0.01 CHF** On TWINT pay-ins, the minimum amount is 0.01 CHF (`DebitedFunds.Amount` value `1`). </Note> Create a TWINT PayIn

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

Max. length: 255 characters

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

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.

Response

Success
Idstring

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

The unique identifier of the object.

Tagstring

Max. length: 255 characters

Custom data that you can add to this object.

CreationDateinteger

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

AuthorIdstring
The unique identifier of the user at the source of the transaction.
CreditedUserIdstring

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

The unique identifier of the user whose wallet is credited.

FlowDescriptorobject

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.

DebitedFundsobject
Information about the debited funds.
CreditedFundsobject

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

Feesobject

Information about the fees taken by the platform for this transaction (and hence transferred to the Fees Wallet).

Statusstring

Returned values: CREATED, SUCCEEDED, FAILED

The status of the transaction.

ResultCodestring

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

ResultMessagestring
The explanation of the result code.
ExecutionDateinteger

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.

Typestring

Returned values: PAYIN, TRANSFER, CONVERSION, PAYOUT

The type of the transaction.

Naturestring

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

Returned values: TWINT

The payment type of the pay-in.

ExecutionTypestring

Returned values: WEB

The execution type of the pay-in.

ReturnURLstring

Max. length: 255 characters

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

RedirectURLstring

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.

StatementDescriptorstring

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.