1. ONLINE PAYMENTS
English
  • Español
  • English
  • Perú 🇵🇪
    • Kushki Developer Portal 🚀
    • Perú 🇵🇪
    • Libraries & SDKs (Online Payments)
      • Release notes
      • Mobile
        • Kushki iOS ARM Setup
        • Kushki iOS 
        • Kushki Android
      • Web
        • Kushki.js 🌐
        • kushki.js-hosted-fields
          • Guía de migración a Kushki.js 2.0
          • kushki.js Hosted Fields
          • Antifraud
            • Interfaces
              • SecureInitRequest
              • SecureInitResponse
              • SiftScienceObject
            • Methods
              • requestSecureInit
              • requestInitAntiFraud
              • requestValidate3DS
          • Card
            • CarApplePay interface
              • ICardApplePay Interface
            • Card-Interface
              • ICard Interface
              • ICardSubscriptions Interface
            • Errors
              • Error list
            • Interfaces
              • TokenResponse
              • AppleTokenResponse
              • FormValidity
              • Styles
              • BrandByMerchantResponse Interface
              • ApplePayOptions Interface
              • ApplePayPaymentContact
              • ApplePayGetTokenOptions Interface
              • Amount
              • SecureDeviceTokenOptions
              • MasterCardBrandingRequest
              • CardOptions
              • Fields
              • FieldInstance
              • Field
              • DeferredInputValues
              • FieldValidity
              • DeferredValuesResponse
              • DeferredByBinOptionsResponse
              • DeviceTokenRequest
              • VisaBrandingRequest
              • CardFieldValues
              • CardTokenResponse
              • CardInfo
            • Methods
              • initSecureDeviceToken
              • initApplePayButton
              • requestDeviceToken method
              • requestInitCardBrandingAnimation
              • initCardToken
              • requestBrandsByMerchant method
            • Types
              • CssProperties
              • Currency
              • FieldTypeEnum
          • Card Payouts
            • Card Payouts Interface
              • ICardPayouts
            • Enumerations
              • Enumeration `InputModelEnum`
            • Errors
              • Errors
            • Interfaces
              • Interface FormValidity
              • Interface `Styles`
              • CardPayoutUniqueTokenResponse
              • CardPayoutSubscriptionTokenResponse
              • CardPayoutOptions
              • Fields
              • Field
              • FieldValidity
            • Methods
              • initCardPayoutToken
            • Type Aliases
              • InputTypeEnum
              • CardPayoutTokenResponse
            • Types
              • CssProperties
          • Kushki
            • Methods
              • requestBankList function
              • requestCommissionConfiguration function
              • init function
            • Classes
              • KushkiError
            • Interfaces
              • IKushki
              • CommissionConfigurationRequest
              • KushkiOptions
    • Schemas
      • API Raw Card Present
        • metadata
        • extra_taxes
        • card
        • sub_merchant
        • pos_details
        • enc_tlv
        • deferred
        • contact_details
        • card_details
        • amount
      • one-and-two-step-payment
      • webhooksChargeback
      • webhooks
      • transactionType
      • threeDomainSecure
      • product
      • payment_submethod
      • paymentMethod
      • orderDetails
      • headers
      • extraTaxes
      • documentType
      • currency
      • currency-cash-in
      • currency-CL
      • binInfo
      • UnexpectedErrorResponse
      • SubscriptionUpdate
      • 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
  • APPIAN-SUBMERCHANT-REGISTER
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Get submerchantIds
    • Get credentials for submerchants
  • México 🇲🇽
    • Bienvenidos
    • 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
    • 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
  • Ecuador 🇪🇨
    • Bienvenidos
    • ONLINE PAYMENTS
      • 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. Bin Info
        • 7. Bin Info V2
        • 8. Validate OTP
        • 7. Bin Info V2
        • 1. Request a card token
        • 4. Refund a transaction
        • 8. Validate OTP
        • 3. Void a transaction
        • 2. Make a charge or deferred charge
        • 5. Request deferred options
        • 6. Bin Info
      • 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. Get recurring charge Info
        • 7. Add a temporary charge or discount
        • 4. Make an One-click payment
        • 3. Update recurring charge card data
        • 6. Update a recurring charge
        • 5. Cancel a recurring charge
        • 1. Request a recurring charge token
        • 8. Get recurring charge Info
        • 2. Create a recurring charge
      • TRANSFER IN
        • 1. Get Bank List
        • 2. Request a Transfer In token
        • 3. Init Transaction
        • 4. Get Status
        • 4. Get Status
        • 2. Request a Transfer In token
        • 3. Init Transaction
        • 1. Get Bank List
      • CASH IN
        • 1. Request a cash in token
        • 2. Init Transaction
        • 3. Transaction Status
        • 4. Update a cash in transaction
        • 5. Delete a cash in transaction
        • 1. Request a cash in token
        • 3. Transaction Status
        • 5. Delete a cash in transaction
        • 2. Init Transaction
        • 4. Update a cash in transaction
      • SMARTLINKS V2
        • 1. Create a Smartlink
        • 2. Get a Smartlink
        • 3. Delete a Smartlink
        • 4. Update a Smartlink
        • 3. Delete a Smartlink
        • 1. Create a Smartlink
        • 2. Get a Smartlink
        • 4. Update a Smartlink
      • ANALYTICS
        • 1. Get transactions list
        • 1. Get transactions list
      • GATEWAY STATUS
        • 1. Get gateway status
        • 1. Get gateway status
      • COMMISSIONS
        • 1. Get Commission Configuration
        • 1. Get Commission Configuration
      • 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
        • 1. Create a credential
        • 7. Regenerate a credential
        • 3. Advanced search
        • 6. Update credential
        • 5. Delete credential
        • 4. Activate or deactivate
        • 2. Search credentials
      • PAYMENT BUTTON
        • 1. Create a payment button
        • 1. Create a payment button
  • Chile 🇨🇱
    • Bienvenidos
    • ONLINE PAYMENTS
      • 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. Capture an authorized payment
        • 8. Bin Info
        • 9. Bin Info V2
        • 10. Validate OTP
        • 11. Voucher
        • 5. Request deferred options
        • 8. Bin Info
        • 10. Validate OTP
        • 3. Void a transaction
        • 4. Refund a transaction
        • 6. Authorize payments
        • 1. Request a card token
        • 7. Capture an authorized payment
        • 11. Voucher
        • 2. Make a charge or deferred charge
        • 9. Bin Info V2
      • 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. Get Bank List
        • 2. Request a Transfer In token
        • 3. Init Transaction
        • 4. Get Status
        • 1. Get Bank List
        • 4. Get Status
        • 2. Request a Transfer In token
        • 3. Init Transaction
      • TRANSFER OUT
        • 1. Get Bank List
        • 2. Request a Transfer Out token
        • 3. Init Transaction
        • 4. Get Status
        • 5. Wallet Balance
        • 2. Request a Transfer Out token
        • 1. Get Bank List
        • 5. Wallet Balance
        • 3. Init Transaction
        • 4. Get Status
      • 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
        • 9. Capture an authorized payment
        • 10. Get recurring charge Info
        • 3. Update recurring charge card data
        • 7. Add a temporary charge or discount
        • 10. Get recurring charge Info
        • 5. Cancel a recurring charge
        • 6. Update a recurring charge
        • 4. Make an One-click payment
        • 9. Capture an authorized payment
        • 8. Authorize payments
        • 2. Create a recurring charge
        • 1. Request a recurring charge token
      • 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
        • 3. Delete a Smartlink
        • 4. Update a Smartlink
        • 1. Create a Smartlink
        • 2. Get 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
        • 6. Update credential
        • 5. Delete credential
        • 4. Activate or deactivate
        • 2. Search credentials
        • 1. Create a credential
        • 3. Advanced search
        • 7. Regenerate 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
      • ASYNC CARD RECURRING CHARGES
        • 1. Request a token
        • 2. Init an async card recurring charge
        • 3. Authorize payments
        • 4. Capture an authorized payment
        • 2. Init an async card recurring charge
        • 4. Capture an authorized payment
        • 1. Request a token
        • 3. Authorize payments
      • CARD ASYNC
        • 1. Request a card async token
        • 2. Init Transaction
        • 3. Authorize payments Copy
        • 4. Capture an authorized payment Copy
        • 5. Get Status
        • 4. Capture an authorized payment Copy
        • 5. Get Status
        • 3. Authorize payments Copy
        • 2. Init Transaction
        • 1. Request a card async token
    • CARD PRESENT PAYMENTS (API RAW) 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
  1. ONLINE PAYMENTS

CARD

Follow a step-by-step guide on how an online card payment works.#

Credit cards have global coverage and are one of the most popular ways to pay online. There are different types of cards and several steps in the process. Learn how it works, the parties involved, and the stages of a payment process behind the scenes.
WARNING
To keep in mind!
Due to our risk policies, the available payment methods and the integration type may vary once you complete the affiliation. We will tell you how to proceed if this process applies to your merchant.

Steps of the Payment Process#

A payment process usually consists of 4 stages: Data verification, authentication, authorization, and capture
Etapas_de_pago_con_tarjetaEN.png

1. Data Verification#

At this stage, the card details are verified to be correct (for example, that the expiration date is not expired, or that the number obeys the luhn's algorithm). In this step, it can not be yet warranted that the card is valid.

2. Authentication (optional)#

In some instances, depending on the country's regulations, bank requirements, or by choice of the merchant, the customer may be required to authenticate a purchase by entering a password. This may be a one-time authentication (via SMS, email, or a physical device that generates passwords) or another mechanism agreed with the card-issuing entity.

3. Authorization#

At this stage, the bank (or the card issuer) checks whether there are sufficient funds for the account associated with the card. If so, retains that amount in the customer account to guarantee it to the merchant.

4. Capture#

This is when money is moved from the issuing bank (or financial entity) to the merchant's account
Read more on our documentation page.

Using the API#

To use the API you must ask for your Kushki Sandbox, composed of a Public-Merchant-Id and a Private-Merchant-Id.
The current version of the Kushki API rests at: https://api.kushkipagos.com/
The testing version rests at: https://api-uat.kushkipagos.com/

Endpoints#

We dispose various endpoints to start your payment flows, find our products available:
Request a card token
Make a charge or deferred charge
Void a transaction
Refund a transaction
Request deferred options
Authorize payments
Reauthorize payments
Capture an authorized payment
Bin Info
Bin Info V2
Validate OTP
Voucher
Verify Account

Idempotency#

Kushki’s API supports idempotent requests to safely retry operations without the risk of executing the same transaction twice. This feature is especially useful when network issues, timeouts, or client retries might otherwise create duplicate records.

How it works#

To perform an idempotent request, include the header Idempotency-Key with a unique value when calling one of the supported endpoints.
Kushki stores the resulting status code and response body only if the original request succeeds.
If the same key is sent again within the validity window, the same successful response is returned.
If the original request failed with a 4XX or 5XX error, no idempotency record is stored, and the client can safely retry the entire process with the same Idempotency-Key.

Header#

Rules#

Valid for: 24 hours. After this period, if the same Idempotency-Key is sent again, a new transaction will be generated.
Maximum length: 56 characters.
Uniqueness: must be unique per transaction type.
Scope: applies only to supported endpoints (see below).
Generation: clients are responsible for generating keys. We recommend UUIDv4 or another random string generator with sufficient entropy.

Supported endpoints#

The Idempotency-Key header is currently supported in:
Void a transaction (one-time charges, preauthorizations, and subscription charges).
Refund a transaction (one-time charges, preauthorizations, and subscription charges).
Subscription preauthorizations.

Error scenarios#

5XX errors (server-side issues)#

No idempotency record is stored.
The client may retry with the same Idempotency-Key.
Retrying is at the integrator’s discretion.

4XX errors (client-side issues)#

No idempotency record is stored.
The client may retry with the same Idempotency-Key after correcting the input.
Retrying is at the integrator’s discretion.

Best practices#

Always generate a new Idempotency-Key for each unique transaction attempt.
Use a UUID or another strong random string generator to ensure uniqueness.
Return Home
Got a suggestion on this documentation? Contact Us.
Modified at 2026-04-15 21:33:25
Previous
Bienvenidos
Next
1. Request a card token
Built with