Skip to navigation

Create an Extended Preauthorized PayIn

This endpoint lets you capture funds against the ExtendedPreauthorizationId (or the deprecated DepositId) of a preauthorization made on a card or a PayPal account.

The payment method is indicated by the PaymentType of the Extended Preauthorization object:

  • CARD – Single capture possible within 29.5 days
  • PAYPAL – Single capture recommended within 3 days, but possible up to 29 days (not 29.5)

The shape of the pay-in object is the same – specific data points for card or PayPal authorizations are available via GET View an Extended Preauthorization.

Best practice - For PayPal, capture funds within 3 days

PayPal recommends that you capture preauthorized funds within 3 days. This is because the success of the capture is subject to risk and the availability of funds on the card (or other funding instrument) that the user has linked to their PayPal account.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

If your platform is using a proxy to take SCA-triggering action on behalf of users, you also need to integrate mTLS authentication 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.
CreditedWalletIdstringRequired
The unique identifier of the credited wallet.
DebitedFundsobjectRequired
Information about the debited funds.
FeesobjectRequired
Information about the fees.
ExtendedPreauthorizationIdstringOptional

Required if DepositId is not provided.

The unique identifier of the extended preauthorization.

DepositIdstringOptional

Deprecated – use ExtendedPreauthorizationId instead.

Required if ExtendedPreauthorizationId is not provided.

The unique identifier of the extended preauthorization.

TagstringOptional

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

Response

Success
AuthorIdstringOptional

Default values: The AuthorId of the Extended Preauthorization object.

The unique identifier of the user at the source of the transaction. On the Extended Preauthorized PayIn, this parameter returns the same value as the AuthorId of the Extended Preauthorization object, regardless of the value sent.

CreditedUserIdstringOptional

Default value: The AuthorId of the Extended Preauthorization object.

The unique identifier of the user whose wallet is credited. On the Extended Preauthorized PayIn, this parameter returns the same value as the AuthorId of the Extended Preauthorization object, regardless of the value sent.

CreditedWalletIdstringOptional
The unique identifier of the credited wallet.
ExtendedPreauthorizationIdstringOptional

The unique identifier of the extended preauthorization. The same unique value is also returned in the deprecated DepositId property.

The prefix of the unique identifier determines the endpoint used to create the preauthorization:

DepositIdstringOptional

Deprecated – use ExtendedPreauthorizationId instead.

The unique identifier of the extended preauthorization.

IdstringOptional

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

The unique identifier of the object.

CreationDateintegerOptional

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

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

Returned values: CREATED, SUCCEEDED, FAILED

The status of the transaction.

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

Returned values: PREAUTHORIZED

The payment type of the pay-in.

ExecutionTypestringOptional

Returned values: DIRECT

The execution type of the pay-in.

DebitedFundsobjectOptional
Information about the debited funds.
CreditedFundsobjectOptional

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

FeesobjectOptional

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

TagstringOptional

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

AuthenticationResultobjectOptional

Information about the authentication result, based on the request made by Mangopay and the decision of the issuer regarding the type of authentication to be enforced (if applicable).

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