CyberSource Unified Checkout V1 Capture Context API

The Unified Checkout V1 Capture Context API from CyberSource — 1 operation(s) for unified checkout v1 capture context.

OpenAPI Specification

cybersource-unified-checkout-v1-capture-context-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
  version: 0.0.1
  title: CyberSource Merged Spec bankAccountValidation Unified Checkout V1 Capture Context API
host: apitest.cybersource.com
basePath: /
schemes:
- https
consumes:
- application/json;charset=utf-8
produces:
- application/hal+json;charset=utf-8
tags:
- name: Unified Checkout V1 Capture Context
  externalDocs:
    description: Find out more
    url: https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-about-guide.html
paths:
  /uc/v1/sessions:
    post:
      tags:
      - Unified Checkout V1 Capture Context
      summary: Generate Unified Checkout V1 Capture Context
      description: 'Unified Checkout is a powerful product within the Digital Acceptance Suite. Unified Checkout is designed to assist merchants with the adoption and inclusion of digital payments within their payment acceptance page. With Unified Checkout Integration you can add digital payment methods to create familiar, convenient and seamless payment experiences that are designed to reduce checkout friction and increase conversions.

        Click to Pay Drop-in UI is built on the Unified Checkout platform.

        For more information about Unified Checkout, see the [Unified Checkout Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html). For examples on how to integrate Unified Checkout within your webpage please see our [GitHub Unified Checkout Samples](https://github.com/CyberSource/cybersource-unified-checkout-sample-java).

        Generate Unified Checkout V1 Capture Context

        Generate a one-time use capture context used for the invocation of Unified Checkout. The Request wil contain all of the parameters for how Unified Checkout will operate within a client webpage. The resulting payload will be a JWT signed object that can be used to initiate Unified Checkout or Click to Pay Drop-in UI within a web page'
      operationId: generateUnifiedCheckoutV1CaptureContext
      x-devcenter-metaData:
        categoryTag: Unified_Checkout
        developerGuides: https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-about-guide.html
        disableProcessorDropDown: true
      produces:
      - application/jwt
      parameters:
      - in: body
        name: generateUnifiedCheckoutV1CaptureContextRequest
        required: true
        schema:
          type: object
          properties:
            clientVersion:
              type: string
              example: '1.0'
              maxLength: 60
              description: "This field is used to specify the Unified Checkout API version your integration should use. \nThe recommended approach is to omit this field from the uc/v1/sessions API request.  When omitted, Unified Checkout automatically uses the latest available version, ensuring access to the most recent enhancements and updates without requiring integration changes.\nIf included, the value must be provided in Major.Minor format (for example, 1.1 or 1.2).<br><br>\n\nOptional field:\nThis field cannot be configured through the Merchant Experience screens in the Business Center but can be provided in the uc/v1/sessions API request.\n"
            targetOrigins:
              type: array
              items:
                type: string
                example: https://yourCheckoutPage.com
              description: "The [target origin](https://developer.mozilla.org/en-US/docs/Glossary/Origin) of the website on which you will be launching Unified Checkout is defined by the scheme (protocol), hostname (domain) and port number (if used).  \n\nYou must use https://hostname.  The following is NOT supported: http://localhost\nWildcards are NOT supported.  Ensure that subdomains are included.\nAny valid top-level domain is supported (e.g. .com, .co.uk, .gov.br etc)\n\nExamples:\n  - https://example.com\n  - https://subdomain.example.com\n  - https://example.com:8080<br><br>\n\nIf you are embedding within multiple nested iframes you need to specify the origins of all the browser contexts used, for example:\n\n  targetOrigins: [\n    \"https://example.com\",\n    \"https://basket.example.com\",\n    \"https://ecom.example.com\"\n  ]<br><br>\n\nYou can supply up to seven origins within the targetOrigins field for nested iframes.\nIf the list of origins exceeds five ensure that you:\n  - Compare the list of origins in the v1/sessions targetOrigins field against the location.ancestorOrigins of the browser. \n  - Ensure that the count of origins and their content matches in both.  If any origins are absent or mismatched, the system will prevent Unified Checkout from loading and display a client-side error message.<br><br>\n\nRequired field:\nThis field cannot be configured through the Merchant Experience Screens in the Business Center and must be provided on a per transaction basis via the uc/v1/sessions API request.\n"
            allowedCardNetworks:
              type: array
              items:
                type: string
                maxLength: 30
                example:
                - VISA
                - MASTERCARD
              description: "The list of card networks you want to use for this Unified Checkout transaction.\n\nUnified Checkout currently supports the following card networks:\n    - VISA\n    - MASTERCARD\n    - AMEX\n    - CARNET\n    - CARTESBANCAIRES\n    - CUP\n    - DINERSCLUB\n    - DISCOVER\n    - EFTPOS\n    - ELO\n    - JAYWAN\n    - JCB\n    - JCREW\n    - KCP\n    - MADA\n    - MAESTRO\n    - MEEZA\n    - PAYPAK\n    - UATP<br><br>\n\nOptional field:  \nThis field can be configured through the Merchant Experience Screens in the Business Center.  The configured value may be overridden on a per transaction basis in the uc/v1/sessions API request.\n"
            allowedPaymentTypes:
              type: array
              items:
                type: string
              description: "The payment types that are allowed for the merchant.  \n\nPossible values when launching Unified Checkout:\n  - APPLEPAY\n  - CHECK\n  - CLICKTOPAY\n  - GOOGLEPAY\n  - PANENTRY              \n  - PAZE \n  - TMS_TOKEN<br><br>\n\nUnified Checkout supports the following wallet based payment methods:\n  - PayPal v2: PAYPAL\n  - Venmo: VENMO <br><br>\n\nUnified Checkout supports the following Buy Now, Pay Later (BNPL) payment methods:\n  - Cash App Afterpay (US): AFTERPAY\n  - Clearpay (GB): AFTERPAY\n  - Afterpay (CA, AU, NZ): AFTERPAY<br><br>\n\nUnified Checkout supports the following Online Bank Transfer payment methods:\n  - Bancontact (BE): BANCONTACT\n  - DragonPay (PH): DRAGONPAY\n  - iDEAL (NL): IDEAL\n  - Multibanco (PT): MULTIBANCO\n  - MyBank (IT, BE, PT, ES): MYBANK \n  - Przelewy24|P24 (PL): PRZELEWY24\n  - Tink Pay By Bank (DE, ES, FR, GB, IE, NL): TINKPAYBYBANK<br><br>\n\nUnified Checkout supports the following Post-Pay Reference payment methods:\n  - Konbini (JP): KONBINI<br><br>\n\nPossible values when launching Click To Pay Drop-In UI:\n- CLICKTOPAY \n- PANENTRY <br><br>\n\n**Important:** \n  - CLICKTOPAY only available for Visa, Mastercard and AMEX for saved cards.\n  - Visa and Mastercard will look to tokenize using network tokenization for all Click to Pay requests.  Click to Pay uses Click to Pay token requester IDs and not the merchant's existing token requester.\n  - Apple Pay, Google Pay, Check, and Paze can be used independently without requiring PAN entry in the allowedPaymentTypes field.<br><br>\n\nOptional field:  \nThis field can be configured through the Merchant Experience Screens in the Business Center.  The configured value may be overridden on a per transaction basis in the uc/v1/sessions API request.\n"
            paymentConfigurations:
              type: object
              description: 'Allows per-transaction payment type configuration overrides.

                '
              properties:
                GOOGLEPAY:
                  type: object
                  properties:
                    allowedAuthMethods:
                      type: array
                      description: "When you enable Google Pay on Unified Checkout you can specify optional parameters that define the types of card authentication you receive from Google Pay.<br><br>\nBy default, Google sends both authentication types.  When the complete mandate is used and Google Pay does not authenticate the transaction, then Unified Checkout completes the authentication request as part of the complete mandate.<br><br>\nPossible values:\n- PAN_ONLY: Google returns primary account number (PAN) values\n- CRYPTOGRAM_3DS: Google returns fully authenticated network token values.<br><br>\n\nOptional field:  \nThis field can be configured through the Merchant Experience Screens in the Business Center.  The configured value may be overridden on a per transaction basis in the uc/v1/sessions API request.\n"
                      minItems: 1
                      items:
                        type: string
                CLICKTOPAY:
                  type: object
                  properties:
                    autoCheckEnrollment:
                      type: boolean
                      description: "Where Click to Pay is the payment type selected by the customer and the customer manually enters their card, the option to enroll their card in Click to Pay will be auto-checked if this field is set to \"true\". <br><br>\n\nThis is only available where the merchant and cardholder are based in the following countries and the billing type is set to \"FULL\" or \"PARTIAL\".\n  - UAE\n  - Argentina\n  - Brazil\n  - Chile\n  - Colombia\n  - Kuwait\n  - Mexico\n  - Peru\n  - Qatar\n  - Saudi Arabia\n  - Ukraine\n  - South Africa<br><br>\n\nIf false, this is not present or not supported in the market.  Enrollment in Click to Pay is not checked for the customer when completing manual card entry.<br><br>\nOptional field:\nThis field can be configured through the Merchant Experience Screens in the Business Center.  The configured value may be overridden on a per transaction basis in the uc/v1/sessions API request.\n"
                PAYPAL:
                  type: object
                  properties:
                    vaultingEnabled:
                      type: boolean
                      description: 'Enables PayPal''s Vaulted Payments flow within Unified Checkout.  This provides a seamless checkout experience by storing payment methods for high-frequency and low average-order-value services such as rides, meal pickups, and other quick purchases.

                        This field is optional.

                        '
                    tokenizedPaymentMethod:
                      type: object
                      description: 'Description of the vaulted payment method shown to the buyer during checkout and in their PayPal account.

                        '
                      properties:
                        usageType:
                          type: string
                          description: 'Indicates the type of vaulting relationship. Valid values:

                            - "MERCHANT": Single merchant relationship.

                            - "PLATFORM": Platform hosting multiple merchants.

                            '
                        usagePattern:
                          type: string
                          description: 'Indicates how the merchant will primarily use the vaulted payment method. Valid values:

                            - "IMMEDIATE": For on-demand, instant payments. These payments are variable in both amount and frequency and will be used to pay for goods or services before they are rendered to the buyer

                            - "DEFERRED": For post-pay payments; that is, payments for goods or services that have already been rendered to the buyer

                            - "RECURRING_PREPAID": For recurring payments before services are rendered.

                            - "RECURRING_POSTPAID": For recurring payments after services are rendered.

                            - "THRESHOLD_PREPAID": For payments when a pre-defined threshold is reached before services are rendered.

                            - "THRESHOLD_POSTPAID": For payments when a pre-defined threshold is reached after services are rendered.

                            '
                        allowMultipleTokens:
                          type: boolean
                          description: 'Create multiple payment tokens for the same payer, merchant/platform combination. This helps to identify customers distinctly even though they may share the same PayPal account.

                            '
                    industryType:
                      type: string
                      description: 'Indicates the industry type. <br><br>

                        Possible Values:

                        - "Events"

                        - "Ticketing"

                        - "Fuel"

                        - "GAMING"

                        - "DIGITAL GOODS"

                        - "TELCO"

                        - "Token Service Providers"

                        - "Gambling"

                        - "CFDs"

                        - "car rental"

                        - "hotel"

                        - "transportation"

                        - "travel package"

                        - "Cruise Line"

                        - "P2P"

                        - "Retail"

                        - "Food"

                        - "Groceries"

                        - "Ride Sharing"

                        - "Taxi"

                        - "Remittance"

                        - "Crypto"

                        - "Marketplaces"

                        '
                TMS_TOKEN:
                  type: object
                  description: 'Allows a single Token Management Service (TMS) token to be presented within the Unified Checkout user interface. This enables customers to complete a payment using an existing stored credential.


                    Supported token types:

                    - customer

                    - instrumentIdentifiers

                    - paymentInstruments


                    **Important note:**

                    If a customer token ID is provided and token creation (tokenCreate) is enabled for a paymentInstrument or instrumentIdentifier within the Complete Mandate, Unified Checkout will create a new payment instrument or instrument identifier and associate it with the specified customer token.

                    '
                  properties:
                    customer:
                      type: object
                      description: 'Existing customer token stored in the merchant token vault.

                        '
                      properties:
                        id:
                          type: string
                          maxLength: 50
                          example: 07C9CA98022DA498E063A2598D0AA400
                    paymentInstruments:
                      type: array
                      maxItems: 50
                      description: 'List of existing payment instrument tokens associated with the customer.

                        '
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            maxLength: 50
                            example: 404352E77F6A66E7E0634136CF0ABCD7
                    instrumentIdentifiers:
                      type: array
                      maxItems: 50
                      description: 'List of existing instrument identifier tokens.

                        If not supplied, the default token type for the merchant''s token vault is used.

                        '
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                            maxLength: 50
                            example: 07C9CA98022DA498E063A2598D0AA400
            appearance:
              type: object
              description: Controls the Unified Checkout UI appearance.
              properties:
                theme:
                  type: string
                  maxLength: 25
                  example: LIGHT
                  description: 'Configure Unified Checkout theme.


                    Possible values:

                    - LIGHT<br><br>


                    Optional field:<br>

                    This field cannot be configured through the Merchant Experience screens in the Business Center and must be provided on a per‑transaction basis in the uc/v1/sessions API request.

                    '
                variables:
                  type: object
                  description: 'CSS appearance variables. All variables optional.

                    '
                  properties:
                    backgroundColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#FFFFFF'
                      description: 'Main background color<br><br>

                        Optional field::<br> This field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per‑transaction basis in the uc/v1/sessions API request.'
                    textColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#000000'
                      description: 'Main text color<br><br>

                        Optional field::<br> This field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per‑transaction basis in the uc/v1/sessions API request.'
                    headerBackground:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#1A237E'
                      description: 'Header background color<br><br>

                        Optional field::<br> This field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per‑transaction basis in the uc/v1/sessions API request.'
                    headerForeground:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#FFFFFF'
                      description: 'Header text/icon color<br><br>

                        Optional field::<br> This field can be configured through the Merchant Experience screens in the Business Center. The configured value may be overridden on a per‑transaction basis in the uc/v1/sessions API request.'
                    headerAvatarBackgroundColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#3F51B5'
                      description: 'Avatar background in header<br><br>

                        Optional field::<br> This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.'
                    headerAvatarForegroundColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#FFFFFF'
                      description: 'Avatar text/icon color<br><br>

                        Optional field::<br> This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.'
                    inputBackground:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#FAFAFA'
                      description: 'Input field background<br><br>

                        Optional field::<br> This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.'
                    inputColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#333333'
                      description: 'Input text color<br><br>

                        Optional field::<br> This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.'
                    inputPlaceholderColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#AAAAAA'
                      description: 'Placeholder text color<br><br>

                        Optional field::<br> This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.'
                    inputBorderColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#CCCCCC'
                      description: 'Input border color<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputBorderStyle:
                      type: string
                      example: solid
                      description: 'Border style (solid, dashed, dotted)<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputBorderRadius:
                      type: string
                      example: 6px
                      description: 'Border radius with CSS unit<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputHoverBackground:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#EFEFEF'
                      description: 'Background on hover<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputHoverColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#444444'
                      description: 'Text color on hover<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputHoverPlaceholderColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#999999'
                      description: 'Placeholder color on hover<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputHoverBorderColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#BBBBBB'
                      description: 'Border color on hover<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputHoverBorderStyle:
                      type: string
                      example: dotted
                      description: 'Border style on hover<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputFocusedBackground:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#FFFFFF'
                      description: 'Background when focused<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputFocusedColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#222222'
                      description: 'Text color when focused<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputFocusedPlaceholderColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#888888'
                      description: 'Placeholder color when focused<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputFocusedBorderColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#AAAAAA'
                      description: 'Border color when focused<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputFocusedBorderStyle:
                      type: string
                      example: solid
                      description: 'Border style when focused<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputActiveBackground:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#F0F0F0'
                      description: 'Background when active<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputActiveColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#111111'
                      description: 'Text color when active<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputActivePlaceholderColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#777777'
                      description: 'Placeholder color when active<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputActiveBorderColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#999999'
                      description: 'Border color when active<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputActiveBorderStyle:
                      type: string
                      example: solid
                      description: 'Border style when active<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputPressedBackground:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#E0E0E0'
                      description: 'Background when pressed<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputPressedColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#000000'
                      description: 'Text color when pressed<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputPressedPlaceholderColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#666666'
                      description: 'Placeholder color when pressed<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per‑transaction basis in the uc/v1/sessions API request.

                        '
                    inputPressedBorderColor:
                      type: string
                      pattern: ^#([A-Fa-f0-9]{6})$
                      example: '#888888'
                      description: 'Border color when pressed<br><br>


                        Optional field:

                        This field cannot be configured through the Merchant Experience screens in the Business Center.  If required, should be provided on a per

# --- truncated at 32 KB (213 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cybersource/refs/heads/main/openapi/cybersource-unified-checkout-v1-capture-context-api-openapi.yml