JPMorgan Chase Checkout Intent API

Operations related to setting up and managing checkout sessions.

Operations 1

POST /checkout/intent Set up checkout intent

Documentation

📖
Documentation
https://developer.payments.jpmorgan.com/api
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fembedded-finance-solutions%2Fembedded-payments%2Fonboarding-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Fconsumer-profile%2Fconsumer-profile-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Ftokenization%2Ftokenization-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Freporting%2Freporting-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ftreasury%2Freceivables%2Frequest-to-pay-api.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Fonline-payments%2Fcheckout%2Fcheckout-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Fdispute-management%2Fdispute-management-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ffraud-solutions%2Falerts-and-decisioning%2Foas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Fproduct-configuration%2Fproduct-configuration-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2F3-d-secure%2F3-d-secure-1.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Faccount-updater%2Faccount-updater-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ftreasury%2Fglobal-payments%2Fglobal-payments%2Fglobal-payments-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fliquidity-account-solutions%2Fbda-balances%2Faccounts-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Ffraud-solutions%2Fvalidation-services%2Fvalidation-services-oas.md
📖
APIReference
https://developer.payments.jpmorgan.com/api/llm-content?path=en%2Fapi%2Fcommerce%2Foptimization-protection%2Fwallet-decryption%2Fwallet-decryption-oas.md

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/jp-morgan-chase-checkout-intent-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

jp-morgan-chase-checkout-intent-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Checkout Intent API
  description: The Checkout API provides a unified interface for merchants to enable consumer checkout and accept payments within their overall commerce experience.
  version: 1.9.2
  contact:
    name: Checkout API Support
    url: https://developer.payments.jpmorgan.com/contact/support
    email: ms.pit.team@jpmorgan.com
servers:
- url: https://merchant-api.checkout.merchant.jpmorgan.com/v1
  description: PRODUCTION - OAUTH
- url: https://merchant-api.checkout-cat.merchant.jpmorgan.com/v1
  description: CLIENT TESTING - OAUTH
- url: https://api-mock.payments.jpmorgan.com/v1
  description: MOCK
security:
- BearerAuth: []
tags:
- name: Checkout Intent
  description: Operations related to setting up and managing checkout sessions.
paths:
  /checkout/intent:
    post:
      summary: Set up checkout intent
      tags:
      - Checkout Intent
      description: Create a Checkout Session JWT to be used by follow-up requests to perform checkout operations.
      parameters:
      - name: merchantId
        in: header
        required: true
        schema:
          type: string
        description: Identifies a merchant acquiring account that processes transactions on any of the Firm's payment processing systems or a merchant acquiring account from an external system in the case where the Firm is not the acquirer. When the Firm is the acquirer, the hierarchy level should be defined by corresponding attribute merchant hierarchy level code. The processing system that generated the identifier is defined by the Merchant Identifier System Code
        examples:
          Auth Only:
            value: '998482157630'
          Auth And Capture:
            value: '998482157631'
          Auth, Capture and Create profile:
            value: '998482157632'
          Auth, Capture with 3DS Authentication:
            value: '998482157633'
      - name: requestId
        in: header
        required: true
        schema:
          type: string
          maxLength: 22
        description: Merchant identifier for the request. The value must be unique.
        examples:
          Auth Only:
            value: '993264242060'
          Auth And Capture:
            value: '993264242061'
          Auth, Capture and Create profile:
            value: '993264242062'
          Auth, Capture with 3DS Authentication:
            value: '993264242063'
      - name: segmentId
        in: header
        schema:
          type: string
          example: '998482157630_01'
        description: A unique identifier that specifies the Checkout Segment for a session. A segment represents an instance of Checkout that is customized to serve a distinct use case
      - name: platformId
        in: header
        schema:
          type: string
          example: '9999999100'
        description: Identifies the platform used to facilitate the transaction request.
      requestBody:
        description: SetupCheckoutIntentRequest defines a request for the Set Up Checkout Intent endpoint.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/checkoutIntentRequest'
            examples:
              Auth Only:
                value:
                  currencyCode: USD
                  merchantOrderNumber: X1G5VZMxplIm1tRRcrC85o
                  checkoutOptions:
                    authorization:
                      authorizationType: AUTH_METHOD_CART_AMOUNT
                    capture:
                      captureMethod: CAPTURE_METHOD_MANUAL
                  cart:
                    totalTransactionAmount: 1000
              Auth And Capture:
                value:
                  currencyCode: USD
                  merchantOrderNumber: X1G5VZMxplIm1tRRcrC85o
                  checkoutOptions:
                    authorization:
                      authorizationType: AUTH_METHOD_CART_AMOUNT
                    capture:
                      captureMethod: CAPTURE_METHOD_NOW
                  cart:
                    totalTransactionAmount: 1000
              Auth, Capture and Create profile:
                value:
                  currencyCode: USD
                  merchantOrderNumber: X1G5VZMxplIm1tRRcrC85o
                  checkoutOptions:
                    authorization:
                      authorizationType: AUTH_METHOD_CART_AMOUNT
                    capture:
                      captureMethod: CAPTURE_METHOD_NOW
                    consumerProfileOptions:
                      isSaveConsumerProfile: true
                  cart:
                    totalTransactionAmount: 1000
              Auth, Capture with 3DS Authentication:
                value:
                  currencyCode: USD
                  merchantOrderNumber: X1G5VZMxplIm1tRRcrC85o
                  checkoutOptions:
                    authorization:
                      authorizationType: AUTH_METHOD_CART_AMOUNT
                    capture:
                      captureMethod: CAPTURE_METHOD_NOW
                    paymentCardAuthenticationRequest:
                      threeDSChallengeType: CHALLENGE_TYPE_NO_CHALLENGE_REQUESTED
                      cardholderAccountHistory:
                        accountCreateTimestamp: '2023-06-04T11:55:20.021Z'
                        accountUpdateTimestamp: '2023-06-06T10:00:20.021Z'
                        cardFirstUsedDate: '2022-10-02T10:00:20.051Z'
                        consumerAccount24HoursAddCardCount: 1
                        consumerAccountPasswordUpdateTimestamp: '2023-12-04T12:11:54.021Z'
                        last24HoursTransactionCount: 0
                        lastYearTransactionCount: 10
                        last6MonthsPurchaseCount: 5
                        consumerAccountSuspiciousActivityIndicator: false
                        consumerAccountAddressIdenticalIndicator: true
                        consumerShippingAddressFirstUsageDate: '2023-12-06T12:11:54.021Z'
                        consumerShipToNameIdenticalIndicator: true
                      purchaseInfo:
                        lastPurchaseDate: '2023-12-06T12:11:54.021Z'
                        merchantFraudRiskAssessment:
                          shipmentType: SHIPPING_METHOD_SHIP_TO_BILLING_ADDRESS
                          deliveryTimeframe: DELIVERY_TYPE_SAME_DAY_SHIPPING
                          orderEmailAddress: john.doe@gmail.com
                      requestorAuthenticationInfo:
                        requestorAuthenticationMethod: REQUESTOR_AUTHENTICATION_METHOD_REQUESTOR_CRED
                        threeDSAuthenticationTimestamp: '2023-12-06T16:31:54.021Z'
                      requestorPriorTransactionAuthenticationInfo:
                        requestorAuthenticationMethod: PRIOR_AUTHENTICATION_METHOD_FRICTIONLESS_AUTHENTICATION_BY_ACS
                        threeDSAuthenticationTimestamp: '2023-12-06T16:31:54.021Z'
                  cart:
                    totalTransactionAmount: 1000
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/checkoutIntentResponse'
              examples:
                Auth Only:
                  value:
                    checkoutSessionToken: X1G5VZMxplIm1tRRcrC85o
                Auth And Capture:
                  value:
                    checkoutSessionToken: X1G5VZMxplIm1tRRcrC85o
                Auth, Capture and Create profile:
                  value:
                    checkoutSessionToken: X1G5VZMxplIm1tRRcrC85o
                Auth, Capture with 3DS Authentication:
                  value:
                    checkoutSessionToken: X1G5VZMxplIm1tRRcrC85o
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '404':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '408':
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/messages'
components:
  schemas:
    recurringPaymentDetails:
      description: Information required for recurring payments.
      type: object
      properties:
        paymentAgreemendId:
          description: A merchant generated identifier for a contract presented to the merchant's consumer whom has acknowledged the acceptance in order to use the product or service in exchange of a recurring payment. The program (subscription) allows a consumer to receive products/services on a regular basis and be automatically charged on their preferred method of payment according to the chosen frequency.
          type: string
    paymentMethodOptions:
      description: Defines payment method options.
      type: object
      properties:
        acceptedPaymentMethodTypes:
          type: array
          minItems: 0
          description: A list of the payment method types (e.g., card) that this Checkout Session can accept. If not specified, then defaults to configured merchant settings.
          items:
            $ref: '#/components/schemas/paymentMethodType'
        klarnaOptions:
          $ref: '#/components/schemas/klarnaOptions'
    fraudCheckOptions:
      description: Fraud Check Options
      type: object
      properties:
        ignoreDeviceData:
          description: Indicates if the device data should not be factored in for fraud analysis
          type: boolean
        consumerCreateTimestamp:
          description: Designates the hour, minute and second in a specific day when the consumer was first created or registered within the merchant system.
          type: string
    installmentPaymentDetails:
      description: Information required for installment payments.
      type: object
      properties:
        paymentPlanId:
          description: A unique identifier for a payment program or contract offered by the merchant for products or services that include product pricing and billing frequency.
          type: string
    cart:
      description: Consumer Shopping Cart
      type: object
      properties:
        totalTransactionAmount:
          description: Specifies the monetary value of the transaction performed in the transaction currency. This is the aggregate sum of all transactional amount.
          type: integer
          format: int64
        lineItems:
          type: array
          minItems: 0
          description: List Of Line Items
          items:
            $ref: '#/components/schemas/lineItem'
        shippingAddress:
          $ref: '#/components/schemas/address'
        totalFeeAmount:
          description: The total amount of a charge, to be paid prior to, or at origination, regardless of who is paying. This is the aggregate sum of all transactional charges.
          type: integer
          format: int64
        transactionDiscountAmount:
          description: Monetary value of total discount amount applied to the payment.
          type: integer
          format: int64
        discounts:
          type: array
          minItems: 0
          description: List of discounts
          items:
            $ref: '#/components/schemas/discount'
        transactionCharges:
          type: array
          minItems: 0
          description: List of Transactional Charges
          items:
            $ref: '#/components/schemas/transactionalCharge'
        taxAmount:
          description: Monetary value of the tax amount assessed to the payment.
          type: integer
          format: int64
        totalShippingAmount:
          description: Specifies the monetary value to be paid for the postage and related transportation to get a package from the shipping carrier to the consumer for all items purchased. This is the aggregate sum of all shipping costs.
          type: integer
          format: int32
        taxes:
          type: array
          minItems: 0
          description: List of Tax Rate
          items:
            $ref: '#/components/schemas/tax'
        shippingMethods:
          type: array
          minItems: 0
          description: List of Shipping Methods
          items:
            $ref: '#/components/schemas/shippingMethod'
        cartMetadata:
          description: A map (key-value pairs) providing additional metadata or custom information related to the cart, as sent by the merchant.
          type: object
          additionalProperties:
            type: string
        paymentNotes:
          description: Notes in the payment to specify the reason if the payment amount is not same as billing scheduled amount.
          type: string
    validationMessage:
      description: Information about errors occurred in transaction validation
      type: object
      properties:
        code:
          $ref: '#/components/schemas/code'
        message:
          $ref: '#/components/schemas/message'
        entity:
          description: The moniker given to the module or program where the error generated.
          type: string
    capture:
      description: Capture Option
      type: object
      properties:
        captureMethod:
          description: Codifies how the Acceptor (merchant) or the Firm maintains the completed (captured) payment processing transactions during the processing day prior to being submitted for settlement. Typically, this is determined by the merchant's business or system processes.
          type: string
          enum:
          - CAPTURE_METHOD_MANUAL
          - CAPTURE_METHOD_NOW
    subMerchantSupplementalData:
      description: Additionsl data provided by merchant for reference purposes.
      type: object
      properties:
        merchantIdentification:
          $ref: '#/components/schemas/merchantIdentification'
    klarnaOptions:
      description: Codifies consumer choices and industry data provided by merchant to complete the payment with Klarna payment provider.
      type: object
      properties:
        interoperabilityToken:
          description: Provides textual information of details about the consumer's choices during payment at checkout such as installment plans, "buy now, pay later" services, etc. they have accepted on the merchant site. The local payment method provider generates this token and passes it to the Firm during Checkout. On completion of the payment capture, the Firm passes the interoperability token back to the local payment method provider for details on completing the payment processing.
          type: string
          minLength: 1
          maxLength: 8192
    paymentCardAuthenticationRequest:
      description: paymentCardAuthenticationRequest models SCA request data which will be sent to 3DS provider if the Shopper is using a payment card as a payment method. This message is used by SetupCheckoutIntent API and must be populated if the Merchant wants (or must) use SCA for payment card transactions. Any change on paymentCardAuthenticationRequest must be backward compatible
      type: object
      properties:
        threeDSChallengeType:
          description: Indicates whether a challenge is requested for this transaction.
          type: string
          enum:
          - CHALLENGE_TYPE_NO_PREFERENCE
          - CHALLENGE_TYPE_NO_CHALLENGE_REQUESTED
          - CHALLENGE_TYPE_CHALLENGE_REQUESTED
          - CHALLENGE_TYPE_CHALLENGE_MANDATED
          - CHALLENGE_TYPE_NO_CHALLENGE_TRANSACTION_RISK_ANALYZED
          - CHALLENGE_TYPE_NO_CHALLENGE_DATA_SHARE_ONLY
          - CHALLENGE_TYPE_NO_CHALLENGE_SCA_ALREADY_COMPLETED
          - CHALLENGE_TYPE_NO_CHALLENGE_TRUSTED
        cardholderAccountHistory:
          $ref: '#/components/schemas/cardholderAccountHistory'
        purchaseInfo:
          $ref: '#/components/schemas/purchaseInfo'
        requestorAuthenticationInfo:
          $ref: '#/components/schemas/requestorAuthenticationInfo'
        requestorPriorTransactionAuthenticationInfo:
          $ref: '#/components/schemas/requestorPriorTransactionAuthenticationInfo'
        SCAExemptionReason:
          description: Indicates the justification why a transaction does not have to meet Strong Customer Authentication (SCA) requirements.
          type: string
          enum:
          - SCA_EXEMPTION_TRUSTED_MERCHANT
          - SCA_EXEMPTION_SECURE_CORPORATE_PAYMENT
          - SCA_EXEMPTION_TRANSACTION_RISK_ANALYSIS
          - SCA_EXEMPTION_LOW_VALUE_PAYMENT
          - SCA_EXEMPTION_MERCHANT_INITIATED_TRANSACTION
          - SCA_EXEMPTION_RECURRING_PAYMENT
          - SCA_EXEMPTION_DELEGATION
        authenticationType:
          description: Codifies the 3DS authentication type requested by the service provider when processing a payment for the service provided or goods sold.
          type: string
          enum:
          - AUTHENTICATION_TYPE_DEFAULT
          - AUTHENTICATION_TYPE_EXEMPTION
          - AUTHENTICATION_TYPE_AUTHENTICATION
    purchaseInfo:
      description: Purchase information.
      type: object
      properties:
        lastPurchaseDate:
          description: Designates the year, month and day of the most recent purchase which occurred on the Cardholder account.
          type: string
        paymentFrequency:
          description: Minimum number of days between authorizations.
          type: string
        merchantFraudRiskAssessment:
          $ref: '#/components/schemas/merchantFraudRiskAssessment'
        purchasedItemCount:
          description: The number of items in the sale for the payment processing request.
          type: integer
          minimum: 0
          maximum: 99
          format: int32
    requestorPriorTransactionAuthenticationInfo:
      description: Information about how the 3DS Requestor authenticated the cardholder as part of a previous 3DS transaction.
      type: object
      properties:
        acsTransactionId:
          description: A unique identifier for the Three Domain Secure (3-D Secure or 3DS) Requestor (merchant) authentication of the cardholder before or during the transaction.
          type: string
        requestorAuthenticationMethod:
          description: Codifies how the Three Domain Secure (3-D Secure or 3DS) Requestor (merchant) authenticated the cardholder before or during the transaction.
          type: string
          enum:
          - PRIOR_AUTHENTICATION_METHOD_FRICTIONLESS_AUTHENTICATION_BY_ACS
          - PRIOR_AUTHENTICATION_METHOD_CHALLENGED_BY_ACS
          - PRIOR_AUTHENTICATION_METHOD_AVS_VERIFIED
          - PRIOR_AUTHENTICATION_METHOD_OTHER_ISSUER_METHOD
        threeDSAuthenticationTimestamp:
          description: Designates the hour, minute and second in a specific day when the Three Domain Secure (3-D Secure or 3DS) Requestor (merchant) authenticated the cardholder before or during the transaction.
          type: string
        threeDSAuthenticationData:
          description: Data that documents and supports a specific authentication process.
          type: string
    requestorAuthenticationInfo:
      description: Information about how the 3DS Requestor authenticated the Cardholder before or during the transaction.
      type: object
      properties:
        requestorAuthenticationMethod:
          description: Codifies how the Three Domain Secure (3-D Secure or 3DS) Requestor (merchant) authenticated the cardholder before or during the transaction.
          type: string
          enum:
          - REQUESTOR_AUTHENTICATION_METHOD_NONE
          - REQUESTOR_AUTHENTICATION_METHOD_REQUESTOR_CRED
          - REQUESTOR_AUTHENTICATION_METHOD_FEDERATED_ID
          - REQUESTOR_AUTHENTICATION_METHOD_ISSUER_CRED
          - REQUESTOR_AUTHENTICATION_METHOD_FIDO_AUTHENTICATOR
        threeDSAuthenticationTimestamp:
          description: Designates the hour, minute and second in a specific day when the Three Domain Secure (3-D Secure or 3DS) Requestor (merchant) authenticated the cardholder before or during the transaction.
          type: string
        threeDSAuthenticationData:
          description: Data that documents and supports a specific authentication process.
          type: string
        authenticationUseCase:
          description: Codifies the type of payment transaction for which a cardholder authentication is requested. This is only for Cartes Bancaires Three Domain Secure (3-D Secure or 3DS).
          type: string
          enum:
          - AUTHENTICATION_USE_CASE_SINGLE_PAYMENT
          - AUTHENTICATION_USE_CASE_RECURRING_PAYMENT_FIXED
          - AUTHENTICATION_USE_CASE_INSTALLMENT_PAYMENT
          - AUTHENTICATION_USE_CASE_PAYMENT_ON_SHIPMENT
          - AUTHENTICATION_USE_CASE_RECURRING_PAYMENT_OTHER
          - AUTHENTICATION_USE_CASE_PREAUTHORIZATION_RENTAL
          - AUTHENTICATION_USE_CASE_PREAUTHORIZATION_NO_RENTAL
    consumerProfileOptions:
      description: Shopper Profile Option
      type: object
      properties:
        isSaveConsumerProfile:
          description: Indicates if a consumer wants to store payment information such as their address, contact and payment method with the merchant. If set to true, the Firm will store the consumer payment information so the consumer does not have to re-enter their information next time he/she uses the merchant's point of sale software.
          type: boolean
    messages:
      description: A list of errors and warnings
      type: object
      properties:
        responseStatus:
          $ref: '#/components/schemas/responseStatus'
        responseCode:
          $ref: '#/components/schemas/responseCode'
        responseMessage:
          $ref: '#/components/schemas/responseMessage'
        validationErrors:
          type: array
          minItems: 0
          description: Information about errors occurred in transaction validation
          items:
            $ref: '#/components/schemas/validationMessage'
    checkoutOptions:
      description: Defines checkout session options.
      type: object
      properties:
        authorization:
          $ref: '#/components/schemas/authorization'
        capture:
          $ref: '#/components/schemas/capture'
        consumerProfileOptions:
          $ref: '#/components/schemas/consumerProfileOptions'
        paymentMethodOptions:
          $ref: '#/components/schemas/paymentMethodOptions'
        paymentCardAuthenticationRequest:
          $ref: '#/components/schemas/paymentCardAuthenticationRequest'
        fraudCheckOptions:
          $ref: '#/components/schemas/fraudCheckOptions'
        cookiePolicy:
          description: Codifies the options for the consumers for storing different types of cookies on merchant website.
          type: string
          enum:
          - COOKIE_POLICY_ACCEPT_ALL
          - COOKIE_POLICY_ONLY_NECESSARY
    address:
      description: Specifies an address.
      type: object
      properties:
        recipientFullName:
          description: The party's name as provided at the time the party is onboarded or updated based on firm policies and business rules that allow for such updates. For an individual this field includes the first, middle, and last name. The full name can also include prefixes such as Dr. or Hon. and suffixes such as Jr or III. For non carbon entities, the field reflects the complete legal name by which an entity is registered with a state, local or federal government.
          type: string
        line1:
          description: 'A portion of a party''s address which is the line of the unstructured (unparsed) geographic street address containing any of the following: house number, street name, street direction, street type, dwelling type and number, PO Box number, rural delivery route number. Character limit of <= 40 characters.'
          type: string
          maxLength: 40
        line2:
          description: 'A portion of a party''s address which is the line of the unstructured (unparsed) geographic street address containing any of the following: house number, street name, street direction, street type, dwelling type and number, PO Box number, rural delivery route number. Character limit of <= 40 characters.'
          type: string
          maxLength: 40
        city:
          description: A portion of a party's address which is the geographic area that is a municipality with legal power granted by a state/province charter. Character limit of <= 40 characters.
          type: string
          maxLength: 40
        state:
          description: Classifies a geographic area that represents a first level, legal and political subdivision of a country; for example, Virginia, Bavaria. Character limit of >= 2 and <= 3 characters.
          type: string
          minLength: 2
          maxLength: 3
        country:
          description: 'A code that identifies the Country, a Geographic Area, that is recognized as an independent political unit in world affairs. Note: This data element is a child of the Country Code CDE and valid values are based on ISO standards. Character limit of <= 3 characters.'
          type: string
          maxLength: 3
        postalCode:
          description: The portion of a party's address that is the encoded representation of a geographic area to facilitate mail delivery services. Character limit of >= 3 and <= 12 characters.
          type: string
          minLength: 3
          maxLength: 12
    transactionalCharge:
      description: Additional charges applied by the merchant to the entire cart.
      type: object
      properties:
        feeDescription:
          description: Provides free form verbal information describing the meaning (justification) for a specific charge to the buyer related to a sale transaction.
          type: string
        chargeType:
          description: Specifying the type of the transactional charge  as determined by the merchant.
          type: string
          enum:
          - CHARGE_TYPE_UNSPECIFIED
          - CHARGE_TYPE_CONVENIENCE_FEE
          - CHARGE_TYPE_SERVICE_FEE
          - CHARGE_TYPE_SURCHARGE
          - CHARGE_TYPE_TIP
          - CHARGE_TYPE_SHIPPING_FEE
          - CHARGE_TYPE_GRATUITY
        chargeMode:
          description: Representing the mode of charge applied by the merchant to specific items, the total purchase, or the tax portion.
          type: string
          enum:
          - RATE_MODE_UNSPECIFIED
          - RATE_MODE_FLAT
          - RATE_MODE_PERCENTAGE
        transactionFeeAmount:
          description: Specifies the monetary value that will be levied per transaction as a financial charge. For example $0.01 per transaction.
          type: integer
          format: int64
        purchaseTransactionFeePercent:
          description: Specifies the rate at which a varying fee will be levied against the merchant by multiplying it by the transaction amount. This rate is defined in the Merchant's contract and may or may not include interchange that is defined by the payment brands (Visa, MasterCard, etc.).
          type: string
        tax:
          $ref: '#/components/schemas/tax'
        chargeMetadata:
          description: A map (key-value pairs) providing additional metadata or custom information related to the discount, as set by the merchant.
          type: object
          additionalProperties:
            type: string
    cardOnFile:
      description: Card On File Option
      type: object
      properties:
        transactionType:
          description: Codifies the transaction type used for card on file transaction.
          type: string
          enum:
          - COF_TRANSACTION_TYPE_RECURRING
          - COF_TRANSACTION_TYPE_INSTALLMENT
          - COF_TRANSACTION_TYPE_UNSCHEDULED
        recurringPaymentDetails:
          $ref: '#/components/schemas/recurringPaymentDetails'
        installmentPaymentDetails:
          $ref: '#/components/schemas/installmentPaymentDetails'
    cardholderAccountHistory:
      description: Additional information about the Cardholder’s Account provided by the 3DS Requestor.
      type: object
      properties:
        accountCreateTimestamp:
          description: Designates the hour, minute and second in a specific day when the record was created.
          type: string
        accountUpdateTimestamp:
          description: Designates the hour, minute, and second in a specifc day when the record was last modified.
          type: string
        cardFirstUsedDate:
          description: Date that the payment account was enrolled in the Cardholder’s account with the 3DS Requestor. If this field is not set, then the Cardholder never used this card before and it' a guest checkout.
          type: string
        consumerAccount24HoursAddCardCount:
          description: Enumerates the merchant reported number of card addition attempts as a payment method by the consumer in their consumer profile during the last 24 hours.
          type: integer
        consumerAccountPasswordUpdateTimestamp:
          description: Designates the hour, minute, and second in a specifc day when the record was last modified.
          type: string
        last24HoursTransactionCount:
          description: Enumerates the occurrences of any transaction within a given period.
          type: integer
        lastYearTransactionCount:
          description: Enumerates the occurrences of any transaction within a given period.
          type: integer
        last6MonthsPurchaseCount:
          description: The number of requested merchant based purchase transactions for the cardholder over a specified time frame.
          type: integer
        consumerAccountSuspiciousActivityIndicator:
          description: Indicates the merchant has experienced suspicious activity (including previous fraud) on the consumer account. This is used for the assessment of the level of fraud risk for the specific authentication for both the cardholder and the authentication being conducted.
          type: boolean
        consumerAccountAddressIdenticalIndicator:
          description: Indicates if the Cardholder billing address and shipping address are identical for this transaction.
          type: boolean
        consumerShippingAddressFirstUsageDate:
          description: Designates the year, month and day when the shipping address for this consumer profile was first used for the delivery of a purchased product.
          type: string
        consumerShipToNameIdenticalIndicator:
          description: Indicates the consumer name on the account is identical to the shipping name used for this transaction.
          type: boolean
    merchantFraudRiskAssessment:
      description: Merchant's assessment of the level of fraud risk for the specific authentication for both the Cardholder and the authentication being conducted.
      type: object
      properties:
        shipmentType:
          description: Indicates shipping method chosen for the transaction.
          type: string
          enum:
          - SHIPPING_METHOD_SHIP_TO_BILLING_ADDRESS
          - SHIPPING_METHOD_SHIP_TO_VERIFIED_ADDRESS_ON_FILE
          - SHIPPING_METHOD_SHIP_TO_ADDRESS_NOT_ON_FILE
          - SHIPPING_METHOD_SHIP_TO_STORE_FOR_PICKUP
          - SHIPPING_METHOD_DIGITAL_GOODS_DELIVERY
          - SHIPPING_METHOD_TICKETS
          - SHIPPING_METHOD_OTHER
        deliveryTimeframe:
          description: Codifies the shipment period of time chosen by the consumer in the purchase transaction from the merchant as defined by the Three Domain Secure (3-D Secure or 3DS) cardholder authentication process. This is used for the assessment of the level of fraud risk for the specific authentication for both the cardholder and the authentication being conducted.
          type: string
          enum:
          - DELIVERY_TYPE_UNSPECIFIED
          - DELIVERY_TYPE_ELECTRONIC_DELIVERY
          - DELIVERY_TYPE_SAME_DAY_SHIPPING
          - DELIVERY_TYPE_OVERNIGHT_SHIPPING
          - DELIVERY_TYPE_TWO_DAYS_OR_MORE_SHIPPING
        orderEmailAddress:
          description: A mail system that allows a party to send and receive messages electronically. An email address is composed of a local part and a domain part. The local part is unique to the individual while the 

# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/jp-morgan-chase/refs/heads/main/openapi/jp-morgan-chase-checkout-intent-api-openapi.yml