Visa CTP Checkout API API

The Click to Pay Checkout API enables merchants to initiate and complete checkout transactions using stored Visa credentials, providing consumers with a seamless and secure payment experience.

Documentation

📖
GettingStarted
https://developer.visa.com/capabilities/pav/docs
📖
Authentication
https://developer.visa.com/capabilities/pav/docs-authentication
📖
GettingStarted
https://developer.visa.com/capabilities/suppliermatchingservice/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/suppliermatchingservice/docs-authentication
📖
GettingStarted
https://developer.visa.com/capabilities/vcms/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/vcms/docs-authentication
📖
GettingStarted
https://developer.visa.com/capabilities/card-on-file-data-inquiry/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/card-on-file-data-inquiry/docs-authentication
📖
GettingStarted
https://developer.visa.com/capabilities/foreign_exchange/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/foreign_exchange/docs-authentication
📖
Documentation
https://developer.visa.com/capabilities/foreign_exchange/reference#tag/Foreign-Exchange-Rates-API/operation/ForeignExchangeRates_v2%20-%20Latest
📖
GettingStarted
https://developer.visa.com/capabilities/paai/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/paai/docs-authentication
📖
Documentation
https://developer.visa.com/capabilities/paai/reference#tag/Funds-Transfer-Attributes-Inquiry-API/operation/Funds%20Transfer%20Inquiry_v5%20-%20Latest
📖
GettingStarted
https://developer.visa.com/capabilities/vau/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/vau/docs-authentication
📖
Documentation
https://developer.visa.com/capabilities/vau/reference#tag/Issuer-Stop-Advice-API/operation/stopAdviceUsingPOST_v1%20-%20Latest
📖
GettingStarted
https://developer.visa.com/capabilities/visa-bin-attribute-sharing-service/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/visa-bin-attribute-sharing-service/docs-authentication
📖
GettingStarted
https://developer.visa.com/capabilities/vbds/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/vbds/docs-authentication
📖
Documentation
https://developer.visa.com/capabilities/vbds/reference#tag/Authorization-Data-API/operation/getAuthDataUsingPOST_v1%20-%20Latest
📖
GettingStarted
https://developer.visa.com/capabilities/vcpm/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/vcpm/docs-authentication
📖
Documentation
https://developer.visa.com/capabilities/vcpm/reference#tag/Visa-Card-Program-Enrollment/operation/enrollmentV2UsingPOST_v2%20-%20Latest
📖
GettingStarted
https://developer.visa.com/capabilities/visa-secure-remote-commerce/docs-getting-started
📖
Documentation
https://developer.visa.com/capabilities/visa-secure-remote-commerce/reference#tag/CTP-Checkout-API/operation/CTP%20Checkout%20API_v1%20-%20Latest
📖
Documentation
https://developer.visa.com/capabilities/visa-digital-enablement-lite/reference#tag/URL-Generation-API_/paths/1inapp1provision1appclip1url/post_v1%20-%20Latest
📖
GettingStarted
https://developer.visa.com/capabilities/visa-merchant-screening-service/docs-getting-started
📖
Authentication
https://developer.visa.com/capabilities/visa-merchant-screening-service/docs-authentication
📖
Documentation
https://developer.visa.com/capabilities/visa-merchant-screening-service/reference#tag/Termination-Inquiry-APIs/operation/RetroActive%20Alert%20of%20Terminated%20Merchants%20or%20Agent_v2%20-%20Latest
📖
Documentation
https://developer.visa.com/capabilities/vpa
📖
Documentation
https://developer.visa.com/capabilities/visa-in-app-provisioning
📖
Documentation
https://developer.visa.com/capabilities/merchant_search/docs
📖
Documentation
https://developer.visa.com/capabilities/vba/docs
📖
Documentation
https://developer.visa.com/capabilities/vmorc/docs
📖
Documentation
https://developer.visa.com/capabilities/visa_direct/docs
📖
Documentation
https://developer.visa.com/capabilities/atmlocator/docs
📖
Documentation
https://developer.visa.com/capabilities/vctc/docs

Specifications

Other Resources

OpenAPI Specification

visa-ctp-checkout-api-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Foreign Exchange Rates CTP Checkout API API
  description: The Click to Pay Checkout API enables merchants to initiate and complete checkout transactions using stored Visa credentials, providing consumers with a seamless and secure payment experience.
  version: '1'
servers:
- url: https://sandbox.api.visa.com
  description: Sandbox server
security: []
tags:
- name: CTP Checkout API
  description: The Click to Pay Checkout API enables merchants to initiate and complete checkout transactions using stored Visa credentials, providing consumers with a seamless and secure payment experience.
paths:
  /visasrci/v1/checkout:
    post:
      operationId: initiateCheckout
      summary: Initiate Checkout
      description: Initiates a Click to Pay checkout session for a consumer transaction. This operation creates a checkout context that allows the consumer to select from their stored payment credentials and complete the purchase.
      tags:
      - CTP Checkout API
      requestBody:
        description: Checkout initiation request details
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckoutRequest'
      responses:
        '200':
          description: Checkout session initiated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckoutResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
        '404':
          description: Resource not found
  /visasrci/v1/checkout/{checkoutId}:
    get:
      operationId: getCheckoutStatus
      summary: Get Checkout Status
      description: Retrieves the current status and details of an existing Click to Pay checkout session identified by the checkout ID.
      tags:
      - CTP Checkout API
      parameters:
      - $ref: '#/components/parameters/CheckoutIdParam'
      responses:
        '200':
          description: Checkout status retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CheckoutStatusResponse'
        '401':
          description: Unauthorized
        '404':
          description: Checkout session not found
components:
  parameters:
    CheckoutIdParam:
      name: checkoutId
      in: path
      required: true
      description: Unique identifier for the checkout session
      schema:
        type: string
  schemas:
    CheckoutResponse:
      type: object
      properties:
        checkoutId:
          type: string
          description: Unique identifier for the initiated checkout session
        status:
          type: string
          description: Current status of the checkout session
          enum:
          - INITIATED
          - PENDING
          - COMPLETED
          - EXPIRED
        checkoutUrl:
          type: string
          format: uri
          description: URL to redirect the consumer for checkout completion
    ErrorResponse:
      type: object
      properties:
        errorCode:
          type: string
          description: Machine-readable error code
        message:
          type: string
          description: Human-readable error description
        details:
          type: array
          items:
            type: object
            properties:
              field:
                type: string
                description: Field that caused the error
              message:
                type: string
                description: Detail about the field error
    CheckoutRequest:
      type: object
      required:
      - merchantId
      - amount
      - currency
      properties:
        merchantId:
          type: string
          description: Unique identifier for the merchant initiating checkout
        amount:
          type: number
          format: double
          description: Transaction amount
        currency:
          type: string
          description: ISO 4217 currency code
          pattern: ^[A-Z]{3}$
          example: USD
        consumerIdentity:
          type: string
          description: Consumer email or phone number used to look up stored credentials
        merchantName:
          type: string
          description: Display name of the merchant
        returnUrl:
          type: string
          format: uri
          description: URL to redirect the consumer after checkout completion
    CheckoutStatusResponse:
      type: object
      properties:
        checkoutId:
          type: string
          description: Unique identifier for the checkout session
        status:
          type: string
          description: Current status of the checkout session
          enum:
          - INITIATED
          - PENDING
          - COMPLETED
          - EXPIRED
          - CANCELLED
        transactionId:
          type: string
          description: Transaction identifier assigned after successful payment
        paymentToken:
          type: string
          description: Tokenized payment credential used for the transaction
x-tagGroups:
- name: API Reference
  tags:
  - Foreign Exchange Rates API