UNPKG

@adyen/api-library

Version:

The Adyen API Library for NodeJS enables you to work with Adyen APIs.

190 lines (189 loc) 12.5 kB
import { AccountInfo } from "./accountInfo"; import { Address } from "./address"; import { Amount } from "./amount"; import { ApplicationInfo } from "./applicationInfo"; import { BrowserInfo } from "./browserInfo"; import { ForexQuote } from "./forexQuote"; import { Installments } from "./installments"; import { MerchantRiskIndicator } from "./merchantRiskIndicator"; import { Name } from "./name"; import { Recurring } from "./recurring"; import { Split } from "./split"; import { ThreeDS2RequestData } from "./threeDS2RequestData"; import { ThreeDS2Result } from "./threeDS2Result"; export declare class PaymentRequest3ds2 { "accountInfo"?: AccountInfo | null; "additionalAmount"?: Amount | null; /** * This field contains additional data, which may be required for a particular payment request. The `additionalData` object consists of entries, each of which includes the key and value. */ "additionalData"?: { [key: string]: string; }; "amount": Amount; "applicationInfo"?: ApplicationInfo | null; "billingAddress"?: Address | null; "browserInfo"?: BrowserInfo | null; /** * The delay between the authorisation and scheduled auto-capture, specified in hours. */ "captureDelayHours"?: number; /** * The shopper\'s date of birth. Format [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD */ "dateOfBirth"?: string; "dccQuote"?: ForexQuote | null; "deliveryAddress"?: Address | null; /** * The date and time the purchased goods should be delivered. Format [ISO 8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DDThh:mm:ss.sssTZD Example: 2017-07-17T13:42:40.428+01:00 */ "deliveryDate"?: Date; /** * A string containing the shopper\'s device fingerprint. For more information, refer to [Device fingerprinting](https://docs.adyen.com/risk-management/device-fingerprinting). */ "deviceFingerprint"?: string; /** * An integer value that is added to the normal fraud score. The value can be either positive or negative. */ "fraudOffset"?: number; "installments"?: Installments | null; /** * The `localizedShopperStatement` field lets you use dynamic values for your shopper statement in a local character set. If not supplied, left empty, or for cross-border transactions, **shopperStatement** is used. Adyen currently supports the ja-Kana and ja-Hani character set for Visa, Mastercard and JCB payments in Japan using Japanese cards. This character set supports: * UTF-8 based Katakana, Kanji, capital letters, numbers and special characters. * Half-width or full-width characters. */ "localizedShopperStatement"?: { [key: string]: string; }; /** * The [merchant category code](https://en.wikipedia.org/wiki/Merchant_category_code) (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant. */ "mcc"?: string; /** * The merchant account identifier, with which you want to process the transaction. */ "merchantAccount": string; /** * This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations. > We strongly recommend you send the `merchantOrderReference` value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide `retry.orderAttemptNumber`, `retry.chainAttemptNumber`, and `retry.skipRetry` values in `PaymentRequest.additionalData`. */ "merchantOrderReference"?: string; "merchantRiskIndicator"?: MerchantRiskIndicator | null; /** * Metadata consists of entries, each of which includes a key and a value. Limits: * Maximum 20 key-value pairs per request. When exceeding, the \"177\" error occurs: \"Metadata size exceeds limit\". * Maximum 20 characters per key. * Maximum 80 characters per value. */ "metadata"?: { [key: string]: string; }; /** * When you are doing multiple partial (gift card) payments, this is the `pspReference` of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the `merchantOrderReference`instead. */ "orderReference"?: string; "recurring"?: Recurring | null; /** * Defines a recurring payment type. Required when creating a token to store payment details or using stored payment details. Allowed values: * `Subscription` – A transaction for a fixed or variable amount, which follows a fixed schedule. * `CardOnFile` – With a card-on-file (CoF) transaction, card details are stored to enable one-click or omnichannel journeys, or simply to streamline the checkout process. Any subscription not following a fixed schedule is also considered a card-on-file transaction. * `UnscheduledCardOnFile` – An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or have variable amounts. For example, automatic top-ups when a cardholder\'s balance drops below a certain amount. */ "recurringProcessingModel"?: PaymentRequest3ds2.RecurringProcessingModelEnum; /** * The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens (\"-\"). Maximum length: 80 characters. */ "reference": string; /** * Some payment methods require defining a value for this field to specify how to process the transaction. For the Bancontact payment method, it can be set to: * `maestro` (default), to be processed like a Maestro card, or * `bcmc`, to be processed like a Bancontact card. */ "selectedBrand"?: string; /** * The `recurringDetailReference` you want to use for this payment. The value `LATEST` can be used to select the most recently stored recurring detail. */ "selectedRecurringDetailReference"?: string; /** * A session ID used to identify a payment session. */ "sessionId"?: string; /** * The shopper\'s email address. We recommend that you provide this data, as it is used in velocity fraud checks. > Required for Visa and JCB transactions that require 3D Secure 2 authentication if you did not include the `telephoneNumber`. */ "shopperEmail"?: string; /** * The shopper\'s IP address. We recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks). > Required for Visa and JCB transactions that require 3D Secure 2 authentication for all web and mobile integrations, if you did not include the `shopperEmail`. For native mobile integrations, the field is required to support cases where authentication is routed to the redirect flow. This field is also mandatory for some merchants depending on your business model. For more information, [contact Support](https://www.adyen.help/hc/en-us/requests/new). */ "shopperIP"?: string; /** * Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default. This field has the following possible values: * `Ecommerce` - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request. * `ContAuth` - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment). * `Moto` - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone. * `POS` - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal. */ "shopperInteraction"?: PaymentRequest3ds2.ShopperInteractionEnum; /** * The combination of a language code and a country code to specify the language to be used in the payment. */ "shopperLocale"?: string; "shopperName"?: Name | null; /** * Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. The value is case-sensitive and must be at least three characters. > Your reference must not include personally identifiable information (PII) such as name or email address. */ "shopperReference"?: string; /** * The text to be shown on the shopper\'s bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: **a-z**, **A-Z**, **0-9**, spaces, and special characters **. , \' _ - ? + * /_**. */ "shopperStatement"?: string; /** * The shopper\'s social security number. */ "socialSecurityNumber"?: string; /** * An array of objects specifying how the payment should be split when using either Adyen for Platforms for [marketplaces](https://docs.adyen.com/marketplaces/split-payments) or [platforms](https://docs.adyen.com/platforms/split-payments), or standalone [Issuing](https://docs.adyen.com/issuing/add-manage-funds#split). */ "splits"?: Array<Split>; /** * Required for Adyen for Platforms integrations if you are a platform model. This is your [reference](https://docs.adyen.com/api-explorer/Management/3/post/merchants/(merchantId)/stores#request-reference) (on [balance platform](https://docs.adyen.com/platforms)) or the [storeReference](https://docs.adyen.com/api-explorer/Account/latest/post/updateAccountHolder#request-accountHolderDetails-storeDetails-storeReference) (in the [classic integration](https://docs.adyen.com/classic-platforms/processing-payments/route-payment-to-store/#route-a-payment-to-a-store)) for the ecommerce or point-of-sale store that is processing the payment. */ "store"?: string; /** * The shopper\'s telephone number. The phone number must include a plus sign (+) and a country code (1-3 digits), followed by the number (4-15 digits). If the value you provide does not follow the guidelines, we do not submit it for authentication. > Required for Visa and JCB transactions that require 3D Secure 2 authentication, if you did not include the `shopperEmail`. */ "telephoneNumber"?: string; "threeDS2RequestData"?: ThreeDS2RequestData | null; "threeDS2Result"?: ThreeDS2Result | null; /** * The ThreeDS2Token that was returned in the /authorise call. */ "threeDS2Token"?: string; /** * Required to trigger the [authentication-only flow](https://docs.adyen.com/online-payments/3d-secure/authentication-only/). If set to **true**, you will only perform the 3D Secure 2 authentication, and will not proceed to the payment authorization.Default: **false**. */ "threeDSAuthenticationOnly"?: boolean; /** * The reference value to aggregate sales totals in reporting. When not specified, the store field is used (if available). */ "totalsGroup"?: string; /** * Set to true if the payment should be routed to a trusted MID. */ "trustedShopper"?: boolean; static readonly discriminator: string | undefined; static readonly mapping: { [index: string]: string; } | undefined; static readonly attributeTypeMap: Array<{ name: string; baseName: string; type: string; format: string; }>; static getAttributeTypeMap(): { name: string; baseName: string; type: string; format: string; }[]; constructor(); } export declare namespace PaymentRequest3ds2 { enum RecurringProcessingModelEnum { CardOnFile = "CardOnFile", Subscription = "Subscription", UnscheduledCardOnFile = "UnscheduledCardOnFile" } enum ShopperInteractionEnum { Ecommerce = "Ecommerce", ContAuth = "ContAuth", Moto = "Moto", Pos = "POS" } }