1. One-time Payments
  • 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
        POST
    • 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. One-time Payments

Single payment

POST
/pos/v1/transaction
With this endpoint you can:
Take payments
Make deferred charge
Take payments with tips
Make payments with cashback

Supported Reading Channels#

We support the following reading channels. The fields you send to us to process a charge may differ depending on the reading type.
ICC= Integrated Circuit Card
MCR= Magnetic Card reader
NFC= Near Field Communication

Take payments#

You can make card present payments in different currencies by adding taxes, deferring a transaction, or making a cashback by reading a physical card with a terminal.

Structure#

Single charge#

To make a charge, send charge in the transaction_type field and Authorization in the transaction_mode field as part of the body of your request.

Deferred charges#

To defer a payment, if your customer requests to defer the charge of the transaction made at your store, you need to consume the endpoint https://api-uat.kushkipagos.com /pos/v1/transaction in the request body, include charge in the transaction_type field and Authorization in the transaction_mode field. Also, include the value of is_deferred in true, send the deferred object and inmonths, include the total number of months for which your customer’s payment will be deferred.

Accepting payments with tips#

You can accept payments with tips by adding an additional field with the tip information.
To accept this type of service, you need to consume the endpoint https://api-uat.kushkipagos.com /pos/v1/transaction and include the tip amount in the tip field. Send Authorization in the transaction_mode field and Charge in the transaction_type as part of the request body.
The tip amount is in addition to the total amount of the transaction sent in the fields subtotal_iva or subtotal_iva0

Accepting payments with cashback#

Kushki allows you to make a cashback at the time of a physical card payment. To accept this type of service, you need to consume the endpoint https://api-uat.kushkipagos.com/pos/v1/transaction and send the value of the is_cashback parameter in true and specify the cashback amount in cashback_amount.
Important
Please note that cashback only works with local cards.
Cashback is not supported for contactless transactions. Ensure the reading_type is not set to NFC.

Request

Header Params

Body Params application/json

Examples

Responses

🟢200OK
application/json
OK
Bodyapplication/json

🟠400Bad Request
🟠401Unauthorized
🔴500Server Error
Request Request Example
Shell
JavaScript
Java
Swift
cURL
curl --location 'https://api-uat.kushkipagos.com/pos/v1/transaction' \
--header 'Private-Credential-Id;' \
--header 'Content-Type: application/json' \
--data '{
    "amount": {
        "currency": "PEN",
        "iva": 0,
        "subtotal_iva": 0,
        "subtotal_iva0": 60000,
        "tip": 0,
        "extra_taxes": {
            "airport_tax": 0,
            "iac": 0,
            "ice": 0,
            "travel_agency": 0
        }
    },
    "card_details": {
        "enc_tlv": "CE447A062C49774934E42A7F826668C0C478E38402C158062EE794C0E471B43EA8CE49C256C2C8B157526B0B2BE74FC23F65E18D4F52B99A1A0910E6CCD9B11A32D6D537E2B6E2B011C89569DE6A3D53318080BC77E0E70B398ED3083FD7366CCF8FB4DBF34A116E6D52CFBEF26371878D842034E5029EF62DF235D2C427F04102E451773D9E8975978917E3BC531327702967052E239F8C592734AE14688E603C52B858FC1D97B763AE623603F1475FFFB065EC07AF7A29",
        "pin_ksn": "FFFF4357486333600002",
        "reading_type": "ICC",
        "tracks": {
            "enc_track2": "283587285CE10278E7FA50AD5C97CFFE87F472C9FE6406F8",
            "track_ksn": "FFFF4357486333600002"
        }
    },
    "card": {
        "card_holder_name": "John Doe"
    },
    "contact_details": {
        "document_number": "",
        "document_type": "-1",
        "email": "",
        "first_name": "",
        "last_name": "",
        "second_last_name": "",
        "phone_number": ""
    },
    "pos_details": {
        "brand": "SUNMI",
        "model": "P2-EU",
        "terminal_id": "PB04216R20537",
        "version": "Kushki SunmiV1.1.26",
        "has_print": true,
        "location": {
            "latitude": -0.22480833333333333,
            "longitude": -78.487955
        },
        "user": "juan.perez",
        "friendly_name": "Caja principal",
        "serial": "SN123456",
        "type": "COUNTERTOP",
        "connectivity": "WIFI"
    },
    "country": "PER",
    "is_deferred": false,
    "client_transaction_id": "6680eadc-6c8d-44aa-8ca0-18e061c1472a",
    "merchant_id": "0987654321",
    "transaction_type": "charge",
    "transaction_mode": "Authorization",
    "is_cashback": false,
    "cvm_type": "none"
}'
Response Response Example
200 - Approved charge transaction
{
    "additional_amounts": {
        "account_type": "",
        "amount": 0,
        "amount_type": "",
        "card_type": "",
        "currency_code": "PEN"
    },
    "authorized_amount": 611,
    "card_type": "credit",
    "cvm_type": "none",
    "F11": "101619",
    "franchise": "MASTERCARD",
    "kushki_response": {
        "code": "000",
        "message": "Transacción Aprobada."
    },
    "message_fields": {
        "F38": "121866",
        "F39": "00"
    },
    "transaction_reference": "fb1d8f34-31fc-4d9d-ab7e-375d7f0801a5",
    "transaction_status": "APPROVAL",
    "transaction_type": "charge",
    "ticket_number": "111727462978861299"
}
Modified at 2026-07-29 17:34:19
Previous
One-time Payments
Next
Two-step Payments
Built with