1. Cloud Services
  • API Docs Peru 🇵🇪
  • Online Payments
    • Release Notes
    • Card Payments
      • Request a card token
      • Make a charge or deferred charge
      • Preauthorization (tokenless)
      • Create payment (tokenless)
      • Void a transaction
      • Refund a transaction
      • Verify Account
      • Request deferred options
      • Authorize payments
      • Reauthorize payments
      • Capture an authorized payment
      • Validate OTP
      • Bin Info V2
      • Bin Info
    • One-Click & Scheduled Payments
      • Request a recurring charge token
      • Create a recurring charge
      • Update recurring charge card data
      • Make an One-click payment
      • Cancel a recurring charge
      • Update a recurring charge
      • Add a temporary charge or discount
      • Authorize payments
      • Capture an authorized payment
      • Get recurring charge Info
    • Card Out
      • Get Card Payout Token
      • Get Subscription Token
      • Push funds
      • Push Funds in subscriptions
      • Get transaction status
      • Delete Subscription
    • 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
    • Cash In
      • Request a cash in token
      • Init Transaction
      • Transaction Status
    • Smartlinks V2
      • Create a Smartlink
      • Update a Smartlink
      • Get a Smartlink
      • Delete a smartlink
    • Analytics
      • Get transactions list v1
      • Get transactions list v2
    • Chargebacks
      • Query chargebacks
      • Request chargeback export
    • Gateway Status
      • Get gateway status
    • Payment Credentials
      • Create a credential
      • Search credentials
      • Advanced search
      • Activate or deactivate
      • Delete credential
      • Update credential
      • Regenerate a credential
    • Payment Button
      • Create a payment button
    • Platform Status
      • Get platform status
    • Subscription Transactions
      • Get subscription transactions
    • Settlement
      • Query settlement
  • Card Present Payments (API Raw)
    • Release notes
    • Key Exchange Process
    • Test data
    • Kushki Error Catalog for POS transactions
    • The Amount Object
    • 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
      • Balance inquiries
    • Query Transactions
      • Transaction Search
    • Webhooks
      • Introduction
      • Good practices
      • Refunds
      • Card Payments
      • Check your webhooks
  • Kushki One
    • Cloud Services
      • Payment Cloud
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Abort
        • Transaction Search
      • Print Cloud
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Payment Local
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Transaction Search — Local
        • Transaction Search — Online
        • Abort
      • Print Local
        • 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
    • Get submerchantIds
    • Get credentials for submerchants
  • Raíz
  • Schemas
    • Shared
      • ErrorResponse
      • BadRequestResponse
      • InvalidBinResponse
      • payment_method
      • payment_submethod
      • messageFields
      • Channel
    • Amount & Taxes
      • Amount-cash-in
      • GetConfigurationRequest
    • Identity & Contact
      • Shipping Address
    • Card & Payments
      • ChargesVoidCardResponse
      • Promotions
      • Submerchant
    • Subscriptions
      • SubscriptionUpdate
      • SubscriptionAdjustmentRequest
      • SubscriptionTransactionsResponse
    • Webhooks
    • Analytics
      • AnalyticsTransactionItem
      • AnalyticsListResponse
    • Settlement
      • SettlementDateRangeRequest
      • SettlementTicketRequest
      • SettlementResponse
    • Chargebacks
      • ChargebackListResponse
      • ChargebackSearchRequest
    • Cash
      • CashChargeInitRequest
      • CashStatusResponse
    • Transfer
      • TransferTokenRequest
      • TransferInitRequest
      • TransferStatusResponse
    • Payouts
      • PayoutsWebhooksItem
    • Smart Link
      • SmartLinkAmount
    • Terminal
      • AmountWithTaxes
      • AmountCore
      • AmountWithTip
      • TerminalCardDetails
      • TerminalPosDetails
      • TerminalContactDetails
      • TerminalCardData
      • TransactionResponse
      • LinkFailure
      • TransactionSearchRequest
      • PrintJobRequest
      • PrinterError
      • PrintJobStatus
      • PrintWebhookPayload
    • RequestBodies
      • one-and-two-step-payment
    • currency
    • SettlementDateRangeRequest
    • SubscriptionTransactionsResponse
    • card-old
    • AmountWithTaxes-old
    • Card
    • Shipping Address
    • transactionType
    • ChargebackItem-old
    • SettlementTicketRequest
    • SubscriptionTransaction
    • amount
    • AmountCore-old
    • CommandText-old
    • networkToken
    • Language
    • extra_taxes
    • card_details
    • currency
    • ErrorResponse400-old
    • webhooksItem
    • ErrorResponse
    • SettlementResponse
    • extra_taxes-old
    • ExtraTaxes-old
    • CommandColumns-old
    • currency
    • card
    • orderDetails-old
    • Country
    • ContactDetails-old
    • ErrorResponse401-old
    • SettlementRecord
    • pos_details-old
    • ColumnItem-old
    • Amount
    • amount
    • documentType
    • extraTaxes-old
    • ErrorResponse403-old
    • card_details-old
    • TransactionResponse-old
    • CommandDivider-old
    • extraTaxes
    • enc_tlv
    • payment_method
    • ErrorResponse500-old
    • threeDomainSecure
    • enc_tlv
    • RawResponse-old
    • CommandFeed-old
    • Deferred
    • pos_details
    • deferred
    • binInfo
    • contact_details-old
    • CardData-old
    • CommandSpace-old
    • paymentMethod-old
    • Metadata
    • contact_details
    • Billing-Address-old
    • Deferred-old
    • deferred-old
    • sub_merchant
    • AmountWithTip-old
    • CommandCut-old
    • ContactDetails
    • sub_merchant
    • headers
    • Amount-old
    • metadata
    • LinkFailure-old
    • CommandImage-old
    • metadata
    • SubscriptionUpdate
    • TransactionSearchRequest-old
    • CommandQR-old
    • orderDetails
    • Subscription
    • payment_submethod
    • citMit
    • SubscriptionAdjustmentRequest
    • CommandBarcode-old
    • Shipping Address
    • messageFields
    • PrinterError-old
    • Billing Address
    • webhooksChargeback
    • Language
    • PrintJobStatus-old
    • currency-cash-in-old
    • product
    • webhooks
    • networkToken-old
    • PrintWebhookPayload-old
    • currency-CL-old
    • threeDomainSecure
    • webhooks
    • product-old
    • headers
    • webhooksChargeback
    • UnexpectedErrorResponse-old
    • citMit
    • network
    • Card-old-old
    • Submerchant-old
    • binInfo
    • Shipping-Address-old
    • messageFields
    • Promotions-old
    • UnexpectedErrorResponse
    • transactionType
    • InvalidBinResponse-old
    • GetConfigurationRequest-old
    • BadRequestResponse-old
    • Amount-CL-old
BienvenidaPerú 🇵🇪
México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
BienvenidaPerú 🇵🇪
México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴Chile 🇨🇱
  1. Cloud Services

Payment Cloud

The Payment API (Cloud) lets your POS trigger card transactions on the terminal through Kushki's cloud relay. Your server calls cloudt.kushkipagos.com, Kushki routes the command to the terminal identified by its serial number, and the terminal returns the result synchronously.
Beta — Early Access
Kushki ONE Cloud is currently in Beta for Peru 🇵🇪. Do not deploy to production without coordinating with the Kushki integration team.

Base URL and endpoint pattern#

EnvironmentBase URL
Productionhttps://cloudt.kushkipagos.com
UAThttps://uat-cloudt.kushkipagos.com
POST /terminal/v1/{terminalSerial}/sync/{operation}

Authentication#

WARNING
timestamp must be in milliseconds (13 digits). A 10-digit seconds value will be rejected.

Available operations#

OperationEndpointDescription
ChargePOST /sync/chargeOne-step authorization + capture
AuthorizationPOST /sync/authorizationReserve funds, capture later
CapturePOST /sync/captureCollect reserved funds
Re-authorizationPOST /sync/re_authorizationExtend or increase a pre-auth
Post-tipPOST /sync/pos_tipAdd tip to an authorized transaction
VoidPOST /sync/voidCancel same-day transaction — cutoff: 20:59 local
RefundPOST /sync/refundRefund a settled transaction
AbortPOST /sync/abortCancel a transaction in progress
Transaction SearchPOST /sync/transaction_searchQuery terminal transaction history

Request examples#

Charge#

{
  "amount": {
    "subtotal_iva0": 500,
    "subtotal_iva": 0,
    "iva": 0
  },
  "client_transaction_id": "ae6dd41a-9173-4ec7-8734-3178454ef341",
  "metadata": {
    "reference": "ORD-20260101-001",
    "customer_email": "user@example.com"
  }
}

Authorization (Pre-auth)#

{
  "amount": {
    "subtotal_iva0": 500,
    "subtotal_iva": 0,
    "iva": 0
  },
  "client_transaction_id": "auth-20260101-001"
}

Capture#

{
  "transaction_reference": "718fa526-6f41-405f-a1f5-a71db52dfdd2",
  "amount": {
    "subtotal_iva0": 500,
    "subtotal_iva": 0,
    "iva": 0
  }
}
INFO
Capture amount must be ≤ 110% of the total authorized amount. Only one capture per authorization cycle.

Re-authorization#

{
  "transaction_reference": "718fa526-6f41-405f-a1f5-a71db52dfdd2",
  "amount": {
    "subtotal_iva0": 600,
    "subtotal_iva": 0,
    "iva": 0
  }
}
Card typeMaximum hold
Debit7 days
Credit28 days

Void#

{
  "transaction_reference": "718fa526-6f41-405f-a1f5-a71db52dfdd2"
}
WARNING
Void cutoff in Peru: 20:59 local time. Wait at least 1 minute after the original transaction before voiding. Use Refund for settled transactions past the cutoff.

Refund#

{
  "transaction_reference": "718fa526-6f41-405f-a1f5-a71db52dfdd2",
  "amount": {
    "subtotal_iva0": 500,
    "subtotal_iva": 0,
    "iva": 0
  }
}

Transaction Search#

{
  "page": 1,
  "size": 10,
  "filters": {
    "last_four_digits": "5480",
    "start_date": 0,
    "end_date": 0,
    "transaction_reference": "",
    "transaction_type": ""
  }
}

Key concepts#

Save transaction_reference#

Every approved charge or authorization response includes rawResponse.transaction_reference. Persist this value immediately — it is required for void, refund, capture, and re-authorization.

Amount object#

The amount object does not include a currency field — currency is configured at the terminal level in DMS.
FieldDescription
subtotal_ivaNet subtotal subject to IGV
subtotal_iva0Subtotal exempt from IGV
ivaIGV amount (18% in Peru: iva = subtotal_iva × 0.18)
tipTip amount (charge only)
extra_taxesAdditional taxes: airport_tax, iac, ice, travel_agency

Idempotency#

Every request must include a unique client_transaction_id (UUID v4). Reusing the same ID on a retry returns the original result without creating a duplicate.

Terminal blocking#

The terminal blocks all input during card interaction. Do not send another payment command until the current operation returns a response.

Got a suggestion on this documentation? Contact us.
Modified at 2026-06-10 19:28:29
Previous
Cloud Services
Next
Charge
Built with