---
title: "Create Token-Only Transaction"
method: POST
path: "/rest/v2/terminal/transactions/token-only"
tags: ["Semi-Integrated Transactions"]
---

# Create Token-Only Transaction

`POST /rest/v2/terminal/transactions/token-only`

Collect card data and generate a payment token for future use without authorizing or capturing funds.

## Headers

- `api-key` string, required

## Request body

- Request
  - `amount` 'range[-infinity, 12]', required — Total transaction amount.
  - `type` 'AUTH,SALE,REFUND,VOID,CAPTURE,FORCED SALE,CARD INQUIRY', required — Transaction type to process. For example, SALE, AUTH, REFUND.
  - `card` string — Card number or payment token.
  - `id` 'range[-infinity, 19]' — Transaction identifier from a previous sale or authorization.
  - `billing` Address — Contains the customer's billing address details.
    - `company` string — Company name associated with the billing address.
    - `street` string — Primary street address for the billing.
    - `street2` string — Secondary street address information, if available.
    - `city` string — City associated with the billing address.
    - `state` string — State or province of the billing address.
    - `zip` string — ZIP or postal code of the billing address.
    - `country` string — Country of the billing address.
    - `phone` string — Phone number associated with the billing address.
    - `first-name` string — First name of the billing contact.
    - `last-name` string — Last name of the billing contact.
  - `shipping` Address — Contains the customer's billing address details.
    - `company` string — Company name associated with the billing address.
    - `street` string — Primary street address for the billing.
    - `street2` string — Secondary street address information, if available.
    - `city` string — City associated with the billing address.
    - `state` string — State or province of the billing address.
    - `zip` string — ZIP or postal code of the billing address.
    - `country` string — Country of the billing address.
    - `phone` string — Phone number associated with the billing address.
    - `first-name` string — First name of the billing contact.
    - `last-name` string — Last name of the billing contact.
  - `csc` string — Card security code.
  - `invoice` string — Merchant-defined invoice number.
  - `description` 'range[-infinity, 255]' — Description of the transaction.
  - `comments` 'range[-infinity, 225]' — Additional notes for the transaction.
  - `cvm` 'NON (None),MSG(Manual Signature),OFC(Offline Pin in the Clear),PIN(Online Pin),OFE(Offline Encrypted Pin)' — Cardholder verification method.
  - `exp-date` string — Card expiration date in MMyy format.
  - `track2-data` string — Clear-text Track 2 data.
  - `encrypted-track-data` string — Encrypted track data; requires track-format.
  - `track-format` 'MAGTEK,IDTECH,DEJAVOO,PAX' — Format of encrypted track data.
  - `tip-amount` 'range[-infinity, 12]' — Tip amount applied to the transaction.
  - `authorization-code` 'range[-infinity, 255]' — Authorization code for a forced sale obtained from an external processor.
  - `purchase-order` 'range[-infinity, 255]' — Merchant-defined purchase order number.
  - `email-receipt` string — Indicates whether to send an email receipt to the customer.
  - `email-address` 'range[-infinity, 255]' — The customer's email address.
  - `customer-id` 'range[-infinity, 255]' — Merchant-defined customer identifier.
  - `order-id` 'range[-infinity, 255]' — Merchant-defined order identifier.
  - `client-ip` 'range[-infinity, 255]' — IP address where the request originated.
  - `billing-is-shipping` string — Indicates whether billing and shipping addresses match.
  - `create-token` string — Creates a payment token during the transaction.
  - `merchant-legacy-token` string — Indicates use of a legacy payment token.
  - `token-description` 'range[-infinity, 255]' — Description for the created token.
  - `card-type` 'VISA,MASTERCARD,AMERICAN EXPRESS,DISCOVER,DINERS CLUB,JCB' — Card brand when creating a token.
  - `emv-data` string — EMV transaction data payload.
  - `key-serial-number` string — Key serial number for EMV encryption.
  - `emv-entry-method` 'EMV_DIP,EMV_CONTACTLESS,EMV_FALLBACK_SWIPE,EMV_FALLBACK_NONTECH' — Method used to capture EMV data.
  - `software-type` 'range[-infinity, 255]' — Identifies the integrating application.
  - `software-type-version` string — Version of the integrating application.
  - `pin-data` string — Encrypted PIN data for PIN-based transactions.
  - `contactless` string — Indicates contactless usage (full EMV only).
  - `contactless-device` string — Indicates contactless device usage (full EMV only).
  - `sales-tax-amount` 'range[-infinity, 12]' — Sales tax amount applied to the transaction.
  - `sales-tax-type` 'LOCAL_SALES_TAX,TAX_EXEMPT' — Sales tax classification.
  - `check-field` 'range[-infinity, 15]' — Field used for duplicate transaction checks.
  - `service-fee` 'range[-infinity, 12]' — Service fee applied to the transaction.
  - `check-field-mid` boolean — Enables merchant-level duplicate validation for EMV.
  - `platform-fees` PlatformFee[] — Platform fees applied to the merchant.
    - `fee-name` 'DealManager' | 'FillMyBook' — The name of the fee applied to the transaction.
  - `is-amex` boolean — Indicates whether the card is American Express.
  - `is-sp30` boolean — Indicates whether the transaction is processed on an SP30 terminal.
  - `card-inquiry` boolean — Validates the card before token storage.
  - `level3` Level3 — Level 3 data for enhanced transaction details.
    - `vat-tax-amount` string — The VAT amount applied to the transaction.
    - `vat-tax-rate` string — VAT tax rate applied to the transaction.
    - `order-date` string — The date when the order was created.
    - `customer-vat-registration-number` string — Cardholder's VAT registration number.
    - `summary-commodity-code` string — Code that identifies the type of service included in the transaction.
    - `discount-amount` string — Total discount amount.
    - `destination-country-code` string — The ISO country code of the destination.
    - `freight-amount` string — Freight charges.
    - `duty-amount` string — Duty amount applied.
    - `level3-items` Level3Items — Level 3 line-item data for the transaction.
      - `level3-items` Level3Item[]
        - `item-description` string — Description of the item.
        - `item-commodity-code` string — Commodity code of the item.
        - `item-quantity` string — Quantity of items comprising of the order.
        - `item-unit-of-measure` string — The unit of measure of the purchased item as determined by ANSI X-12. Allowable Units of Measure and Codes.
        - `item-unit-cost` string — Per item cost for the order.
        - `item-product-code` string — Merchant identifiable code e.g., SKU or Model Number.
        - `item-tax-amount` string — Tax amount per item.
        - `item-tax-rate` string — Tax rate per item expressed as a decimal.
        - `item-discount` string — Discount amount applied per item.
        - `item-line-total` string — Total item count for the order.
        - `item-net-gross-ind` string — Indicated where the extended item amount is included in the tax. Can either be Yes ("Y") or No ("N") but should be passed as "N".
        - `item-discount-rate` string — Discount rate applied per item expressed as a decimal.
  - `partial-authorization` boolean — Allows partial approval when full amount is unavailable.
  - `add-tax-to-amount` boolean — The sales-tax-amount with respect to the total amount used for authorization and capture.

## Response `200`

Successful Sale Transaction

- Transaction — Contains all details related to the authorized transaction.
  - `amount` string — Total value associated with the transaction.
  - `currency` string — Currency used for the transaction.
  - `id` string — Unique transaction ID.
  - `invoice` string — Invoice number associated with the transaction.
  - `description` string — Description of the transaction.
  - `comments` string — Comments associated with the transaction.
  - `serverId` string
  - `created` string — Date and time when the transaction was created.
  - `type` 'AUTH' | 'SALE' | 'REFUND' | 'VOID' | 'CAPTURE' | 'FORCED SALE' | 'CARD INQUIRY' — Identifies the transaction type.
  - `result` 'APPROVED' | 'DECLINED' | 'ERROR' — Result of the transaction. For example, APPROVED.
  - `billing` Address — Contains the customer's billing address details.
    - `company` string — Company name associated with the billing address.
    - `street` string — Primary street address for the billing.
    - `street2` string — Secondary street address information, if available.
    - `city` string — City associated with the billing address.
    - `state` string — State or province of the billing address.
    - `zip` string — ZIP or postal code of the billing address.
    - `country` string — Country of the billing address.
    - `phone` string — Phone number associated with the billing address.
    - `first-name` string — First name of the billing contact.
    - `last-name` string — Last name of the billing contact.
  - `shipping` Address — Contains the customer's billing address details.
    - `company` string — Company name associated with the billing address.
    - `street` string — Primary street address for the billing.
    - `street2` string — Secondary street address information, if available.
    - `city` string — City associated with the billing address.
    - `state` string — State or province of the billing address.
    - `zip` string — ZIP or postal code of the billing address.
    - `country` string — Country of the billing address.
    - `phone` string — Phone number associated with the billing address.
    - `first-name` string — First name of the billing contact.
    - `last-name` string — Last name of the billing contact.
  - `card` string — Card number used for the transaction.
  - `csc` string — Card Security Code used.
  - `cvm` 'NON (None)' | 'MSG(Manual Signature)' | 'OFC(Offline Pin in the Clear)' | 'PIN(Online Pin)' | 'OFE(Offline Encrypted Pin)' — Cardholder Verification Method used.
  - `action` Action — The transaction action performed.
    - `url` string — URL endpoint used for the transaction.
    - `method` string — Method used for the transaction. For example, POST, GET.
    - `type` string — Type of transaction. For example, SALE.
    - `environment` string — Environment in which the transaction was processed. For example, production, test.
    - `locale` string — Locale setting used during the transaction.
    - `data` object — Additional data properties related to the action.
    - `payment-method-type` string — Type of payment method used. For example, card, wallet.
    - `sub-type` string — Sub-category of the transaction type.
    - `client-key` string — Key identifying the client initiating the transaction.
    - `qr-code-data` string — Data encoded in the QR code for the transaction.
  - `authorization-code` string — Code indicating the transaction authorization.
  - `avs-result-code` 'X' | 'Y' | 'A' | 'W' | 'Z' | 'N' | 'U' | 'R' | 'S' | 'G' — Result code from Address Verification Service.
  - `avs-result-code-description` string — Description of the AVS result.
  - `csc-result-code` 'M' | 'N' | 'P' | 'S' | 'U' | 'X' — Result code from CSC verification.
  - `csc-result-code-description` string — Description of the CSC result.
  - `tip-adjusted-amount` string — Amount of the adjusted tip.
  - `avs-street` string — Street used in AVS check.
  - `avs-zip` string — ZIP code used in AVS check.
  - `token-description` string — Description of the token created.
  - `original-amount` string — Original amount before adjustments.
  - `tip-amount` string — Tip amount included in the transaction.
  - `ref-id` string — Reference ID for the transaction.
  - `entry-method` string — Method used to enter payment data of the transaction. For example, Swipe/Manual.
  - `first-recurring-transaction` string — Indicates whether this is the first recurring transaction.
  - `batch-string-id` string — Identifies the settlement batch ID.
  - `order-id` string — Order id passed in with the transaction.
  - `purchase-order` string — Purchase order number.
  - `customer-id` string — Customer id passed in with the transaction.
  - `email-address` string — Email address associated with the transaction.
  - `display-message` string — Displayable message about transaction result.
  - `result-code` string — Result code associated with transaction result.
  - `billing-is-shipping` string — Indicates if billing and shipping addresses are the same.
  - `tip-adjusted` string — Indicates if the tip was adjusted.
  - `exp-date` string — Expiration date of the card.
  - `client-ip` string — IP address of the client initiating the transaction.
  - `voided` string — Indicates if the transaction was voided.
  - `pending` string — Indicates if the transaction is pending.
  - `voided-auth` string — Indicates if the authorization was voided.
  - `settled` string — Indicates if the transaction has been settled.
  - `status` string — Status of the transaction. For example, approved.
  - `emv-data` string — Raw EMV data string.
  - `key-serial-number` string — Serial number of the encryption key used.
  - `emv-entry-method` 'EMV_DIP' | 'EMV_CONTACTLESS' | 'EMV_FALLBACK_SWIPE' | 'EMV_FALLBACK_NONTECH' — Method used to enter EMV data.
  - `software-type` string — Type of software used for the transaction.
  - `customer-first-name` string — First name of the customer.
  - `customer-last-name` string — Last name of the customer.
  - `plan-name` string — Name of the payment plan used.
  - `card-type` string — Type of card used. For example, VISA.
  - `contactless` string — Indicates if contactless payment was used.
  - `contactless-device` string — Indicates if a contactless device was used.
  - `sales-tax-type` string — Type of sales tax applied.
  - `sales-tax-amount` string — Amount of sales tax applied.
  - `add-tax-to-amount` boolean — Indicates if tax was added to the transaction amount.
  - `emv-data-response` string — Response data from EMV processing.
  - `emv` Emv — EMV chip data related to the transaction.
    - `application-name` string — The name of the EMV application used to process the transaction.
    - `application-id` string — The unique identifier of the application.
    - `terminal-verification-results` string — Results of terminal-level verification during the transaction.
    - `transaction-status-information` string — Status details that describes the processing state of the transaction.
    - `iad` string — IAD provided by the card issuer during the authorization.
    - `transaction-certificate` string — A certificate generated during the transaction processing.
    - `application-transaction-counter` string — A counter that increments with each transaction.
  - `signature-base-64-image` string — Base64-encoded image of the signature.
  - `last-four` string — Last four digits of the card number.
  - `check-field-duplicate` boolean — Indicates if a duplicate check was performed.
  - `service-fee` string — Service fee applied to the transaction
  - `base-amount` string — Base amount before taxes and fees.
  - `platform-fees` PlatformFee[] — List of platform fees applied.
    - `fee-name` 'DealManager' | 'FillMyBook' — The name of the fee applied to the transaction.
  - `merchant-id` string — Identifier for the merchant.
  - `terminal-id` string — Identifier for the terminal used.
  - `surcharge-applied` boolean — Indicates if a surcharge was applied.
  - `level3` Level3 — Level 3 data for enhanced transaction details.
    - `vat-tax-amount` string — The VAT amount applied to the transaction.
    - `vat-tax-rate` string — VAT tax rate applied to the transaction.
    - `order-date` string — The date when the order was created.
    - `customer-vat-registration-number` string — Cardholder's VAT registration number.
    - `summary-commodity-code` string — Code that identifies the type of service included in the transaction.
    - `discount-amount` string — Total discount amount.
    - `destination-country-code` string — The ISO country code of the destination.
    - `freight-amount` string — Freight charges.
    - `duty-amount` string — Duty amount applied.
    - `level3-items` Level3Items — Level 3 line-item data for the transaction.
      - `level3-items` Level3Item[]
        - `item-description` string — Description of the item.
        - `item-commodity-code` string — Commodity code of the item.
        - `item-quantity` string — Quantity of items comprising of the order.
        - `item-unit-of-measure` string — The unit of measure of the purchased item as determined by ANSI X-12. Allowable Units of Measure and Codes.
        - `item-unit-cost` string — Per item cost for the order.
        - `item-product-code` string — Merchant identifiable code e.g., SKU or Model Number.
        - `item-tax-amount` string — Tax amount per item.
        - `item-tax-rate` string — Tax rate per item expressed as a decimal.
        - `item-discount` string — Discount amount applied per item.
        - `item-line-total` string — Total item count for the order.
        - `item-net-gross-ind` string — Indicated where the extended item amount is included in the tax. Can either be Yes ("Y") or No ("N") but should be passed as "N".
        - `item-discount-rate` string — Discount rate applied per item expressed as a decimal.
  - `partial-authorization` boolean — Indicates if partial authorization was allowed.
  - `partial-approved` boolean — Indicates if the transaction was partially approved.
  - `additional-amounts` AdditionalAmount[] — List of additional amounts applied to the transaction.
    - `amount` string — Amount of transaction.
    - `account-type` string — Account type of transaction.
    - `amount-type` string — Refers to amount type of transaction.
  - `secure3d-eci` string — Electronic Commerce Indicator for 3D Secure.
  - `secure3d-result-code` string — Result code from 3D Secure authentication.
  - `total-amount` string — Total amount including all charges.
  - `processing-party-reference` string — Reference ID from the processing party.
  - `original-processing-party-reference` string — Reference of the original transaction assigned by the processing party.
  - `external-transaction-reference` string — External reference ID for the transaction.
  - `funding-reference` string — Reference for the funding transaction.
  - `token-id` string — Identifier of the payment token.
  - `network-transaction-reference` string — Reference ID from the payment network for the transaction.
  - `create-token` boolean — Indicates if a token should be created for the transaction.
  - `moto` boolean — Indicates whether the transaction is MOTO.
  - `issuer_id` string — Identifier for the card issuer.
  - `digital-wallet-type` string — Type of digital wallet used. For example, GOOGLE.

## Other responses

- `400` — Something is wrong with your request
- `401` — Unauthorized
- `402` — Business Exception (decline, etc)
- `500` — Internal server error

---

[API](https://skmtc.net/xplorpay/apis/external-us-onboarding-workflow.md) · [All operations](https://skmtc.net/xplorpay/apis/external-us-onboarding-workflow/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/xplorpay/external-us-onboarding-workflow/revisions/f37077c24b66/schema)
