1. Cloud Terminal API
Kushki Docs
English
  • Español
  • English
  • Home
  • Quick Start
    • Frequently Asked Questions
    • Moving to Production
    • Policy for Important API Changes
    • Test Data
    • Error Codes
    • Latest Features
  • Payment Glossary
    • Payments Glossary
  • One-time card payments (Online)
    • Supported card brands
    • Functionalities by business model
    • How do third party commissions work?
    • Integration guide Third Party Commissions
    • Network Tokens
    • One-step Payments
      • How do Card Payments Work?
      • Accept a Card Payment
      • Direct charge (without token)
      • Accept One-Time Payments with OTP
      • OTP Authentication Error Codes
      • Error codes for single card payments
    • Two-steps Payments
      • How do single payments with authorization and capture work?
      • Receive payments with authorization and capture
    • Refunds
      • Returns, cancellations, and refunds
    • 3DS Authentication
      • Introduction to 3DS
      • 3DS API integration
      • 3DS integration with kushki.js library
      • 3DS API integration plus kushki.js library
      • 3DS Error Codes
    • Apple Pay Payments
      • Apple Pay Configuration
      • Apple Pay Sandbox testing
  • Recurring Card Payments (Online)
    • Functionalities by business model
    • External subscriptions to Kushki
    • Authenticate your subscriptions with 3DS
    • Accept one-click payments with 3DS
    • Error codes in recurring charges
    • Apple Pay for Subscriptions
    • Scheduled payments
      • How do Credit or Debit Card Payment Recurring Charges Work?
      • Create a recurring charge
      • Manage your Scheduled Charges
    • OneClick Payments
      • Accepting One-Click Payments
      • How do OneClick payments with authorization and capture work?
      • Receive one-click payments with authorization and capture
  • Card-present payments
    • Card present payments
    • Accept card present payments
    • Test data
    • Webhooks for card present
    • Cloud Terminal API
      • Cloud terminal API overview
      • Take payments
      • Cancel a payment request
      • Check the status of a payment request
      • How to print a customized ticket?
    • App-to-app
      • App-to-app overview
      • Take payments
    • Terminal SDK
      • Terminal SDK Introduction
      • Take payments
    • Raw card-present API
      • Raw card-present API overview
      • Cryptographic key exchange
      • Sample script to encrypt information
      • Take Payments
      • Frequently Asked Questions
      • Error codes for card-present transactions
    • Transactions
      • Transactions
      • Cancel payments
    • Kushki One
      • First Steps
      • Autenticación y Cifrado de Requests
      • Accept payments with Kushki One
      • Amount Format
      • Async services and webhooks
      • Printing on SmartPOS terminal
      • Unified Error Catalog — Kushki ONE Connect
    • Kushki One Payment App
      • Overview
      • Process a payment
      • Split payment on the terminal
      • Refunds and PreAuth & Capture
      • Review Your Transactions
      • Terminal Setup
  • Wire Transfers
    • How do Payments by Wire Transfers Work?
    • Banks and transaction details for bank transfer payments
    • Receive Wire Transfers
    • Check the Status of a Transaction
  • Money Disbursement
    • Wire Transfer
      • How Does a Payment Distribution by Wire Transfer Work?
      • Payment Distribution to Bank Accounts
      • Error codes for transfer dispersions
  • Payment Links
    • Smartlinks
  • Plugins
    • Shopify
      • Shopify
      • Plugin Operation
    • VTEX
      • VTEX Integration Guide
  • Payment forms and buttons
    • Kajita
      • How Does it Work?
      • Payment Kajitas
    • Payment Button
      • Overview
      • Generate a payment button
  • Branch Offices Management
    • How to Onboard Submerchants via API
  • Notifications
    • Webhooks
    • Good Practices
    • Check your Webhooks
    • One-time Payments Webhooks
      • Webhook for One-Time Payments made with a card
      • Webhook for One-Time Payments by Wire Transfer
      • Webhook for One-Time Payments in Cash
    • Recurring Payments Webhooks
      • Webhook for Recurring Payments Made with Card
    • Payment Distribution Webhooks
      • Webhook for payment disbursement through wire transfer
    • Payment button Webhooks
      • Webhooks with Payment Button
    • Smartlinks Webhooks
      • Webhooks with Smartlinks
    • Refunds Webhooks
      • Webhook for Voids and Refunds
      • Chargeback Webhooks
HomeMexico 🇲🇽
Ecuador 🇪🇨Chile 🇨🇱Colombia 🇨🇴Peru 🇵🇪
HomeMexico 🇲🇽
Ecuador 🇪🇨Chile 🇨🇱Colombia 🇨🇴Peru 🇵🇪
Status
Soporte / Support
English
  • Español
  • English
  1. Cloud Terminal API

How to print a customized ticket?

Send and print customized tickets on your Summit terminal
With this feature, you can send a customized ticket from your system to be displayed and printed directly on a Summit terminal using Billpocket’s service. You only need to specify the device’s serial number and define the ticket layout with the content you want to show.

What do you need to use it?#

You must send a JSON request that includes:
The terminal’s serial number (serialNumber)
The ticket structure (ticketData)
Optionally, a notification to be displayed beforehand (showNotification)

Available Fields#

FieldTypeRequiredDescription
serialNumberstring✅ YesSerial number of the Summit terminal where the ticket will be printed.
showNotificationbooleanOptionalIf set to true, the terminal will show a notification before opening the print app. Default value: false.
notificationTitlestringOnly if showNotification = trueNotification title. Must be between 2 and 30 characters.
notificationMessagestringOnly if showNotification = trueNotification message. Must be between 1 and 60 characters.
ticketDataarray of objects✅ YesThe content of the ticket to be printed. Composed of text, line, or column blocks.
To learn more about required fields, refer to our technical documentation

What can you display on the ticket?#

Within the ticketData field, you can combine different types of content:

1. Text (text)#

Prints a line of text. You can customize it with:
Size: small, normal, big
Bold:: activar o no (bold: true/false)
Alignment:: left, center, right
Example:
{
  "type": "text",
  "value": "Pedidos para mesa 6",
  "size": "big",
  "bold": true,
  "align": "center"
}

2. Line (line)#

Adds a visual separator line.
It does not require additional content, just the type.
Example:
{
  "type": "line"
}

3. Column (column)#

Prints a row with 2 or 3 columns. Useful for listing products, prices, totals, etc.
Example:
{
 "type": "column",
 "value": ["Producto", "Precio", "Total"],
 "align": "center"
}

Want to show a notification before printing?#

You can enable this by using the showNotification field.
If you send showNotification : true
The terminal will display a popup notification with a title and message before opening the print app.
Required fields if notification is enabled:
FieldDescriptionAllowed length
notificationTitleTitle displayed in the notification2 to 30 characters
notificationMessageMessage shown in the notification1 to 60 characters
If set to false (default value), the print app will open directly without showing any notification.

Recommendations#

Avoid sending duplicate tickets: You cannot overwrite a ticket that hasn't been printed yet.
Design your layout intentionally: Use lines and columns to ensure a clear and professional presentation.
Prevent validation errors: Make sure you respect the character limits for notification fields.

What happens after sending the ticket?#

A preview of the ticket will be shown on the terminal screen.
The user can review it before printing.
Upon pressing the “PRINT TICKET” button, the ticket is printed physically.

Possible Responses#

CodeMeaning
201Ticket successfully sent
400Bad Request
401Unauthorized
404Not found
500Internal server error
Modificado en 2026-09-24 15:16:28
Anterior
Check the status of a payment request
Siguiente
App-to-app
Built with