Adyen · JSON Structure

Checkout Payment Link Request Structure

PaymentLinkRequest schema from Adyen API

Type: object Properties: 38 Required: 3
PaymentsFinancial ServicesFintech

PaymentLinkRequest is a JSON Structure definition published by Adyen, describing 38 properties, of which 3 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

allowedPaymentMethods amount applicationInfo billingAddress blockedPaymentMethods captureDelayHours countryCode dateOfBirth deliverAt deliveryAddress description expiresAt installmentOptions lineItems manualCapture mcc merchantAccount merchantOrderReference metadata recurringProcessingModel reference requiredShopperFields returnUrl reusable riskData shopperEmail shopperLocale shopperName shopperReference shopperStatement showRemovePaymentMethodButton socialSecurityNumber splitCardFundingSources splits store storePaymentMethodMode telephoneNumber themeId

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/adyen/refs/heads/main/json-structure/checkout-payment-link-request-structure.json",
  "description": "PaymentLinkRequest schema from Adyen API",
  "type": "object",
  "properties": {
    "allowedPaymentMethods": {
      "description": "List of payment methods to be presented to the shopper. To refer to payment methods, use their [payment method type](https://docs.adyen.com/payment-methods/payment-method-types).\n\nExample: `\"allowedPaymentMethods\":[\"ideal\",\"giropay\"]`",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "amount": {
      "description": "The payment amount and currency.",
      "$ref": "#/components/schemas/Amount"
    },
    "applicationInfo": {
      "description": "Information about your application. For more details, see [Building Adyen solutions](https://docs.adyen.com/development-resources/building-adyen-solutions).",
      "$ref": "#/components/schemas/ApplicationInfo"
    },
    "billingAddress": {
      "description": "The address where to send the invoice.",
      "$ref": "#/components/schemas/Address"
    },
    "blockedPaymentMethods": {
      "description": "List of payment methods to be hidden from the shopper. To refer to payment methods, use their [payment method type](https://docs.adyen.com/payment-methods/payment-method-types).\n\nExample: `\"blockedPaymentMethods\":[\"ideal\",\"giropay\"]`",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "captureDelayHours": {
      "x-addedInVersion": "69",
      "description": "The delay between the authorisation and scheduled auto-capture, specified in hours.",
      "type": "int32"
    },
    "countryCode": {
      "description": "The shopper's two-letter country code.",
      "type": "string"
    },
    "dateOfBirth": {
      "x-addedInVersion": "69",
      "description": "The shopper's date of birth.\n\nFormat [ISO-8601](https://www.w3.org/TR/NOTE-datetime): YYYY-MM-DD",
      "type": "date"
    },
    "deliverAt": {
      "description": "The date and time when the purchased goods should be delivered.\n\n[ISO 8601](https://www.w3.org/TR/NOTE-datetime) format: YYYY-MM-DDThh:mm:ss+TZD, for example, **2020-12-18T10:15:30+01:00**.",
      "type": "datetime"
    },
    "deliveryAddress": {
      "description": "The address where the purchased goods should be delivered.",
      "$ref": "#/components/schemas/Address"
    },
    "description": {
      "description": "A short description visible on the payment page.\nMaximum length: 280 characters.",
      "type": "string"
    },
    "expiresAt": {
      "x-addedInVersion": "71",
      "description": "The date when the payment link expires.\n\n[ISO 8601](https://www.w3.org/TR/NOTE-datetime) format with time zone offset: YYYY-MM-DDThh:mm:ss+TZD, for example, **2020-12-18T10:15:30+01:00**.\n\nThe maximum expiry date is 70 days after the payment link is created.\n\nIf not provided, the payment link expires 24 hours after it was created.",
      "type": "datetime"
    },
    "installmentOptions": {
      "additionalProperties": {
        "$ref": "#/components/schemas/InstallmentOption"
      },
      "description": "A set of key-value pairs that specifies the installment options available per payment method. The key must be a payment method name in lowercase. For example, **card** to specify installment options for all cards, or **visa** or **mc**. The value must be an object containing the installment options.",
      "type": "object"
    },
    "lineItems": {
      "description": "Price and product information about the purchased items, to be included on the invoice sent to the shopper.\nThis parameter is required for open invoice (_buy now, pay later_) payment methods such Afterpay, Clearpay, Klarna, RatePay, and Zip.",
      "items": {
        "$ref": "#/components/schemas/LineItem"
      },
      "type": "array"
    },
    "manualCapture": {
      "description": "Indicates if the payment must be [captured manually](https://docs.adyen.com/online-payments/capture).",
      "type": "boolean"
    },
    "mcc": {
      "x-addedInVersion": "69",
      "description": "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.",
      "type": "string"
    },
    "merchantAccount": {
      "description": "The merchant account identifier for which the payment link is created.",
      "type": "string"
    },
    "merchantOrderReference": {
      "description": "This reference allows linking multiple transactions to each other for reporting purposes (for example, order auth-rate). The reference should be unique per billing cycle.",
      "type": "string"
    },
    "metadata": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Metadata consists of entries, each of which includes a key and a value.\nLimitations:\n* Maximum 20 key-value pairs per request. Otherwise, error \"177\" occurs: \"Metadata size exceeds limit\"\n* Maximum 20 characters per key. Otherwise, error \"178\" occurs: \"Metadata key size exceeds limit\"\n* A key cannot have the name `checkout.linkId`. Any value that you provide with this key is going to be replaced by the real payment link ID.",
      "maxLength": 80,
      "type": "object"
    },
    "recurringProcessingModel": {
      "description": "Defines a recurring payment type. Required when `storePaymentMethodMode` is set to **askForConsent** or **enabled**.\nPossible values:\n* **Subscription** \u2013 A transaction for a fixed or variable amount, which follows a fixed schedule.\n* **CardOnFile** \u2013 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.\n* **UnscheduledCardOnFile** \u2013 An unscheduled card-on-file (UCoF) transaction is a transaction that occurs on a non-fixed schedule and/or has variable amounts. For example, automatic top-ups when a cardholder's balance drops below a certain amount.\n",
      "enum": [
        "CardOnFile",
        "Subscription",
        "UnscheduledCardOnFile"
      ],
      "type": "string"
    },
    "reference": {
      "description": "A reference that is used to uniquely identify the payment in future communications about the payment status.",
      "type": "string"
    },
    "requiredShopperFields": {
      "x-addedInVersion": "67",
      "description": "List of fields that the shopper has to provide on the payment page before completing the payment. For more information, refer to [Provide shopper information](https://docs.adyen.com/unified-commerce/pay-by-link/payment-links/api#shopper-information).\n\nPossible values:\n* **billingAddress** \u2013 The address where to send the invoice.\n* **deliveryAddress** \u2013 The address where the purchased goods should be delivered.\n* **shopperEmail** \u2013 The shopper's email address.\n* **shopperName** \u2013 The shopper's full name.\n* **telephoneNumber** \u2013 The shopper's phone number.\n",
      "items": {
        "enum": [
          "billingAddress",
          "deliveryAddress",
          "shopperEmail",
          "shopperName",
          "telephoneNumber"
        ],
        "type": "string"
      },
      "type": "array"
    },
    "returnUrl": {
      "description": "Website URL used for redirection after payment is completed.\nIf provided, a **Continue** button will be shown on the payment page. If shoppers select the button, they are redirected to the specified URL.",
      "type": "string"
    },
    "reusable": {
      "description": "Indicates whether the payment link can be reused for multiple payments. If not provided, this defaults to **false** which means the link can be used for one successful payment only.",
      "type": "boolean"
    },
    "riskData": {
      "x-addedInVersion": "65",
      "description": "Any risk-related settings to apply to the payment.",
      "$ref": "#/components/schemas/RiskData"
    },
    "shopperEmail": {
      "description": "The shopper's email address.",
      "type": "string"
    },
    "shopperLocale": {
      "description": "The language to be used in the payment page, specified by a combination of a language and country code. For example, `en-US`.\n\nFor a list of shopper locales that Pay by Link supports, refer to [Language and localization](https://docs.adyen.com/unified-commerce/pay-by-link/payment-links/api#language).",
      "type": "string"
    },
    "shopperName": {
      "description": "The shopper's full name. This object is required for some payment methods such as AfterPay, Klarna, or if you're enrolled in the PayPal Seller Protection program.",
      "$ref": "#/components/schemas/Name"
    },
    "shopperReference": {
      "description": "Your reference to uniquely identify this shopper, for example user ID or account ID. Minimum length: 3 characters.\n> Your reference must not include personally identifiable information (PII), for example name or email address.",
      "maxLength": 256,
      "minLength": 3,
      "type": "string"
    },
    "shopperStatement": {
      "x-addedInVersion": "69",
      "description": "The text to be shown on the shopper's bank statement.\n We recommend sending a maximum of 22 characters, otherwise banks might truncate the string.\n Allowed characters: **a-z**, **A-Z**, **0-9**, spaces, and special characters **. , ' _ - ? + * /**.",
      "type": "string"
    },
    "showRemovePaymentMethodButton": {
      "default": true,
      "description": "Set to **false** to hide the button that lets the shopper remove a stored payment method.",
      "type": "boolean"
    },
    "socialSecurityNumber": {
      "x-addedInVersion": "69",
      "description": "The shopper's social security number.",
      "type": "string"
    },
    "splitCardFundingSources": {
      "x-addedInVersion": "69",
      "default": false,
      "description": "Boolean value indicating whether the card payment method should be split into separate debit and credit options.",
      "type": "boolean"
    },
    "splits": {
      "description": "An array of objects specifying how to split a payment when using [Adyen for Platforms](https://docs.adyen.com/marketplaces-and-platforms/processing-payments#providing-split-information), [Classic Platforms integration](https://docs.adyen.com/marketplaces-and-platforms/classic/processing-payments#providing-split-information), or [Issuing](https://docs.adyen.com/issuing/manage-funds#split).",
      "items": {
        "$ref": "#/components/schemas/Split"
      },
      "type": "array"
    },
    "store": {
      "description": "The physical store, for which this payment is processed.",
      "type": "string"
    },
    "storePaymentMethodMode": {
      "x-addedInVersion": "68",
      "description": "Indicates if the details of the payment method will be stored for the shopper. Possible values:\n* **disabled** \u2013 No details will be stored (default).\n* **askForConsent** \u2013 If the `shopperReference` is provided, the UI lets the shopper choose if they want their payment details to be stored.\n* **enabled** \u2013 If the `shopperReference` is provided, the details will be stored without asking the shopper for consent. \n When set to **askForConsent** or **enabled**, you must also include the `recurringProcessingModel` parameter.",
      "enum": [
        "askForConsent",
        "disabled",
        "enabled"
      ],
      "type": "string"
    },
    "telephoneNumber": {
      "x-addedInVersion": "68",
      "description": "The shopper's telephone number.",
      "type": "string"
    },
    "themeId": {
      "x-addedInVersion": "67",
      "description": "A [theme](https://docs.adyen.com/unified-commerce/pay-by-link/payment-links/api#themes) to customize the appearance of the payment page. If not specified, the payment page is rendered according to the theme set as default in your Customer Area.",
      "type": "string"
    }
  },
  "required": [
    "amount",
    "reference",
    "merchantAccount"
  ],
  "name": "PaymentLinkRequest"
}