1. CARD PRESENT PAYMENTS (API RAW) Copy
Español
  • Español
  • English
  • Bienvenida
    • Home Page
  • Perú 🇵🇪
    • Kushki Developer Portal 🚀
    • Perú 🇵🇪
    • Libraries & SDKs (Online Payments)
      • Release notes
      • Mobile
        • Kushki Android
        • Kushki iOS 
        • Kushki iOS ARM Setup
      • Web
        • Kushki.js 🌐
        • kushki.js-hosted-fields
          • kushki.js Hosted Fields
          • Guía de migración a Kushki.js 2.0
          • Antifraud
            • Interfaces
              • SecureInitRequest
              • SecureInitResponse
              • SiftScienceObject
            • Methods
              • requestInitAntiFraud
              • requestSecureInit
              • requestValidate3DS
          • Card
            • CarApplePay interface
              • ICardApplePay Interface
            • Card-Interface
              • ICard Interface
              • ICardSubscriptions Interface
            • Errors
              • Error list
            • Interfaces
              • Amount
              • ApplePayGetTokenOptions Interface
              • ApplePayOptions Interface
              • ApplePayPaymentContact
              • AppleTokenResponse
              • BrandByMerchantResponse Interface
              • CardFieldValues
              • CardInfo
              • CardOptions
              • CardTokenResponse
              • DeferredByBinOptionsResponse
              • DeferredInputValues
              • DeferredValuesResponse
              • DeviceTokenRequest
              • Field
              • FieldInstance
              • Fields
              • FieldValidity
              • FormValidity
              • MasterCardBrandingRequest
              • SecureDeviceTokenOptions
              • Styles
              • TokenResponse
              • VisaBrandingRequest
            • Methods
              • initApplePayButton
              • initCardToken
              • initSecureDeviceToken
              • requestBrandsByMerchant method
              • requestDeviceToken method
              • requestInitCardBrandingAnimation
            • Types
              • CssProperties
              • Currency
              • FieldTypeEnum
          • Card Payouts
            • Card Payouts Interface
              • ICardPayouts
            • Enumerations
              • Enumeration `InputModelEnum`
            • Errors
              • Errors
            • Interfaces
              • CardPayoutOptions
              • CardPayoutSubscriptionTokenResponse
              • CardPayoutUniqueTokenResponse
              • Field
              • Fields
              • FieldValidity
              • Interface FormValidity
              • Interface `Styles`
            • Methods
              • initCardPayoutToken
            • Type Aliases
              • CardPayoutTokenResponse
              • InputTypeEnum
            • Types
              • CssProperties
          • Kushki
            • Methods
              • init function
              • requestBankList function
              • requestCommissionConfiguration function
            • Classes
              • KushkiError
            • Interfaces
              • CommissionConfigurationRequest
              • IKushki
              • KushkiOptions
    • Raíz
    • Schemas
      • API Raw Card Present
        • metadata
        • extra_taxes
        • card
        • sub_merchant
        • pos_details
        • enc_tlv
        • deferred
        • contact_details
        • card_details
        • amount
      • Chargebacks
      • Commissions
      • Gateway Status
      • ChargebackListResponse
      • StatusComponent
      • currency
      • one-and-two-step-payment
      • webhooksChargeback
      • ChargebackItem
      • webhooks
      • networkToken
      • webhooksItem
      • transactionType
      • ErrorResponse400
      • threeDomainSecure
      • ErrorResponse401
      • product
      • ErrorResponse403
      • payment_submethod
      • ErrorResponse500
      • payment_method
      • paymentMethod
      • orderDetails
      • Shipping Address
      • headers
      • extraTaxes
      • documentType
      • currency
      • currency-cash-in
      • currency-CL
      • binInfo
      • UnexpectedErrorResponse
      • citMit
      • SubscriptionUpdate
      • messageFields
      • network
      • SubscriptionAdjustmentRequest
      • Subscription
      • Submerchant
      • Shipping-Address
      • Promotions
      • Metadata
      • Language
      • InvalidBinResponse
      • GetConfigurationRequest
      • ErrorResponse
      • Deferred
      • Country
      • ContactDetails
      • ChargesVoidCardResponse
      • Channel
      • Card
      • Billing-Address
      • BadRequestResponse
      • Amount
      • Amount-cash-in
      • Amount-CL
  • México 🇲🇽
    • Bienvenidos
    • ONLINE PAYMENTS
      • CARD
        • CARD
        • 1. Request a card token
        • 2. Make a charge or deferred charge
        • 3. Void a transaction
        • 4. Refund a transaction
        • 5. Request deferred options
        • 6. Authorize payments
        • 7. Reauthorize payments
        • 8. Capture an authorized payment
        • 9. Bin Info
        • 10. Bin Info V2
        • 11. Validate OTP
        • 12. Verify Account
        • 12. Verify Account
        • 6. Authorize payments
        • 10. Bin Info V2
        • 8. Capture an authorized payment
        • 3. Void a transaction
        • 4. Refund a transaction
        • 7. Reauthorize payments
        • 1. Request a card token
        • 9. Bin Info
        • 5. Request deferred options
        • 2. Make a charge or deferred charge
        • 11. Validate OTP
      • CASH IN
        • 1. Request a cash in token
        • 2. Init Transaction
        • 3. Transaction Status
        • 1. Request a cash in token
        • 2. Init Transaction
        • 3. Transaction Status
      • TRANSFER IN
        • 1. Request a Transfer In token
        • 2. Init Transaction
        • 4. Get Status Copy
        • 1. Request a Transfer In token
        • 4. Get Status Copy
        • 2. Init Transaction
      • TRANSFER OUT
        • 1. Get Bank List
        • 2. Request a Transfer Out token
        • 3. Init Transaction
        • 4. Get Status
        • 5. Wallet Balance
        • 5. Wallet Balance
        • 1. Get Bank List
        • 4. Get Status
        • 2. Request a Transfer Out token
        • 3. Init Transaction
      • ONE-CLICK & SCHEDULED PAYMENTS
        • 1. Request a recurring charge token
        • 2. Create a recurring charge
        • 3. Update recurring charge card data
        • 4. Make an One-click payment
        • 5. Cancel a recurring charge
        • 6. Update a recurring charge
        • 7. Add a temporary charge or discount
        • 8. Authorize payments Copy
        • 9. Capture an authorized payment Copy
        • 10. Get recurring charge Info
        • 1. Request a recurring charge token
        • 8. Authorize payments Copy
        • 3. Update recurring charge card data
        • 6. Update a recurring charge
        • 10. Get recurring charge Info
        • 2. Create a recurring charge
        • 5. Cancel a recurring charge
        • 9. Capture an authorized payment Copy
        • 4. Make an One-click payment
        • 7. Add a temporary charge or discount
      • PAYMENT BUTTON
        • 1. Create a payment button
        • 1. Create a payment button
      • SMARTLINKS V2
        • 1. Create a Smartlink
        • 2. Get a Smartlink
        • 3. Delete a Smartlink
        • 4. Update a Smartlink
        • 1. Create a Smartlink
        • 4. Update a Smartlink
        • 2. Get a Smartlink
        • 3. Delete a Smartlink
      • PAYMENT CREDENTIALS
        • 1. Create a credential
        • 2. Search credentials
        • 3. Advanced search
        • 4. Activate or deactivate
        • 5. Delete credential
        • 6. Update credential
        • 7. Regenerate a credential
        • 3. Advanced search
        • 6. Update credential
        • 5. Delete credential
        • 2. Search credentials
        • 4. Activate or deactivate
        • 7. Regenerate a credential
        • 1. Create a credential
      • COMMISSIONS
        • 1. Get Commission Configuration
        • 1. Get Commission Configuration
      • GATEWAY STATUS
        • 1. Get gateway status
        • 1. Get gateway status
      • ANALYTICS
        • 1. Get transactions list
        • 1. Get transactions list
    • CARD PRESENT PAYMENTS (BILLPOCKET)
      • Get token
      • States
      • Validate token
      • Municipalities
      • Collect payments
      • Tax companies
      • Capture an authorized payment
      • Commercial activities
      • Refund
      • Create checkout
      • Get status
      • Get checkout details
      • Collect card payments
      • Print Ticket
      • Collect card payments v2
      • Cancel Push Notification
      • Get transaction status
      • Add or update CLABE account
      • Configure payment link
      • Get payment link configuration
      • Create payment link
      • Update payment link
      • List payment links
      • Delete payment link
      • Add CLABE account
      • Get token
      • Get transaction list
      • Get transaction list v2
      • Get transaction list v3
      • Get transaction list v4
      • Create user
    • CARD PRESENT PAYMENTS (API RAW) Copy Copy
      • error-catalog
      • Test data
      • One-time payments
        • Single payment
      • Two-step-payments
        • Authorization and capture
      • Voids & Refunds
        • Void & Reverse
        • Refund a transaction
      • Card information
        • Balance inquiries
        • Get BIN Info
        • BIN info V2
        • Request deferred options
      • Query Transactions
        • Transaction Search
  • Ecuador 🇪🇨
    • Bienvenidos
    • ONLINE PAYMENTS
      • Card
        • Overview
        • Request a card token
        • Make a charge or deferred charge
        • Void a transaction
        • Request deferred options
        • Validate OTP
        • Refund a transaction
        • Bin Info
        • Bin Info V2
      • One Click Charges
        • Overview
        • Request a recurring charge token
        • Create a recurring charge
        • Make an One-click payment
        • Cancel a recurring charge
        • Add a temporary charge or discount
        • Get recurring charge Info
        • Update a recurring charge
        • Update recurring charge card data
      • Transfer in
        • Overview
        • Get Bank List
        • Request a Transfer In token
        • Init Transaction
        • Get Status
      • Cash in
        • Overview
        • Request a cash in token
        • Init Transaction
        • Transaction Status
        • Update a cash in transaction
        • Delete a cash in transaction
      • Chargebacks
        • Overview
        • Query chargebacks
        • Request chargeback export
      • Smartlinks
        • Overview
        • Create a Smartlink
        • Update a Smartlink
        • Get a Smartlink
        • Delete a smartlink
        • Get a Smartlink
        • Delete a Smartlink
        • Update a Smartlink
        • Create a Smartlink
      • Payment Button
        • Overview
        • Create a payment button
      • Payment Credentials
        • Overview
        • Regenerate a credential
        • Activate or deactivate
        • Update credential
        • Search credentials
        • Delete credential
        • Create a credential
        • Advanced search
      • Gateway Status
        • Overview
        • Get gateway status
      • Analytics
        • Overview
        • Get transactions list v2
        • Get transactions list v1
      • Commissions
        • Commissions
        • Get Commission Configuration
  • Colombia 🇨🇴
    • ANALYTICS
      • Get transactions list v1
      • Get transactions list v2
    • CARD-OUTS
      • Request a cash out token
      • Init Transaction
      • Update a cash out transaction
      • Delete a cash out transaction
      • Transaction Status
    • CARD
      • Bin Info
      • Bin Info V2
      • Request deferred options
      • Request a card token
      • Make a charge or deferred charge
      • Create payment (tokenless)
      • Authorize payments
      • Preauthorization (tokenless)
      • Capture an authorized payment
      • Reauthorize payments
      • Refund a transaction
      • Void a transaction
      • Verify Account
      • Validate OTP
    • 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
      • Void a transaction
      • Balance for Payouts
    • CASH-IN
      • Request a cash in token
      • Init Transaction
      • Update a cash in transaction
      • Delete a cash in transaction
      • Transaction Status
    • CASH-OUT
      • Request a cash out token
      • Init Transaction
      • Update a cash out transaction
      • Delete a cash out transaction
      • Transaction Status
    • COMMISSIONS
      • Get Commission Configuration
    • GATEWAY-STATUS
      • Get gateway status
      • Get platform status
    • ONE-CLICK & SCHEDULED PAYMENTS
      • Request a recurring charge token
      • Update recurring charge card data
      • Update a recurring charge
      • Add a temporary charge or discount
      • Get recurring charge Info
      • Create a recurring charge
      • Make an One-click payment
      • Cancel a recurring charge
      • Authorize payments
      • Capture an authorized payment
    • PAYMENT-BUTTON
      • Create a payment button
    • PAYMENT-CREDENTIALS
      • Advanced search
      • Delete credential
      • Regenerate a credential
      • Search credentials
      • Activate or deactivate
      • Update credential
      • Create a credential
    • SMARTLINKS-V2
      • Create a Smartlink
      • Get a Smartlink
      • Update a Smartlink
      • Delete a smartlink
    • TRANSFER-IN
      • Get Bank List
      • Request a Transfer In token
      • Init Transaction
      • Get Status
    • TRANSFER-OUT
      • Balance for Payouts
      • Get Bank List
      • Get Bank List V2
      • Request a Transfer Out token
      • Init Transaction
      • Get Status
      • Void a transaction
  • Chile 🇨🇱
    • Bienvenidos
    • CARD PRESENT PAYMENTS (API RAW) Copy
      • One-time payments
      • Two-step-payments
      • Voids & Refunds
      • Card information
      • Query Transactions
    • Online Payments
      • Card Async
        • Request a card async token
        • Authorize payments
        • Get Status
        • Capture an authorized payment
        • Init Transaction
      • Async Card Recurring Charges
        • Request an async card recurring charge token
        • Init an async card recurring charge
        • Capture an authorized payment
        • Authorize payments
        • Capture an authorized payment
        • Authorize payments
      • Card
        • Bin Info
        • Bin Info V2
        • Request deferred options
        • Request a card token
        • Make a charge or deferred charge
        • Create payment (tokenless)
        • Authorize payments
        • Capture an authorized payment
        • Reauthorize payments
        • Void a transaction
        • Refund a transaction
        • Voucher
        • Validate OTP
        • Verify Account
      • Chargebacks
        • Query chargebacks
        • Request chargeback export
      • Transfer In
      • Transfer Out
      • Cash In
      • Smartlinks V2
      • Analytics
        • Get transactions list v1
        • Get transactions list v2
      • Gateway Status
        • Get gateway status
      • Commissions
      • Payment Credentials
      • Payment Button
      • Platform Status
      • Subscription Transactions
      • Preauthorization (tokenless)
  1. CARD PRESENT PAYMENTS (API RAW) Copy

Two-step-payments

Integrate the Kushki services to accept card-present two-step payments in your existing flow or create a new flow with the services we offer.
Important
Remember that it is necessary to make the requests through HTTPS using the credentials we provided. It is important that you do not share sensitive data in public places.

Processing preauthorizations, captures, and reauthorizations#

If you need to reserve an amount from your customer’s card, you can use the preauthorization service. For example, when your business needs to request a deposit to ensure that the total cost will be financed at the end of the service, you can hold a specific amount from your customer’s bank account.
Preauthorize a payment
Capture a payment
Cardless capture
Process Reauthorizations
Cardless Reauthorization
Void an preauthorization or reauthorization

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 (Chip)
MCR = Magnetic Card reader (Stripe)
NFC = Near Field Communication (Contactless)
Here we tell you about the description of each of the fields that are part of the request to accept transactions and the differences of these fields according to the reading channel of the POS terminal of your business.
FieldTypeDescriptionRequiredICC (Chip)MCR (Stripe)NFC (Contactless)
amountobjectTransaction total amountrequired✅✅✅
amount.currencystringType of currency in which the transaction is being processedrequired✅✅✅
amount.extra_taxesobjectAdditional taxes to be taken into account in the collection of taxesoptional✅✅✅
amount.extra_taxes.airport_taxnumberAirport taxoptional✅✅✅
amount.extra_taxes.iacnumberAggregate Consumption Taxoptional✅✅✅
amount.extra_taxes.icenumberSpecial Excise Tax.
It must be set to 0 in case the transaction does not have this tax
optional✅✅✅
amount.extra_taxes.travel_agencynumberTravel agency surcharge. Used in airlinesoptional✅✅✅
amount.ivanumberValue Added Tax.
Should be set to 0 in case the transaction has no VAT tax
required✅✅✅
amount.subtotal_ivanumberValue Added Tax subtotal.
Should be set to 0 in case the transaction has no VAT tax.
required✅✅✅
amount.subtotal_iva0numberTotal amount of the transaction in case it is not taxed.
The total amount of the transaction should be set here if the transaction is not taxed. Otherwise, it should be set to 0.
required✅✅✅
amount.tipnumberTipoptional✅✅✅
cardobjectCard information of the card with which the customer is making the transactionoptional✅✅✅
card.card_holder_namestringName of cardholderoptional✅✅✅
card_detailsobjectCard information details. Depends on the input moderequired✅✅✅
card_details.enc_tlvstringNot required when the card is read with magnetic stripesrequired✅❌✅
card_details.pin_blockstringThe PIN block is a data block that is used to encapsulate a personal identification number (PIN) during the process. It must be sent if the transaction is an online PIN transaction and must be encrypted with the BDK PIN key shared by Kushkioptional✅✅✅
card_details.pin_ksnstringRequired if the pin_block field is sent.
Allowed values: 16 characters 20 characters
optional✅✅✅
card_details.pin_ksn_descstringRequired if the pin_block field is sent.
Allowed values: 655 A55
optional✅✅✅
card_details.reading_typestringIndicates the reader type.
Allowed values: ICC, MCR, NFC
required✅✅✅
card_details.tracksobjectTrack informationrequired✅✅✅
card_details.tracks.enc_track1stringRequired when reading is done by magnetic stripe.optional❌✅❌
card_details.tracks.enc_track2stringRequired when reading by chip, magnetic stripe or NFC.required✅✅✅
card_details.tracks.track_ksnstringRequired when reading is done by chip or NFC. Data encryption key.required✅❌✅
card_details.tracks.track_ksn_descstringRequired if the track_ksn field is sent.optional✅✅✅
card_details.tracks.track2_lengthstringNumber in string format representing the length of track 2.optional✅✅✅
client_transaction_idstringUUID v4 generated from the trade side. A unique ID must be created per transaction.required✅✅✅
countrystringISO 3166-1 alpha-3
Allowed values: PER
required✅✅✅
is_cashbackbooleanCashback or refund alertsoptional✅✅✅
cashback_amountnumberRequired when is_cashback = trueoptional✅✅✅
pos_detailsobjectPOS terminal informationrequired✅✅✅
pos_details.brandstringTerminal reference.required✅✅✅
pos_details.has_printbooleanIndicates whether the POS terminal has hardware for voucher printing.optional✅✅✅
pos_details.locationobjectThe longitude and latitude where the POS terminal is located.optional✅✅✅
pos_details.location.latitudenumberThe latitude where the POS terminal is located.optional✅✅✅
pos_details.location.longitudenumberThe length where the POS terminal is located.optional✅✅✅
pos_details.modelstringPOS terminal model.optional✅✅✅
pos_details.terminal_idstringIdentification generated by Kushki. Applies a per-terminal identificationrequired✅✅✅
pos_details.versionstringTerminal software versionoptional✅✅✅
contact_detailsobjectContact detailsrequired✅✅✅
contact_details.document_numberstringDocument number. Optional when document_type = -1required✅✅✅
contact_details.document_typestring-1: No document will be sent.
0: DNI
1: Passport
required✅✅✅
contact_details.emailstringCardholder's email addressoptional✅✅✅
contact_details.first_namestringCardholder's first nameoptional✅✅✅
contact_details.last_namestringCardholder's last nameoptional✅✅✅
contact_details.second_last_namestringCardholder's second last nameoptional✅✅✅
contact_details.phone_numberstringCardholder's cell phone number. EE.164 standardoptional✅✅✅
transaction_modestringTransaction mode
Allowed values: Authorization, Reverse, Void
required✅✅✅
transaction_typestringTransaction type.
Allowed values: capture, charge, preAuth, reAuthorization, refund, posTip
required✅✅✅
cvm_typestringCardholder verification methods.
Allowed values: none, pin, signature
required✅✅✅
sub_merchantobjectSubmerchant informationoptional✅✅✅
sub_merchant.mccstringMCC- Merchant Category Coderequired✅✅✅
sub_merchant.id_affiliationstringMerchant Affiliation Idrequired✅✅✅
sub_merchant.soft_descriptorstringText that will appear on the cardholder's statement.required✅✅✅
sub_merchant.citystringCity where the submerchant is locatedrequired✅✅✅
sub_merchant.city_codestringCity code according to ISO 3166-2 (3 characters).required✅✅✅
sub_merchant.country_ansstringISO 3166-1 alpha-3required✅✅✅
sub_merchant.zip_codestring<= 10 charactersrequired✅✅✅
sub_merchant.addressstringSubmerchant addressrequired✅✅✅
sub_merchant.social_reasonstringSubmerchant's business name. Applies to Visa transactions only.required✅✅✅
sub_merchant.codestringSubmerchant identifierrequired✅✅✅
merchant_idstringIdentifier generated by the merchant. It must contain 9 digits.optional✅✅✅
metadataobjectAdditional information of the transactionoptional✅✅✅

Preauthorize a payment#

To make authorizations, send preAuth in the transaction_type field and authorization in the transaction_mode field as part of the body of your request.
Check the examples below:
ICC (Chip)
MCR (Magnetic Stripe)
NFC (Contactless)
{
  "card": {
    "card_holder_name": "John Doe"
  },
  "amount": {
    "iva": 0,
    "tip": 0,
    "currency": "PEN",
    "extra_taxes": {
      "iac": 0,
      "ice": 0,
      "airport_tax": 0,
      "travel_agency": 0
    },
    "subtotal_iva": 0,
    "subtotal_iva0": 600
  },
  "country": "PER",
  "cvm_type": "none",
  "is_cashback": false,
  "is_deferred": false,
  "pos_details": {
    "brand": "SUNMI",
    "model": "P2-EU",
    "version": "Kushki SunmiV1.1.26",
    "location": {
      "latitude": -0.22480833333333333,
      "longitude": -78.487955
    },
    "has_print": true,
    "terminal_id": "PB04216R20537"
  },
  "card_details": {
    "tracks": {
      "track_ksn": "FFFF4357486333600002",
      "enc_track2": "283587285CE10278E7FA50AD5C97CFFE87F472C9FE6406F8"
    },
    "enc_tlv": "CE447A062C49774934E42A7F826668C0C478E38402C158062EE794C0E471B43EA8CE49C256C2C8B157526B0B2BE74FC23F65E18D4F52B99A1A0910E6CCD9B11A32D6D537E2B6E2B011C89569DE6A3D53318080BC77E0E70B398ED3083FD7366CCF8FB4DBF34A116E6D52CFBEF26371878D842034E5029EF62DF235D2C427F04102E451773D9E8975978917E3BC531327702967052E239F8C592734AE14688E603C52B858FC1D97B763AE623603F1475FFFB065EC07AF7A29",
    "pin_ksn": "FFFF4357486333600002",
    "reading_type": "ICC"
  },
  "contact_details": {
    "email": "",
    "last_name": "",
    "first_name": "",
    "phone_number": "",
    "document_type": "-1",
    "document_number": "",
    "second_last_name": ""
  },
  "transaction_mode": "Authorization",
  "transaction_type": "preAuth",
  "client_transaction_id": "6680eadc-6c8d-44aa-8ca0-18e061c1472a"
}

Capture a payment (optional)#

Once your business is requested to charge your customer’s card, you can capture the amount of the purchased product or service.
The requested capture corresponds to the sum of the authorization and all reauthorizations made that have not been canceled.
By receiving payments under the authorization and capture scheme, your business can ensure the availability of the amount on your customer’s card for a maximum of 28 days for credit cards and 7 days for debit cards. If the transaction payment is not captured during the mentioned times, the held funds will be released by the issuing bank back to the cardholder.
To capture a payment, you need to consume the endpoint /pos/v1/transaction and send capture in the transaction_type field and Authorization in the transaction_mode field as part of the request body.
Important
Please note that the transaction_reference field must come from an authorization and not from a reauthorization.
Check the examples below:
ICC (Chip)
MCR (Magnetic Stripe)
NFC (Contactless)
{
  "card": {
    "card_holder_name": "John Doe"
  },
  "amount": {
    "iva": 0,
    "tip": 0,
    "currency": "PEN",
    "extra_taxes": {
      "iac": 0,
      "ice": 0,
      "airport_tax": 0,
      "travel_agency": 0
    },
    "subtotal_iva": 0,
    "subtotal_iva0": 60000
  },
  "country": "PER",
  "cvm_type": "none",
  "is_cashback": false,
  "is_deferred": false,
  "pos_details": {
    "brand": "SUNMI",
    "model": "P2-EU",
    "version": "Kushki SunmiV1.1.26",
    "location": {
      "latitude": -0.22480833333333333,
      "longitude": -78.487955
    },
    "has_print": true,
    "terminal_id": "PB04216R20537"
  },
  "card_details": {
    "tracks": {
      "track_ksn": "FFFF4357486333600002",
      "enc_track2": "283587285CE10278E7FA50AD5C97CFFE87F472C9FE6406F8"
    },
    "enc_tlv": "CE447A062C49774934E42A7F826668C0C478E38402C158062EE794C0E471B43EA8CE49C256C2C8B157526B0B2BE74FC23F65E18D4F52B99A1A0910E6CCD9B11A32D6D537E2B6E2B011C89569DE6A3D53318080BC77E0E70B398ED3083FD7366CCF8FB4DBF34A116E6D52CFBEF26371878D842034E5029EF62DF235D2C427F04102E451773D9E8975978917E3BC531327702967052E239F8C592734AE14688E603C52B858FC1D97B763AE623603F1475FFFB065EC07AF7A29",
    "pin_ksn": "FFFF4357486333600002",
    "reading_type": "ICC"
  },
  "contact_details": {
    "email": "",
    "last_name": "",
    "first_name": "",
    "phone_number": "",
    "document_type": "-1",
    "document_number": "",
    "second_last_name": ""
  },
  "transaction_mode": "Authorization",
  "transaction_type": "capture",
  "client_transaction_id": "6680eadc-6c8d-44aa-8ca0-18e061c1472a",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7"
}

Cardless capture#

Note
This functionality is currently in Beta phase in Peru.
To perform a cardless capture, send the omit_card field with the value of true and then the other non-required fields are omitted:
{
    "amount": {
        "currency": "PEN",
        "iva": 0.0,
        "subtotal_iva": 0.0,
        "subtotal_iva0": 600
    },
    "transaction_mode": "Authorization",
    "transaction_type": "capture",
    "client_transaction_id": "6680eadc-6c8d-44aa-8ca0-18e061c1472a",
    "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
    "omit_card": true
}

Process Reauthorizations#

With this service, you can perform the following actions to modify a transaction that was previously approved:
Increase the payment amount or make an adjustment to the authorization.
Tip
Sending an amount of 0 in the reauthorization is a common practice to extend the capture date without actually capturing any funds from the cardholder’s account.
To perform reauthorizations, you need to consume the endpoint /pos/v1/transaction and send reAuthorization in the transaction_type field and Authorization in the transaction_mode field as part of the request body.
Check the examples below:
ICC (Chip)
MCR (Magnetic Stripe)
NFC (Contactless)
{
  "card": {
    "card_holder_name": "John Doe"
  },
  "amount": {
    "iva": 0,
    "tip": 0,
    "currency": "PEN",
    "extra_taxes": {
      "iac": 0,
      "ice": 0,
      "airport_tax": 0,
      "travel_agency": 0
    },
    "subtotal_iva": 0,
    "subtotal_iva0": 6000
  },
  "country": "PER",
  "cvm_type": "none",
  "is_cashback": false,
  "is_deferred": false,
  "pos_details": {
    "brand": "SUNMI",
    "model": "P2-EU",
    "version": "Kushki SunmiV1.1.26",
    "location": {
      "latitude": -0.22480833333333333,
      "longitude": -78.487955
    },
    "has_print": true,
    "terminal_id": "PB04216R20537"
  },
  "card_details": {
    "tracks": {
      "track_ksn": "FFFF4357486333600002",
      "enc_track2": "283587285CE10278E7FA50AD5C97CFFE87F472C9FE6406F8"
    },
    "enc_tlv": "CE447A062C49774934E42A7F826668C0C478E38402C158062EE794C0E471B43EA8CE49C256C2C8B157526B0B2BE74FC23F65E18D4F52B99A1A0910E6CCD9B11A32D6D537E2B6E2B011C89569DE6A3D53318080BC77E0E70B398ED3083FD7366CCF8FB4DBF34A116E6D52CFBEF26371878D842034E5029EF62DF235D2C427F04102E451773D9E8975978917E3BC531327702967052E239F8C592734AE14688E603C52B858FC1D97B763AE623603F1475FFFB065EC07AF7A29",
    "pin_ksn": "FFFF4357486333600002",
    "reading_type": "ICC"
  },
  "contact_details": {
    "email": "",
    "last_name": "",
    "first_name": "",
    "phone_number": "",
    "document_type": "-1",
    "document_number": "",
    "second_last_name": ""
  },
  "transaction_mode": "Authorization",
  "transaction_type": "reAuthorization",
  "client_transaction_id": "6680eadc-6c8d-44aa-8ca0-18e061c1472a",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7"
}

Cardless Reauthorization#

Note
This functionality is currently in Beta phase in Peru.
To perform a cardless reauthorization, send the omit_card field with the value of true and then the other non-required fields are omitted:
{
    "amount": {
        "currency": "PEN",
        "iva": 0.0,
        "subtotal_iva": 0.0,
        "subtotal_iva0": 600
    },
    "transaction_mode": "Authorization",
    "transaction_type": "reAuthorization",
    "client_transaction_id": "6680eadc-6c8d-44aa-8ca0-18e061c1472a",
    "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7",
    "omit_card": true
}

Void a preauthorization or reauthorization#

If you need to void an authorization or reauthorization to release the funds to the cardholder, you can do so by performing a void, using the transaction_reference obtained in the authorization.
To void an authorization or reauthorization, send Void in the transaction_mode field, preAuth or reAuthorization in the transaction_type and the client_transaction_id (an ID for the void transaction) as part of the body of your request along with the transaction_reference of the preauthorization or reauthorization to cancel.
Note
How to cancel a preauthorization with associated reauthorizations?
You only need to void the last generated reauthorization.

Cardless void#

Note
This functionality is currently in Beta phase in Peru.
To perform a cardless operation, send the omit_card field with the value of true and then the other non-required fields are omitted:
{
  "amount": {
    "iva": 0,
    "currency": "PEN",
    "subtotal_iva": 0,
    "subtotal_iva0": 600
  },
  "omit_card": true,
  "transaction_mode": "Void",
  "transaction_type": "preAuth",
  "client_transaction_id": "6680eadc-6c8d-44aa-8ca0-18e061c1472a",
  "transaction_reference": "f2f29080-0214-42c0-95a5-77ecf3434cd7"
}
Modified at 2026-04-15 21:10:01
Previous
One-time payments
Next
Voids & Refunds
Built with