Every API here is available over the APIs.io API and to AI agents over MCP.
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