1. Card Present Payment Services
  • API Docs Mexico 🇲🇽
  • Online Payments
    • Release Notes
    • Card Payments
      • Request a card token
      • Make a charge or deferred charge
      • Create payment (tokenless)
      • Request deferred options
      • Refund a transaction
      • Authorize payments
      • Preauthorization (tokenless)
      • Void a transaction
      • Reauthorize payments
      • Capture an authorized payment
      • Bin Info V2
      • Bin Info
      • Validate OTP
    • One-Click and Scheduled Payments
      • Request a recurring charge token
      • Create a recurring charge
      • Make an One-click payment
      • Update recurring charge card data
      • Cancel a recurring charge
      • Update a recurring charge
      • Add a temporary charge or discount
      • Authorize payments
      • Capture an authorized payment
      • Get recurring charge Info
    • Transfer in
      • Get Bank List
      • Request a Transfer In token
      • Init Transaction
      • Get Status
    • Transfer Out
      • Get Bank List
      • Get Bank List V2
      • Request a Transfer Out token
      • Init Transaction
      • Get Status
      • Balance for Payouts
    • Smartlinks
      • Create a Smartlink
      • Get a Smartlink
      • Delete a smartlink
      • Update a Smartlink
    • Payment Button
      • Create a payment button
    • Analytics
      • Get transactions list v1
      • Get transactions list v2
    • Chargebacks
      • Query Chargebacks
      • Request Chargeback Export
    • Commissions
      • Get Commission Configuration
    • Payment Credentials
      • Create a credential
      • Activate or deactivate
      • Delete credential
      • Regenerate a credential
      • Update credential
      • Advanced search
      • Search credentials
    • Platform Status
      • Get platform status
      • Get gateway status
    • Settlement
      • Query settlement
    • Subscription Transactions
      • Get subscription transactions
  • Card Present Billpocket
    • Get Started
      • Create Account
      • User Token
      • API Keys
    • Webhooks
      • Webhooks — Transfer Funds to Your Bank Account
      • Transfer Funds Errors
    • Terminals
      • App Review
      • Splash Screen
    • Card Present Payment Services
      • Cloud Terminal API
        • Collect card payments
        • Print Ticket
        • Cancel Push Notification
        • Get transaction status
        • Collect card payments v2
      • App-to-App
        • Android intents
        • App to App — iOS
        • App to App — Mobile Web
      • Terminal SDK
        • Terminal SDK Android
        • Android SDK errors
    • Card not Present Billpocket Services
      • 3DS Checkout
        • Create checkout
        • Get checkout details
      • E-commerce Flex
        • Get token
        • Validate token
        • Collect payments
        • Refund
        • Capture an authorized payment
        • Get status
    • Catalogs
      • States
      • Municipalities
      • Tax companies
      • Commercial activities
    • User Settings
      • Create user
    • Accounts
      • Clabe Account Setup
        • Add CLABE account
      • Deposit Accounts
        • Add or update CLABE account
    • Transactions
      • Transaction List
        • Get token
        • Get transaction list
        • Get transaction list v2
        • Get transaction list v3
        • Get transaction list v4
      • Cancel Payments
        • Cancel payments Error Codes
        • Cancel payments
  • API Raw Card Present
    • The Amount Object
    • Error Catalog
    • Key Exchange Process
    • Release Notes
    • Test Data
    • One-time payments
      • Single payment
    • Two-step-payments
      • Authorization and capture
    • Voids & Refunds
      • Refund a transaction
      • Void & Reverse
    • Card information
      • Get BIN Info
      • Bin Info V2
      • Request deferred options
    • Query Transactions
      • Transaction Search
    • Webhooks
      • Webhooks — Introduction
      • Good Practices
      • Webhooks — Card Payments
      • Webhooks — Refunds
      • Check Your Webhooks
    • Chargebacks
      • Query Chargebacks
      • Request Chargeback Export
  • Kushki One
    • Error Catalog
    • Release notes
    • Transaction Examples
    • Webhooks
    • Cloud Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Refund
          • Abort
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
        • Search
          • Transaction Search
      • Print
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Payment
        • Sync
          • Charge
          • Authorization (Pre-auth)
          • Capture
          • Re-authorization
          • Post-tip
          • Void
          • Refund
          • Abort
        • Async
          • Charge (Async)
          • Authorization — Pre-auth (Async)
          • Capture (Async)
          • Re-authorization (Async)
          • Post-tip (Async)
          • Void (Async)
          • Abort (Async)
        • Search
          • Transaction Search — Online
          • Transaction Search — Local
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
  • Appian - Submerchant Register
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Submerchant Document Upload
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • RequestBodies
      • one-and-two-step-payment
    • Card
    • Channel
    • Amount-cash-in
    • ChargebackListResponse
    • StatusComponent
    • SettlementDateRangeRequest
    • SubscriptionTransactionsResponse
    • amount
    • TransactionResponse
    • PrintJobRequest
    • one-and-two-step-payment-2
    • networkToken
    • ChargebackItem
    • SubscriptionTransaction
    • extra_taxes
    • RawResponse
    • CommandText
    • currency
    • ErrorResponse400
    • ErrorResponse
    • SettlementResponse
    • SettlementRecord
    • webhooksItem
    • card
    • CardData
    • CommandColumns
    • Amount
    • Country
    • ErrorResponse401
    • card_details
    • LinkFailure
    • ColumnItem
    • extraTaxes
    • ErrorResponse403
    • enc_tlv
    • CommandDivider
    • TransactionEvent
    • Deferred
    • payment_method
    • ErrorResponse500
    • deferred
    • CommandFeed
    • TransactionStatus
    • pos_details
    • CommandSpace
    • ReadingType
    • ContactDetails
    • contact_details
    • sub_merchant
    • CommandCut
    • FailureReason
    • documentType
    • Subscription
    • metadata
    • CommandImage
    • EventTerminal
    • orderDetails
    • Language
    • TransactionSearchRequest
    • CommandQR
    • EventOperation
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • EventAmount
    • Billing-Address
    • SubscriptionUpdate
    • EventExtraTaxes
    • PrintJobAccepted
    • product
    • SubscriptionAdjustmentRequest
    • PrinterError
    • EventMetadata
    • threeDomainSecure
    • AmountWithTaxes
    • PrintJobStatus
    • PrintJobStatusRequest
    • webhooks
    • AmountCore
    • headers
    • ExtraTaxes
    • PrintWebhookPayload
    • Metadata
    • webhooksChargeback
    • citMit
    • AmountWithTip
    • network
    • TransactionSearchBody
    • TransactionSearchOnlineBody
    • binInfo
    • AmountWithOptionalTip
    • TransactionSearchLocalBody
    • messageFields
    • TransactionEvent_2
    • UnexpectedErrorResponse
    • FailureReason_2
    • transactionType
    • ExternalReferenceId
    • EventTerminal_2
    • ExternalSubscriptionId
    • EventOperation_2
    • EventAmount_2
    • EventExtraTaxes_2
    • EventMetadata_2
    • SettlementTicketRequest
BienvenidaPerú 🇵🇪México 🇲🇽
Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
BienvenidaPerú 🇵🇪México 🇲🇽
Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
  1. Card Present Payment Services

Cloud Terminal API

Product in beta version 🔐
We are working on our beta version. Stay tuned for its official release! You can also contact your account manager for more information.
Create new card payment experiences in your business. Cloud Terminal API allows you to integrate a terminal to your point of sale (POS) system easily and securely through a REST API, giving you direct control from your system when making a card payment. No physical connection is needed: your POS communicates with the terminal over the internet, and the terminal handles card reading, EMV processing and receipt printing.
This guide covers everything you need to process card payments in the terminal.
INFO
Service available in Mexico 🇲🇽 only.
cloud-terminal-api.png

Main features#

Easy to integrate: integrate a terminal across any platform and any device that allows HTTP requests.
Scalable: the API architecture allows you to scale, adding terminals according to your needs, without major difficulty.
Control: manage your entire operation from your POS. Delegate payment operations through your POS to our terminals.
Security: communication with our terminals is encrypted at all times to protect sensitive information, according to the strictest industry standards.

Requirements#

Before you can perform an integration, you must meet the following requirements:
An Ultra, Ultra P or Ultra SE reader
A valid account
POS app installed on the terminal, version 4.3.26 or higher
A stable internet connection
Firewalls and similar services configured to allow communication with the domains described below

Environments#

You can simulate tests in the Dev environment to make the necessary adjustments to your system. Remember that no real transactions are processed in this environment. Choose the right environment to send notifications to the terminal from your POS.
EnvironmentBase URL
Devhttps://kushkicollect.billpocket.dev
Livehttps://kushkicollect.billpocket.com

Authentication#

All requests require a valid user token in the X-BP-AUTH header:
Check out our guide to get your user token.
Note
Remember to use the correct user token according to the environment.
Important
Store your user token in a safe place. Never share it or expose it to third parties.

Available endpoints#

MethodPathOperation
POST/push-notificationsCollect card payments
POST/v2/push-notificationsCollect card payments v2
POST/print-ticketPrint ticket
POST/cancel-transactionCancel push notification
GET/get-status/?uniqueReferenceGet transaction status

How it works#

1.
Your POS sends the payment request to the Cloud Terminal API with the terminal's serial number and the amount.
2.
The API processes the request and relays it to the terminal as a push notification.
3.
The customer presents their card; the terminal reads and encrypts the card information and sends it to be processed.
4.
Kushki processes the transaction and approves or declines it.
5.
Kushki notifies the response to your POS through a webhook, so you can continue the payment flow in your store.

Process a payment#

Follow these steps to process payments through Cloud Terminal API.

Collect a payment#

To send a payment request to the terminal from your POS, consume the Collect card payments or Collect card payments v2 endpoint, sending:
The serial number of the selected terminal.
An amount greater than $1 MXN.
An identifier of up to 256 characters, generated on your side, that gives you traceability of the transaction. This value is returned to you through the webhook.
v1:
{
   "serial_number": "TERM1TEST",
   "amount": 27,
   "identifier": "identificador 1"
}
v2:
{
   "serialNumber": "TERM1TEST",
   "amount": 27,
   "identifier": "identificador 1"
}

Collect a payment with tip#

You can also collect tip payments by submitting the tip property at the time of the request:
v1:
{
   "serial_number": "TERM1TEST",
   "amount": 27,
   "tip": 1.5,
   "identifier": "identificador 1"
}
v2:
{
   "serialNumber": "TERM1TEST",
   "amount": 27,
   "tip": 1.5,
   "identifier": "identificador 1"
}
Visit the Collect card payments and Collect card payments v2 endpoints to see more details about the properties available at the time of a request, and to try the call from your browser.

Response#

If the information sent is correct, you get an HTTP status code 201 Created, indicating that the notification was successfully sent to the terminal.
Note
Remember that the terminal must be connected to the internet to receive notifications.

On the terminal#

You receive a notification with the information sent. Slide down the notification bar and tap the notification to open the POS application.
pushNotification.png
The payment screen appears in the POS application. If the information displayed is correct, tap the COBRAR button to proceed with the payment.
VentanaCobro.png
Follow the on-screen steps to read and process the card information. After the transaction is processed, a webhook is sent with its status.

Next steps#

Find out how to set up a webhook so you can receive the status of the transaction once it has been processed.
Webhooks
Receive the transaction result once the terminal processes the payment.
Transaction list
Query processed transactions for reconciliation.
Cancel payments
Cancel an authorized transaction on the same business day.

Got a suggestion on this documentation? Contact us.
Modified at 2026-08-25 18:29:02
Previous
Card Present Payment Services
Next
Collect card payments
Built with