1. Online Payments
  • API Docs Colombia 🇨🇴
  • Online Payments
    • Release Notes
    • Card Payments
      • Request a card token
      • Make a charge or deferred charge
      • Create payment (tokenless)
      • Void a transaction
      • Refund a transaction
      • Request deferred options
      • Authorize payments
      • Preauthorization (tokenless)
      • Reauthorize payments
      • Capture an authorized payment
      • Verify Account
      • Validate OTP
      • Bin Info
      • BIN info V2
    • One-Click & Scheduled Payments
      • Request a recurring charge token
      • Create a recurring charge
      • Make an One-click payment
      • Update recurring charge card data
      • Cancel a recurring charge
      • Update a recurring charge
      • Add a temporary charge or discount
      • Authorize payments
      • Capture an authorized payment
      • Get recurring charge Info
    • Chargebacks
      • Query chargebacks
      • Request chargeback export
    • 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
      • Delete a cash in transaction
      • Update a cash in transaction
    • Cash-out
      • Request a cash out token
      • Init Transaction
      • Transaction Status
      • Update a cash out transaction
      • Delete a cash out transaction
    • Smartlinks-v2
      • Create a Smartlink
      • Get a Smartlink
      • Update a Smartlink
      • Delete a smartlink
    • Analytics
      • Get transactions list v1
      • Get transactions list v2
    • Gateway-status
      • Get gateway status
      • Get platform status
    • Payment Credentials
      • Create a credential
      • Search credentials
      • Advanced search
      • Delete credential
      • Regenerate a credential
      • Activate or deactivate
      • Update credential
    • Payment Button
      • Create a payment button
    • Settlement
      • Query settlement
    • Subscription Transactions
      • Get subscription transactions
  • Kushki One
    • Cloud Services
      • Payment
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Abort
        • Transaction Search
      • Print
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Payment
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Abort
        • Transaction Search — Online
        • Transaction Search — Local
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
  • API RAW CARD PRESENT PAYMENTS
    • Release Notes
    • Error Catalog
    • The Amount Object
    • Key Exchange Process
    • Test data
    • Card Information
      • Get BIN Info
      • Balance inquiries
      • BIN info V2
      • Request deferred options
    • One-time Payments
      • Single payment
    • Two-step Payments
      • Authorization and capture
    • Voids & Refunds
      • Void & Reverse
      • Refund a transaction
    • Query Transactions
      • Transaction Search
    • Webhooks
      • Introduction
      • Good Practices
      • Webhooks-Card Payments
      • Webhooks-Refunds
      • Check your webhooks
  • Appian - Submerchant Register
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • RequestBodies
      • one-and-two-step-payment
    • SubscriptionTransactionsResponse
    • Card
    • Channel
    • Amount-cash-in
    • ChargebackListResponse
    • SettlementDateRangeRequest
    • AmountWithTaxes
    • PrintJobRequest
    • card
    • SubscriptionTransaction
    • networkToken
    • ChargebackItem
    • SettlementTicketRequest
    • AmountCore
    • CommandText
    • amount
    • ErrorResponse
    • currency
    • webhooksItem
    • ErrorResponse400
    • SettlementResponse
    • ExtraTaxes
    • CommandColumns
    • extra_taxes
    • Amount
    • ErrorResponse401
    • SettlementRecord
    • ColumnItem
    • pos_details
    • extraTaxes
    • ErrorResponse403
    • TransactionResponse
    • CommandDivider
    • card_details
    • Deferred
    • Country
    • payment_method
    • ErrorResponse500
    • RawResponse
    • CommandFeed
    • enc_tlv
    • Metadata
    • CardData
    • CommandSpace
    • contact_details
    • ContactDetails
    • AmountWithTip
    • CommandCut
    • deferred
    • sub_merchant
    • documentType
    • Subscription
    • LinkFailure
    • CommandImage
    • metadata
    • orderDetails
    • Language
    • TransactionSearchRequest
    • CommandQR
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • Billing-Address
    • PrinterError
    • product
    • SubscriptionUpdate
    • PrintJobStatus
    • threeDomainSecure
    • SubscriptionAdjustmentRequest
    • PrintWebhookPayload
    • webhooks
    • headers
    • webhooksChargeback
    • citMit
    • network
    • binInfo
    • messageFields
    • UnexpectedErrorResponse
    • transactionType
    • ExternalReferenceId
    • ExternalSubscriptionId
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴
Chile 🇨🇱
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨Colombia 🇨🇴
Chile 🇨🇱
  1. Online Payments

SMARTLINKS-V2

Smartlinks let you generate a shareable payment URL that opens a Kushki-hosted checkout form. Share the link via email, WhatsApp, or any channel — your customer clicks it, fills in the form, and pays. No frontend integration needed.
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.

Key Concepts#

Payment config types#

TypeDescription
fixedThe amount is set by you — the customer cannot change it.
openThe customer enters the amount within a defined range (minAmount / maxAmount).

Payment types (within fixed)#

ValueDescription
uniqueOne-time payment
subscriptionRecurring charge — customer is enrolled in a subscription
mixedOne-time charge + subscription enrollment in a single flow

Form structure#

ValueDescription
checkoutStandard inline checkout layout
coverFull-page cover layout with a hero image and a call-to-action button

Payment Methods in Colombia#

ValueMethod
credit-cardCredit and debit card
cashCash at payment points (Baloto, Efecty, Bancolombia, etc.)
transferPSE bank transfer
subscriptionUse this value when paymentType is subscription

Creating a Smartlink#

Call Create a Smartlink from your backend with your publicMerchantId and the configuration objects. The response returns a ready-to-share smartLinkUrl.

Required objects#

ObjectDescription
publicMerchantIdYour Public Merchant ID
merchantNameName shown in the smartlink URL slug
paymentConfigAmount, payment type, and accepted methods — see below
generalConfigProduct info, expiration, usage limits, and UI copy
styleAndStructureLayout structure and brand colors
contactSupport email and phone shown on the checkout page

paymentConfig — fixed amount#

{
  "paymentConfigType": "fixed",
  "paymentConfig": {
    "paymentType": "unique",
    "amount": {
      "subtotalIva": 0,
      "subtotalIva0": 50000,
      "iva": 0,
      "currency": "COP"
    },
    "paymentMethod": ["credit-card", "cash", "transfer"]
  }
}

paymentConfig — open amount#

{
  "paymentConfigType": "open",
  "paymentConfig": {
    "paymentType": "unique",
    "paymentMethod": ["credit-card", "transfer"],
    "currency": "COP",
    "minAmount": 10000,
    "maxAmount": 500000,
    "defaultAmount": 50000,
    "taxEnabled": false
  }
}

generalConfig fields#

FieldDescription
productNameProduct or service name shown on the form
descriptionDescription in HTML format
productImageURL of the product image
brandLogoURL of your brand logo
executionLimitMax number of times the link can be used. 0 = unlimited.
expirationDateUTC timestamp (Epoch) — link expires after this date
enabledWhether the link is active
termsAndConditionsURL to your T&C page
showTimerShow a countdown timer on the form
buyButtonTextCTA button text (required if structure is cover)
payButtonTextPay button text override
hidePayButtonAmountHide the amount from the pay button

styleAndStructure fields#

FieldDescription
structure"checkout" or "cover"
primaryColorBrand primary color in hex (e.g. "#E83D42")
secondaryColorBrand secondary color in hex
coverModelCover layout variant (required if structure is cover)
buttonStyleButton style (required if structure is cover)

Custom Form Fields (formConfig)#

You can add custom input fields to your Smartlink form using the formConfig array. Six field types are supported:
TypeDescription
inputFree-text field (name, email, reference number, etc.)
selectDropdown with a list of options
dateDate picker calendar
checkboxTrue/false toggle (e.g. terms acceptance)
fileFile upload field
disclaimerRead-only text block (no customer input)
Each item in formConfig includes label, type, name, placeholder, required, and disabled. For input fields, set validateEmail: true to enforce email format validation.

Subscription Smartlinks#

When paymentType is subscription, include a subscriptionOptions object:
{
  "paymentConfig": {
    "paymentType": "subscription",
    "paymentMethod": ["subscription"],
    "amount": {
      "subtotalIva0": 50000,
      "subtotalIva": 0,
      "iva": 0,
      "currency": "COP"
    },
    "subscriptionOptions": {
      "periodicity": "monthly",
      "planName": "Plan mensual",
      "startDate": "2025-06-01",
      "terms": "https://micomercio.com/terminos"
    }
  }
}
For mixed type (one-time charge + subscription enrollment), also include mixedOptions with numberOfFees, periodicity, and subscriptionDay.

Managing Smartlinks#

OperationWhen to use
GetRetrieve full Smartlink configuration by smartlinkId
UpdateModify an existing Smartlink — amount, methods, copy, style
DeletePermanently disable a Smartlink. Once deleted, the URL stops working.

Authentication#


Using the API#

🟢 Production
🧪 Sandbox (UAT)
https://api.kushkipagos.com/

Available Endpoints#

Create a Smartlink
Generates a hosted payment URL with your product, amount, and branding configuration.
Get a Smartlink
Retrieves the full configuration of an existing Smartlink by its ID.
Update a Smartlink
Modifies an existing Smartlink — amount, payment methods, copy, or styling.
Delete a Smartlink
Permanently disables a Smartlink. The URL stops working immediately.

Got a suggestion on this documentation? Contact us.
Modified at 2026-07-11 00:04:33
Previous
Delete a cash out transaction
Next
Create a Smartlink
Built with