The Deposit Preauthorization object

Description

The Deposit Preauthorization object enables you to reserve funds on a card so they can be captured later, using two API calls:

  • Authorization of the transaction, handled by the Deposit Preauthorization object
  • Capture of the funds, handled by the Deposit Preauthorized PayIn object

The Deposit Preauthorization object is used for two payment methods, indicated by the PaymentType:

In both cases, the capture is made with the same endpoint, POST Create a Deposit Preauthorized PayIn:

  • CARD – Within 29.5 days.
  • PAYPAL – Within 3 days as recommended by PayPal, but the technical limit is 29 days (not 29.5).

Note that preauthorizations may not be permitted by some issuers and for some card types.

Note – Multi-capture not possible with the Deposit Preauthorization

Multiple partial captures are not possible with the Deposit Preauthorization, for either CARD or PAYPAL. In both cases however, the single capture can be for an amount less than the preauthorized amount.

Attributes

Id
string

Max. length: 255 characters

CreationDate
Unix timestamp

The date and time at which the object was created.

ExpirationDate
Unix timestamp

The date and time at which the hold period ends and the preauthorized funds are released.
At the expiration date, the deposit preauthorization’s PaymentStatus changes to EXPIRED if no captures were made.

AuthorId
stringRequired

The unique identifier of the user at the source of the transaction.
Best practice: When the payout author is different from the bank account owner, the Payout AuthorId value must be different from the Bank Account UserId value as well. Otherwise, Mangopay’s Compliance team will reject the payout.

DebitedFunds
objectRequired

Information about the debited funds. The values must match those requested from Apple Pay, because they are encrypted in the PaymentData.

Currency
stringRequired

Allowed values: The three-letter ISO 4217 code (EUR, GBP, etc.) of a supported currency (depends on feature, contract, and activation settings).

The currency of the funds.

Amount
integerRequired

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

Status
string

Allowed values: ENDED

The status of the recurring registration:

  • CREATED – The recurring registration was created, but no recurring pay-in has yet been made.
  • AUTHENTICATION_NEEDED – The latest recurring pay-in linked to the registration object was refused. The registration object can still be used, but you need to execute a new customer-initiated transaction (CIT) for the end user to reauthenticate.
  • IN_PROGRESS – The recurring registration object is in use and the subsequent corresponding recurring pay-ins can be made.
  • ENDED – The recurrence ended: the registration can no longer be modified nor reused.
PaymentStatus
string

Returned values: WAITING, CANCELED, CANCEL_REQUESTED, EXPIRED, VALIDATED, FAILED

The payment status of the deposit preauthorization object:

  • WAITING – The deposit preauthorization can be used: the preauthorized funds can be captured or the preauthorization can be canceled manually.
  • CANCELED – Value to pass to manually cancel the deposit preauthorization before use; indicates that the deposit preauthorization was canceled manually.
  • CANCEL_REQUESTED – The cancellation of the deposit preauthorization has been requested but not yet processed.
  • EXPIRED – The hold period on the preauthorized funds has ended without it being used.
  • VALIDATED – Indicates that the preauthorized funds were captured.
  • FAILED – The pay-in against the preauthorization has failed, but a retry may be possible.
PayinsLinked
object

Information about the deposit preauthorized pay-ins made against the deposit preauthorization.

PayinCaptureId
string

The unique identifier of the preauthorized pay-in (capture) made against the deposit preauthorization to debit the preauthorized funds.

PayinComplementId
string

The unique identifier of the deposit preauthorized pay-in complement made against the deposit preauthorization to debit additional funds.

ResultCode
string

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

ResultMessage
string

The explanation of the result code.

CardId
stringRequired

The unique identifier of the Card object, obtained during the card registration process.

PreferredCardNetwork
string

Allowed values: VISA, MASTERCARD, CB, MAESTRO

The card network to use, as chosen by the cardholder, in case of co-branded cards.

SecureModeReturnURL
stringRequired

Max. length: 255 characters
The URL to which users are automatically returned after 3DS2 if it is triggered (i.e., if the SecureModeNeeded parameter is set to true).

SecureModeRedirectURL
string

Max. length: 255 characters
The URL to which to redirect the user to proceed to 3DS2 validation.

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.

SecureModeNeeded
boolean

Whether or not the SecureMode was used.

PaymentType
string

Returned values: CARD, DIRECT_DEBIT, PREAUTHORIZED, BANK_WIRE

The type of pay-in.

ExecutionType
string

Returned values: WEB, DIRECT, EXTERNAL_INSTRUCTION

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

Culture
stringDeprecated

The language in which the payment page is to be displayed. This deprecated parameter defaults to EN.

BrowserInfo
objectRequired

Information about the browser used by the end user (author) to perform the payment.

AcceptHeader
stringRequired

The exact content of the HTTP accept headers as sent to the platform from the end user’s browser.

JavaEnabled
booleanRequired

Whether or not the end user’s browser has the ability to execute Java.

Language
stringRequired

Format: Two-letter language code (ISO 639-1 alpha-2) followed by two-letter country code (ISO 3166-1 alpha-2), separated by a hyphen (example: en-US; pattern:^[a-zA-Z]{2}(-[a-zA-Z]{2})?$)

The language of the browser.

ColorDepth
integerRequired

The value representing the depth of the screen’s color palette for displaying images, in bits per pixel.

ScreenHeight
integerRequired

Max. length: 6 characters
The height of the screen in pixels.

ScreenWidth
integerRequired

Max. length: 6 characters
The width of the screen in pixels.

TimeZoneOffset
integerRequired

The difference in minutes between the browser’s timezone and UTC.

UserAgent
stringRequired

Max. length: 255 characters
The exact content of the HTTP User-Agent header.

JavascriptEnabled
booleanRequired

Whether or not the end user’s browser has the ability to execute JavaScript.

IpAddress
stringRequired

The IP address of the end user initiating the transaction, in IPV4 or IPV6 format.

Billing
string

Default value: FirstName, LastName, and Address information of the Shipping object if supplied.

Information about the end user billing address. If left empty, the default values will be automatically taken into account.

FirstName
string

The first name of the user.

LastName
string

Max. length: 100 characters
The last name of the user.

Address
object

Information about the billing address.

AddressLine1
stringRequired

Max. length: 255 characters The first line of the address.

AddressLine2
string

Max. length: 255 characters
The second line of the address.

City
stringRequired

Max. length: 255 characters The city of the address.

Region
string

Max. length: 255 characters
Required if Country is US, CA, or MX.

The region of the address.

PostalCode
stringRequired

Max. length: 255 characters The postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.

Country
stringRequired

Format: Two-letter country code (ISO 3166-1 alpha-2 format)

The country of the address.

Shipping
string

Default value: FirstName, LastName, and Address information of the Billing object, if supplied, otherwise of the user (author).

Information about the end user’s shipping address. If left empty, the default values will be automatically taken into account.

FirstName
string

The first name of the user.

LastName
string

Max. length: 100 characters
The last name of the user.

Address
objectRequired

Information about the shipping address.

AddressLine1
stringRequired

Max. length: 255 characters The first line of the address.

AddressLine2
string

Max. length: 255 characters
The second line of the address.

City
stringRequired

Max. length: 255 characters The city of the address.

Region
string

Max. length: 255 characters
Required if Country is US, CA, or MX.

The region of the address.

PostalCode
stringRequired

Max. length: 255 characters The postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.

Country
stringRequired

Format: Two-letter country code (ISO 3166-1 alpha-2 format)

The country of the address.

Requested3DSVersion
string

Returned values: V1, V2_1

The 3DS protocol version to be applied to the transaction.

Applied3DSVersion
string

Returned values: V1, V2_1

The 3DS protocol version applied to the transaction.

Tag
string

Custom data that can be added to this object.
In the case of the Card Registration, this parameter can be used to facilitate the link between the User object and its equivalent on your platform for instance. This value will be inherited by the Card object Tag parameter and will not be editable.

CardInfo
string

Information about the card used for the transaction. 
If the information or data is not available, null is returned.

BIN
string

The 6-digit bank identification number (BIN) of the card issuer.

IssuingBank
string

The name of the card issuer.

IssuerCountryCode
string

Format: Two-letter country code (ISO 3166-1 alpha-2 format)
The country where the card was issued.

Type
string

Returned values: DEBIT, CREDIT, CHARGE CARD.

The type of card product.

Brand
string

The card brand. Examples include: AMERICAN EXPRESS, DISCOVER, JCB, MASTERCARD, VISA, etc.
Note: The possible returned values are numerous and liable to evolve over time.

SubType
string

The subtype of the card product. Examples include: CLASSIC, GOLD, PLATINUM, PREPAID, etc.

Note: The possible returned values are numerous and liable to evolve over time.

AuthenticationResult
object | null

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

AuthenticationType
string | null

Response values: CHALLENGE, FRICTIONLESS, DIRECT_AUTHORIZATION

The type of authentication:

  • CHALLENGE – The issuer requested SCA to be enforced (for example, using 3DS).
  • FRICTIONLESS – The transaction was exempted from SCA because an exemption was granted by the issuer.
  • DIRECT_AUTHORIZATION – The transaction was sent to the issuer for authorization without any frictionless or challenge (for example, if SCA doesn’t apply).

A null value typically indicates that authentication was not requested (for example, because the request failed before being sent) or a decision was not received.

ProfilingAttemptReference
string

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.