1. Online Payments
  • API Docs Mexico 🇲🇽
  • Online Payments
    • Release Notes
    • Card Payments
      • Request a card token
      • Make a charge or deferred charge
      • Create payment (tokenless)
      • Request deferred options
      • Refund a transaction
      • Authorize payments
      • Preauthorization (tokenless)
      • Void a transaction
      • Reauthorize payments
      • Capture an authorized payment
      • Bin Info V2
      • Bin Info
      • Validate OTP
      • Verify Account
    • One-Click and 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
    • 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
    • Smartlinks
      • Create a Smartlink
      • Get a Smartlink
      • Delete a smartlink
      • Update a Smartlink
    • Payment Button
      • Create a payment button
    • Analytics
      • Get transactions list v1
      • Get transactions list v2
    • Chargebacks
      • Query chargebacks
      • Request chargeback export
    • Commissions
      • Get Commission Configuration
    • Payment Credentials
      • Create a credential
      • Activate or deactivate
      • Delete credential
      • Regenerate a credential
      • Update credential
      • Advanced search
      • Search credentials
    • Platform Status
      • Get platform status
      • Get gateway status
    • Settlement
      • Query settlement
    • Subscription Transactions
      • Get subscription transactions
  • Card Present Billpocket
    • Get Started
      • Create Account
      • User Token
      • API Keys
    • Webhooks
      • Webhooks — Transfer Funds (v1)
      • Webhooks — Transfer Funds to Your Bank Account
      • Transfer Funds Errors
    • Terminals
      • App Review
      • Splash Screen
    • Card Present Payment Services
      • Cloud Terminal API
        • Collect card payments
        • Print Ticket
        • Cancel Push Notification
        • Get transaction status
        • Collect card payments v2
      • App-to-App
        • Android intents
        • App to App — iOS
        • App to App — Mobile Web
      • Terminal SDK
        • Terminal SDK
        • Android SDK errors
    • Card not Present Billpocket Services
      • 3DS Checkout
        • Create checkout
        • Get checkout details
      • E-commerce Flex
        • Get token
        • Validate token
        • Collect payments
        • Refund
        • Capture an authorized payment
        • Get status
    • Catalogs
      • States
      • Municipalities
      • Tax companies
      • Commercial activities
    • User Settings
      • Create user
    • Accounts
      • Clabe Account Setup
        • Add CLABE account
      • Deposit Accounts
        • Add or update CLABE account
    • Transactions
      • Transaction List
        • Get token
        • Get transaction list
        • Get transaction list v2
        • Get transaction list v3
        • Get transaction list v4
      • Cancel Payments
        • Cancel payments Error Codes
        • Cancel payments
  • API Raw Card Present
    • The Amount Object
    • Error Catalog
    • Key Exchange Process
    • Release Notes
    • Test Data
    • One-time payments
      • Single payment
    • Two-step-payments
      • Authorization and capture
    • Voids & Refunds
      • Refund a transaction
    • Card information
      • Get BIN Info
      • Balance inquiries
      • Bin Info V2
      • Request deferred options
    • Query Transactions
      • Transaction Search
    • Webhooks
      • Webhooks — Introduction
      • Good Practices
      • Webhooks — Card Payments
      • Webhooks — Refunds
      • Check Your Webhooks
  • Kushki One
    • Cloud Services
      • Payment
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Abort
      • Search
        • Transaction Search
      • Print
        • Create Print Job
        • Get Print Job Status
    • Local Services
      • Print
        • Create Print Job
        • Get Print Job Status
        • Print Job Webhook (inbound — implemented by your POS)
      • Payment
        • Charge
        • Authorization (Pre-auth)
        • Capture
        • Re-authorization
        • Post-tip
        • Void
        • Refund
        • Abort
      • Search
        • Transaction Search — Online
        • Transaction Search — Local
  • Appian - Submerchant Register
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Submerchant Document Upload
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • RequestBodies
      • one-and-two-step-payment
    • Card
    • Channel
    • Amount-cash-in
    • ChargebackListResponse
    • StatusComponent
    • SettlementDateRangeRequest
    • SubscriptionTransactionsResponse
    • amount
    • AmountWithTaxes
    • PrintJobRequest
    • networkToken
    • ChargebackItem
    • SettlementTicketRequest
    • SubscriptionTransaction
    • extra_taxes
    • AmountCore
    • CommandText
    • currency
    • ErrorResponse400
    • ErrorResponse
    • SettlementResponse
    • webhooksItem
    • card
    • ExtraTaxes
    • CommandColumns
    • Amount
    • Country
    • ErrorResponse401
    • SettlementRecord
    • card_details
    • ColumnItem
    • extraTaxes
    • ErrorResponse403
    • enc_tlv
    • TransactionResponse
    • CommandDivider
    • Deferred
    • payment_method
    • ErrorResponse500
    • deferred
    • RawResponse
    • CommandFeed
    • Metadata
    • pos_details
    • CardData
    • CommandSpace
    • ContactDetails
    • contact_details
    • sub_merchant
    • AmountWithTip
    • CommandCut
    • documentType
    • Subscription
    • metadata
    • LinkFailure
    • CommandImage
    • orderDetails
    • Language
    • TransactionSearchRequest
    • CommandQR
    • Shipping Address
    • payment_submethod
    • CommandBarcode
    • Billing-Address
    • SubscriptionUpdate
    • PrinterError
    • product
    • SubscriptionAdjustmentRequest
    • PrintJobStatus
    • threeDomainSecure
    • 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

Smartlinks V2 lets you generate a hosted payment URL that you share with your customers in Mexico 🇲🇽. No frontend integration required — Kushki hosts the payment form. Customers open the link, fill in any custom fields, select a payment method, and pay.
Smartlinks support:
Fixed amounts — you set the price, the customer pays that exact amount
Open amounts — the customer enters the amount at checkout (useful for donations, invoices, top-ups)
Payment types — one-time, subscription, or mixed (one-time + subscription option)
Payment methods — credit card, bank transfer, and cash

How it works#

1
Create a Smartlink
Call POST /smartlink/v2/smart-link with your configuration. Returns a smartLinkUrl ready to share.
Fixed amount — one-time payment:
{
  "publicMerchantId": "20000000103802320000",
  "merchantName": "mi-comercio-mexico",
  "paymentConfigType": "fixed",
  "paymentConfig": {
    "paymentType": "unique",
    "paymentMethod": ["credit-card", "transfer", "cash"],
    "amount": {
      "subtotalIva": 0,
      "subtotalIva0": 500,
      "iva": 0,
      "currency": "MXN"
    }
  },
  "generalConfig": {
    "productName": "Producto de ejemplo",
    "description": "Descripción del producto",
    "productImage": "https://yoursite.com/product.jpg",
    "brandLogo": "https://yoursite.com/logo.png",
    "executionLimit": 100,
    "showTimer": false,
    "enabled": true,
    "termsAndConditions": "https://yoursite.com/terms"
  },
  "styleAndStructure": {
    "structure": "checkout",
    "buttonStyle": "round",
    "primaryColor": "#1A4CFF"
  },
  "contact": {
    "email": "user@example.com",
    "phoneNumber": "+525512345678"
  },
  "formConfig": [
    {
      "name": "nombres",
      "label": "Nombre completo",
      "type": "input",
      "required": true,
      "selected": true
    }
  ],
  "language": "es"
}
Response:
{
  "smartLinkUrl": "https://pay.kushkipagos.com/smartlink/abc123xyz"
}
2
Share the URL with your customer
Send the smartLinkUrl via email, SMS, WhatsApp, or embed it as a button on your site. The customer opens it in their browser — no app or SDK required.
3
Customer completes payment
The customer fills in any custom form fields, selects their payment method, and completes the transaction. Kushki handles the entire payment flow.
4
Get, update, or delete the Smartlink
Use GET /smartlink/v2/smart-link/{smartlinkId} to retrieve the current configuration, PATCH to update fields (e.g., disable the link or change the execution limit), and DELETE to permanently remove it.

Payment configuration types#

paymentConfigTypeDescription
fixedYou define the amount — customer pays exactly that
openCustomer enters the amount at checkout

Payment methods#

ValueDescription
credit-cardCredit or debit card
transferBank transfer
cashCash at partner collection points
subscriptionRecurring card payments

Payment types#

ValueDescription
uniqueSingle one-time payment
subscriptionRecurring subscription payments
mixedOffers both one-time and subscription options to the customer

Form field types#

Custom fields in formConfig can be any of these types:
TypeDescription
inputFree-text input (name, email, etc.)
selectDropdown list of options
dateDate picker
areaMulti-line text area
checkboxMulti-select checkboxes
radioSingle-choice radio buttons

Open amount configuration#

For paymentConfigType: "open", use the paymentConfig object (note the trailing space — this is a separate property from paymentConfig):
{
  "paymentConfigType": "open",
  "paymentConfig ": {
    "paymentType": "unique",
    "paymentMethod": ["credit-card", "transfer"],
    "currency": "MXN",
    "taxEnabled": false,
    "minAmount": 100,
    "maxAmount": 10000
  }
}
FieldDescription
currencyMXN
taxEnabledWhether to apply tax at checkout
taxPercentageTax rate (if taxEnabled: true)
defaultAmountPre-filled amount suggestion
minAmountMinimum amount the customer can enter
maxAmountMaximum amount the customer can enter

General configuration fields#

FieldRequiredDescription
productName✅Product or service name
description✅Short description shown at checkout
productImage✅URL of the product image
brandLogo✅URL of your brand logo
executionLimit✅Max number of times this link can be used
showTimer✅Show a countdown timer on the payment page
enabled✅true to activate the link
termsAndConditions✅URL to your T&C page
expirationDateOptionalUnix timestamp — link expires after this date
buyButtonTextOptionalCustom text for the pay button

Style and structure#

FieldOptionsDescription
structurecheckout, coverPage layout
coverModelleft, center, rightImage position (cover layout only)
buttonStylesquare, semi, roundPay button corner style
primaryColorHex colorMain brand color
secondaryColorHex colorSecondary brand color

Currency#

CurrencyCodeNotes
Mexican PesoMXNTwo decimal places — amounts use cents (e.g., 500.00)

Language#

Set the checkout page language with the language field:
ValueLanguage
esSpanish
enEnglish
brPortuguese

Authentication#


Using the API#

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

Available Endpoints#

Create Smartlink
Generate a hosted payment URL with your product config, branding, form fields, and payment methods.
Get Smartlink
Retrieve the current configuration and status of a Smartlink by its ID.
Update Smartlink
Modify an existing Smartlink — enable/disable it, update the execution limit, or change config fields.
Delete Smartlink
Permanently remove a Smartlink. This action cannot be undone.

Got a suggestion on this documentation? Contact us.
Modified at 2026-07-11 00:04:51
Previous
Balance for Payouts
Next
Create a Smartlink
Built with