1. Recurring Card Payments (Online)
Kushki Docs
English
  • Español
  • English
  • Home
  • Quick Start
    • Frequently Asked Questions
    • Moving to Production
    • Policy for Important API Changes
    • Test Data
    • Error Codes
    • Latest Features
  • Payment Glossary
    • Payments Glossary
  • One-time card payments (Online)
    • Supported card brands
    • Introduction to 3DS
    • Functionalities by business model
    • How do third party commissions work?
    • Integration guide Third Party Commissions
    • One-step Payments
      • How do Card Payments Work?
      • Accept a Card Payment
      • Accept One-Time Payments with OTP
      • OTP Authentication Error Codes
      • Error codes for single card payments
    • Scheduled payments
      • How do Credit or Debit Card Payment Recurring Charges Work?
      • Create a recurring charge
      • Manage your Scheduled Charges
    • Refunds
      • Returns, cancellations, and refunds
    • 3DS Authentication
      • 3DS API integration
      • 3DS integration with kushki.js library
      • 3DS API integration plus kushki.js library
      • 3DS Error Codes
  • Recurring Card Payments (Online)
    • Functionalities by business model
    • Error codes in recurring charges
    • Authenticate your subscriptions with 3DS
    • External subscriptions to Kushki
    • OneClick Payments
      • Accepting One-Click Payments
  • Wire Transfers
    • How do Payments by Wire Transfers Work?
    • Banks and transaction details for bank transfer payments
    • Receive Wire Transfers
    • Check the Status of a Transaction
  • Cash Payments
    • How do Cash Payments Work?
    • Accept a Cash Payment
    • Authorized locations
    • Error Codes for declined cash transaction
  • Plugins
    • Shopify
      • Shopify
      • Plugin Operation
    • VTEX
      • VTEX Integration Guide
  • Payment Links
    • Smartlinks
  • Payment forms and buttons
    • Kajita
      • How Does it Work?
      • Payment Kajitas
    • Payment Button
      • Overview
      • Generate a payment button
  • Branch Offices Management
    • How to Onboard Submerchants via API
  • Notifications
    • Good Practices
    • Check your Webhooks
    • One-time Payments Webhooks
      • Webhook for One-Time Payments made with a card
      • Webhook for One-Time Payments by Wire Transfer
      • Webhook for One-Time Payments in Cash
    • Recurring Payments Webhooks
      • Webhook for Recurring Payments Made with Card
    • Payment button Webhooks
      • Webhooks with Payment Button
    • Smartlinks Webhooks
      • Webhooks with Smartlinks
    • Refunds Webhooks
      • Webhook for Voids and Refunds
      • Chargeback Webhooks
HomeMexico 🇲🇽Ecuador 🇪🇨
Chile 🇨🇱Colombia 🇨🇴Peru 🇵🇪
HomeMexico 🇲🇽Ecuador 🇪🇨
Chile 🇨🇱Colombia 🇨🇴Peru 🇵🇪
Status
Soporte / Support
English
  • Español
  • English
  1. Recurring Card Payments (Online)

External subscriptions to Kushki

Manage your subscriptions externally and charge with Kushki
Kushki allows on-demand payments using tokenized credentials outside of the platform (for example, by an orchestrator or external subscription engine). To use this functionality, the merchant must have PCI DSS certification and properly manage the security, storage, and use of the card token.
Beta Product 🔐👩🏽‍💻
We are currently working on our beta version. Stay tuned for the official release! You can also contact your account manager for more information.

Usage Conditions#

Applies inAvailableIntegration Method
Colombia 🇨🇴
México 🇲🇽
Chile 🇨🇱
Perú 🇵🇪
☑ Acquirer
☐ Aggregator
API
Ecuador 🇪🇨☐ Acquirer
☑ Aggregator
API
Due to our risk policies, this implementation requires a prior assessment by the Kushki team. Please contact your sales representative or pre-sales engineer to evaluate feasibility.

Steps to integrate charges via external recurrence engine#

1. Request the service activation from Kushki#

Contact your account executive to enable the option for external subscription charges without CVV.

2. Request a card token without CVV#

Send a tokenization request excluding the cvv. field.
{
   "card": {
       "name": "John Doe",
       "number": "5451951574925480",
       "expiryMonth": "05",
       "expiryYear": "30"
   },
   "totalAmount": 50,
   "currency": "USD"
}
If the service has not been activated, you will receive error K015: Transaction not allowed without cvv2.

3. Perform the charge#

To process a charge as a recurring payment, you must include the externalSubscriptionID field containing the subscription ID from your external engine up to 20 alphanumeric characters. This way, Kushki will identify the transaction as a subscription managed by an external engine. Include this parameter when making a charge
{
   "token": "{{token}}",
   "amount": {
       "subtotalIva": 0,
       "subtotalIva0": 50,
       "ice": 0,
       "iva": 0,
       "currency": "USD",
       "extraTaxes": {
           "iac": 0,
           "tasaAeroportuaria": 0,
           "agenciaDeViaje": 0
       }
   },
   "metadata": {
       "contractID": "157AB"
   },
   "contactDetails": {
       "documentType": "PAS",
       "documentNumber": "1234567890",
       "email": "user@example.com",
       "firstName": "John",
       "lastName": "Doe",
       "phoneNumber": "+513912345678"
   },
   "orderDetails": {
       "siteDomain": "example.com",
       "shippingDetails": {
           "name": "John Doe",
           "phone": "+513912345678",
           "address": "Av. Simón Bolivar 1515",
           "city": "Lima",
           "region": "Pueblo Libre",
           "country": "Perú",
           "zipcode": "15084"
       },
       "billingDetails": {
           "name": "John Doe",
           "phone": "+593912345678",
           "address": "Av. Simón Bolivar 1515",
           "city": "Lima",
           "region": "Pueblo Libre",
           "country": "Perú",
           "zipCode": "15084"
       }
   },
   "productDetails": {
       "product": [
           {
               "id": "198952AB",
               "title": "eBook Digital Services",
               "price": 30,
               "sku": "10101042",
               "quantity": 1
           },
           {
               "id": "198953AB",
               "title": "eBook Virtual Selling",
               "price": 20,
               "sku": "004834GQ",
               "quantity": 1
           }
       ]
   },
   "fullResponse": "v2",
   "externalSubscriptionID": "SUB1228930920"
}
If instead you want to execute a one-time charge not associated with a subscription, simply omit the externalSubscriptionID parameter.
Modificado en 2026-10-20 16:18:04
Anterior
Authenticate your subscriptions with 3DS
Siguiente
OneClick Payments
Built with