Deluxe Payments Platform — Gateway Experience API

The DPP Gateway Experience API is the core Deluxe Payments Platform contract: 37 operations across payments (sale, authorize, complete, cancel, search, batch), EMV card-present processing and device management, refunds, subscriptions, payment methods and tokenization, customers and the vault, settlement batches, payment links, and webhook event subscription. Secured with an OAuth 2.0 bearer token plus a required partnerToken merchant header. Business failures are returned as HTTP 200 with a non-zero responseCode rather than a 4xx.

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/deluxe-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 email required.

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

OpenAPI Specification

deluxe-dpp-gateway-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: DPP Gateway Experience API
  version: '1'
  description: This application will be useful to perform payments with multiple payment methods, Creating customers with
    in DPP
  x-provenance:
    method: derived
    derived_from: RAML 1.0 published by Deluxe at https://developer.deluxe.com/api-ref/api/merchant-services/
    derived_on: '2026-08-13'
    note: Faithful mechanical conversion of the provider-published RAML 1.0 definition and its rendered request/response parameter
      and example documents. No operation, field, schema or example in this file was authored by API Evangelist.
servers:
- url: https://api.deluxe.com/dpp/v1
  description: Production (default routing path)
- url: https://api.deluxe.com/dpp/v1/gateway
  description: Production (legacy routing path)
- url: https://sandbox.api.deluxe.com/dpp/v1
  description: Sandbox / test environment
security:
- bearerAuth: []
tags:
- name: batches
- name: customers
- name: emv
- name: events
- name: paymentlinks
- name: paymentmethods
- name: payments
- name: refunds
- name: subscriptions
paths:
  /payments:
    post:
      operationId: createPayment
      summary: Create Payment
      tags:
      - payments
      description: The Payments resource in the API is a comprehensive service that manages essential payment operations,
        processing sales, handling recurring payments, authorizing transactions, capturing funds, and voiding payments. This
        resource ensures seamless and secure payment processing, supporting various transaction types and providing the necessary
        flexibility for managing payment workflows efficiently.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: Request object to hold details for payment processing, including payment method, billing and shipping
                addresses, and tax details. It supports Level 2 and Level 3 processing for sale items and fleet products,
                and also includes optional customer data, order information, and alternate fees.
              type: object
              properties:
                paymentType:
                  description: Identifies if the payment method is Credit (ACH Refund) or Debit for ACH Payments, or Sale
                    for Card payment.
                  type: string
                  enum:
                  - Sale
                  - Debit
                  - Credit
                  examples:
                  - Sale
                amount:
                  description: Object to hold the total transaction amount and currency. Make sure the amount matches the
                    sum of sale items or products in Level 3 transactions, and includes any applicable fees.
                  type: object
                  properties:
                    amount:
                      description: Amount of the transaction
                      type: number
                      examples:
                      - 150
                    currency:
                      description: Currency of transaction
                      type: string
                      enum:
                      - USD
                      - CAD
                      examples:
                      - USD
                  required:
                  - amount
                paymentMethod:
                  description: Payment method details
                  oneOf:
                  - description: Object to hold card details such as card number, expiration date, and CVV. Includes billing
                      address for verification purposes. Supports secure, PCI-compliant card-based transactions while reducing
                      exposure of sensitive payment data across digital checkout and payment authorization flows.
                    type: object
                    properties:
                      card:
                        description: Object to hold card details such as card number, expiration date, and CVV. Includes billing
                          address for verification purposes. Supports secure, PCI-compliant card-based transactions while
                          reducing exposure of sensitive payment data across digital checkout and payment authorization flows.
                        type: object
                        properties:
                          card:
                            description: Card Number
                            type: string
                            minLength: 12
                            maxLength: 19
                            examples:
                            - '4111111111111110'
                          expiry:
                            description: Card Expiration Month and Year
                            type: string
                            pattern: ^(0[1-9]|1[0-2])\/\d{2}$
                            examples:
                            - 11/26
                          cvv:
                            description: Card CVV/Security Code
                            type: string
                            minLength: 3
                            maxLength: 4
                            examples:
                            - '245'
                        required:
                        - card
                        - expiry
                      billingAddress:
                        description: Billing Address details includes name, street address, city, postal code, country, and
                          optional contact information like phone and email. These fields support payment verification, fraud
                          prevention, and customer record enrichment, making it easier to integrate with billing, invoicing,
                          compliance systems.
                        type: object
                        properties:
                          firstName:
                            description: Customer's first name
                            type: string
                            maxLength: 100
                            examples:
                            - Jane
                          lastName:
                            description: Customer's last name
                            type: string
                            maxLength: 100
                            examples:
                            - Doe
                          address:
                            description: Customer's address
                            type: string
                            maxLength: 250
                            examples:
                            - 123 Main St
                          address2:
                            description: Customer's address line 2
                            type: string
                            maxLength: 100
                            examples:
                            - Apt 5
                          postalCode:
                            description: Customer's postal/zip code
                            type: string
                            maxLength: 50
                            examples:
                            - '94111'
                          city:
                            description: Customer's city
                            type: string
                            maxLength: 50
                            examples:
                            - San Francisco
                          state:
                            description: Customer's state/province
                            type: string
                            maxLength: 25
                            examples:
                            - CA
                          country:
                            description: Customer's country
                            type: string
                            maxLength: 25
                            examples:
                            - USA
                          phone:
                            description: Customer's phone number
                            type: string
                            pattern: ^(\+\d{1,3}[\s-]?)?\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{4}$
                            maxLength: 17
                            examples:
                            - 650-555-1234
                          email:
                            description: Customer's email address
                            type: string
                            pattern: ^([a-zA-Z0-9.!#$\%&'*+-=?^_`{|}~]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$
                            maxLength: 250
                            examples:
                            - jane@email.com
                    additionalProperties: false
                  - description: Object to hold ACH information such as bank account number, routing number, and account type
                      (e.g., Checking or Savings). Includes optional billing address to support verification and regulatory
                      compliance. Enables secure account-based transactions for direct debit payments.
                    type: object
                    properties:
                      ach:
                        description: Object to hold ACH information such as bank account number, routing number, and account
                          type (e.g., Checking or Savings). Includes optional billing address to support verification and
                          regulatory compliance. Enables secure account-based transactions for direct debit payments.
                        type: object
                        properties:
                          accountNumber:
                            description: Bank account number
                            type: string
                            minLength: 1
                            maxLength: 20
                            examples:
                            - '987654321'
                          routingNumber:
                            description: Bank Routing Number
                            type: string
                            minLength: 8
                            maxLength: 9
                            examples:
                            - '123456789'
                          accountType:
                            description: Account Type - Checking/Savings
                            type: string
                            enum:
                            - Checking
                            - Savings
                            examples:
                            - Checking
                        required:
                        - accountNumber
                        - routingNumber
                      billingAddress:
                        description: Billing Address details includes name, street address, city, postal code, country, and
                          optional contact information like phone and email. These fields support payment verification, fraud
                          prevention, and customer record enrichment, making it easier to integrate with billing, invoicing,
                          compliance systems.
                        type: object
                        properties:
                          firstName:
                            description: Customer's first name
                            type: string
                            maxLength: 100
                            examples:
                            - Jane
                          lastName:
                            description: Customer's last name
                            type: string
                            maxLength: 100
                            examples:
                            - Doe
                          address:
                            description: Customer's address
                            type: string
                            maxLength: 250
                            examples:
                            - 123 Main St
                          address2:
                            description: Customer's address line 2
                            type: string
                            maxLength: 100
                            examples:
                            - Apt 5
                          postalCode:
                            description: Customer's postal/zip code
                            type: string
                            maxLength: 50
                            examples:
                            - '94111'
                          city:
                            description: Customer's city
                            type: string
                            maxLength: 50
                            examples:
                            - San Francisco
                          state:
                            description: Customer's state/province
                            type: string
                            maxLength: 25
                            examples:
                            - CA
                          country:
                            description: Customer's country
                            type: string
                            maxLength: 25
                            examples:
                            - USA
                          phone:
                            description: Customer's phone number
                            type: string
                            pattern: ^(\+\d{1,3}[\s-]?)?\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{4}$
                            maxLength: 17
                            examples:
                            - 650-555-1234
                          email:
                            description: Customer's email address
                            type: string
                            pattern: ^([a-zA-Z0-9.!#$\%&'*+-=?^_`{|}~]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$
                            maxLength: 250
                            examples:
                            - jane@email.com
                    additionalProperties: false
                  - description: Object to hold tokenized card information such as card number, expiration date, and CVV.
                      Includes billing address for validation. Supports secure, PCI-compliant digital transactions with minimal
                      exposure of sensitive data, enabling efficient payment processing across web, mobile, and in-store environments.
                    type: object
                    properties:
                      token:
                        description: Object to hold tokenized card information such as card number, expiration date, and CVV.
                          Includes billing address for validation. Supports secure, PCI-compliant digital transactions with
                          minimal exposure of sensitive data, enabling efficient payment processing across web, mobile, and
                          in-store environments.
                        type: object
                        properties:
                          token:
                            description: Tokenized string for Card details
                            type: string
                            maxLength: 20
                            examples:
                            - '1234567890123450'
                          expiry:
                            description: Card Expiration Month and Year
                            type: string
                            examples:
                            - 10/25
                          cvv:
                            description: Card CVV/Security Code
                            type: string
                            minLength: 3
                            maxLength: 4
                            examples:
                            - '245'
                        required:
                        - expiry
                        - token
                      billingAddress:
                        description: Billing Address details includes name, street address, city, postal code, country, and
                          optional contact information like phone and email. These fields support payment verification, fraud
                          prevention, and customer record enrichment, making it easier to integrate with billing, invoicing,
                          compliance systems.
                        type: object
                        properties:
                          firstName:
                            description: Customer's first name
                            type: string
                            maxLength: 100
                            examples:
                            - Jane
                          lastName:
                            description: Customer's last name
                            type: string
                            maxLength: 100
                            examples:
                            - Doe
                          address:
                            description: Customer's address
                            type: string
                            maxLength: 250
                            examples:
                            - 123 Main St
                          address2:
                            description: Customer's address line 2
                            type: string
                            maxLength: 100
                            examples:
                            - Apt 5
                          postalCode:
                            description: Customer's postal/zip code
                            type: string
                            maxLength: 50
                            examples:
                            - '94111'
                          city:
                            description: Customer's city
                            type: string
                            maxLength: 50
                            examples:
                            - San Francisco
                          state:
                            description: Customer's state/province
                            type: string
                            maxLength: 25
                            examples:
                            - CA
                          country:
                            description: Customer's country
                            type: string
                            maxLength: 25
                            examples:
                            - USA
                          phone:
                            description: Customer's phone number
                            type: string
                            pattern: ^(\+\d{1,3}[\s-]?)?\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{4}$
                            maxLength: 17
                            examples:
                            - 650-555-1234
                          email:
                            description: Customer's email address
                            type: string
                            pattern: ^([a-zA-Z0-9.!#$\%&'*+-=?^_`{|}~]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$
                            maxLength: 250
                            examples:
                            - jane@email.com
                    additionalProperties: false
                  - description: Object to hold payment method details such as stored payment ID and optional CVV. It enables
                      secure retrieval of tokenized payment credentials for recurring billing or one-click checkout scenarios.
                      Includes billing address to support verification, fraud prevention, and transaction accuracy while aligning
                      with compliance requirements in digital payment flows.
                    type: object
                    properties:
                      vault:
                        description: Object to hold payment method details such as stored payment ID and optional CVV. It
                          enables secure retrieval of tokenized payment credentials for recurring billing or one-click checkout
                          scenarios. Includes billing address to support verification, fraud prevention, and transaction accuracy
                          while aligning with compliance requirements in digital payment flows.
                        type: object
                        properties:
                          paymentMethodId:
                            description: Unique identifier for stored payment method
                            type: string
                            pattern: ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$
                            examples:
                            - 99c33585-a62f-45bb-a733-5720dd69ab1e
                          cvv:
                            description: CVV/Security Code
                            type: string
                            minLength: 3
                            maxLength: 4
                            examples:
                            - '245'
                        required:
                        - paymentMethodId
                      billingAddress:
                        description: Billing Address details includes name, street address, city, postal code, country, and
                          optional contact information like phone and email. These fields support payment verification, fraud
                          prevention, and customer record enrichment, making it easier to integrate with billing, invoicing,
                          compliance systems.
                        type: object
                        properties:
                          firstName:
                            description: Customer's first name
                            type: string
                            maxLength: 100
                            examples:
                            - Jane
                          lastName:
                            description: Customer's last name
                            type: string
                            maxLength: 100
                            examples:
                            - Doe
                          address:
                            description: Customer's address
                            type: string
                            maxLength: 250
                            examples:
                            - 123 Main St
                          address2:
                            description: Customer's address line 2
                            type: string
                            maxLength: 100
                            examples:
                            - Apt 5
                          postalCode:
                            description: Customer's postal/zip code
                            type: string
                            maxLength: 50
                            examples:
                            - '94111'
                          city:
                            description: Customer's city
                            type: string
                            maxLength: 50
                            examples:
                            - San Francisco
                          state:
                            description: Customer's state/province
                            type: string
                            maxLength: 25
                            examples:
                            - CA
                          country:
                            description: Customer's country
                            type: string
                            maxLength: 25
                            examples:
                            - USA
                          phone:
                            description: Customer's phone number
                            type: string
                            pattern: ^(\+\d{1,3}[\s-]?)?\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{4}$
                            maxLength: 17
                            examples:
                            - 650-555-1234
                          email:
                            description: Customer's email address
                            type: string
                            pattern: ^([a-zA-Z0-9.!#$\%&'*+-=?^_`{|}~]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$
                            maxLength: 250
                            examples:
                            - jane@email.com
                    additionalProperties: false
                  - description: Object to hold cryptogram data such as tokenized transaction values and billing address.
                      It supports secure transmission of card or bank details using encrypted strings, enabling safe, compliant
                      digital payments across banking and e-commerce environments. Ideal for tokenization workflows requiring
                      enhanced data protection and minimal exposure of sensitive financial information.
                    type: object
                    properties:
                      cryptogram:
                        description: Object to hold cryptogram data such as tokenized transaction values and billing address.
                          It supports secure transmission of card or bank details using encrypted strings, enabling safe,
                          compliant digital payments across banking and e-commerce environments. Ideal for tokenization workflows
                          requiring enhanced data protection and minimal exposure of sensitive financial information.
                        type: object
                        properties:
                          cryptogram:
                            description: Tokenized string that passes Card or Bank details for transaction
                            type: string
                            examples:
                            - 6cd3ef836ce141b789b5755ca3f353f1
                        required:
                        - cryptogram
                      billingAddress:
                        description: Billing Address details includes name, street address, city, postal code, country, and
                          optional contact information like phone and email. These fields support payment verification, fraud
                          prevention, and customer record enrichment, making it easier to integrate with billing, invoicing,
                          compliance systems.
                        type: object
                        properties:
                          firstName:
                            description: Customer's first name
                            type: string
                            maxLength: 100
                            examples:
                            - Jane
                          lastName:
                            description: Customer's last name
                            type: string
                            maxLength: 100
                            examples:
                            - Doe
                          address:
                            description: Customer's address
                            type: string
                            maxLength: 250
                            examples:
                            - 123 Main St
                          address2:
                            description: Customer's address line 2
                            type: string
                            maxLength: 100
                            examples:
                            - Apt 5
                          postalCode:
                            description: Customer's postal/zip code
                            type: string
                            maxLength: 50
                            examples:
                            - '94111'
                          city:
                            description: Customer's city
                            type: string
                            maxLength: 50
                            examples:
                            - San Francisco
                          state:
                            description: Customer's state/province
                            type: string
                            maxLength: 25
                            examples:
                            - CA
                          country:
                            description: Customer's country
                            type: string
                            maxLength: 25
                            examples:
                            - USA
                          phone:
                            description: Customer's phone number
                            type: string
                            pattern: ^(\+\d{1,3}[\s-]?)?\(?\d{3}\)?[\s-]?\d{3}[\s-]?\d{4}$
                            maxLength: 17
                            examples:
                            - 650-555-1234
                          email:
                            description: Customer's email address
                            type: string
                            pattern: ^([a-zA-Z0-9.!#$\%&'*+-=?^_`{|}~]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})$
                            maxLength: 250
                            examples:
                            - jane@email.com
                    additionalProperties: false
                  - description: Object to hold secured network token data such as token string, expiration details, cryptographic
                      authentication values, and token source (e.g., ApplePay, GooglePay, Paze). It enhances payment security
                      and enables streamlined digital transactions. Includes billing address and other identifiers to support
                      robust authorization, risk mitigation, and regulatory compliance in tokenized payment ecosystems.
                    type: object
                    properties:
                      networkToken:
                        description: Object to hold secured network token data such as token string, expiration details, cryptographic
                          authentication values, and token source (e.g., ApplePay, GooglePay, Paze). It enhances payment security
                          and enables streamlined digital transactions. Includes billing address and other identifiers to
                          support robust authorization, risk mitigation, and regulatory compliance in tokenized payment ecosystems.
                        type: object
                        properties:
                          token:
                            description: Network token string
                            type: string
                            minLength: 13
                            maxLength: 20
                            examples:
                            - '4895370017589737'
                          expiryMonth:
                            description: Expiry month
                            type: string
                            pattern: ^(0?[1-9]|1[0-2])$
                            examples:
                            - '05'
                          expiryYear:
                            description: Expiry Year
                            type: string
                            pattern: ^(202[4-9]|20[3-9]\d|2[1-9]\d{2})$
                            examples:
                            - '2032'
                          secureCavvData:
                            description: Secure cavv data
                            type: string
                            examples:
                            - AwAAAAAAmCjhPZYp4s7YQHwAAAA=
                          eci:
                            description: Electronic commerce indicator
                            type: string
                            maxLength: 2
                            examples:
                            - '07'
                          tokenType:
                            description: Token type flag
                            type: number
                            minimum: 1
                            maximum: 9
                            examples:
                            - 1
                          tokenSource:
                            description: Token Source - ApplePay/GooglePay/Paze
                            type: string
                            enum:
                            - APPLEPAY
                            - GOOGLEPAY
                            - PAZE
                            - VISA
                            examples:
                            - PAZE
                        required:
                        - expiryMonth
                        - expiryYear
                        - secureCavvData
                        - token
                        - tokenSource
   

# --- truncated at 32 KB (587 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/deluxe/refs/heads/main/openapi/deluxe-dpp-gateway-openapi.yml