1. One Click and Scheduled Payments
  • Developer Docs Ecuador 🇪🇨
  • Online Payments
    • Release Notes
    • Card Payments
      • Request a card token
      • Make a charge or deferred charge
      • Refund a transaction
      • Void a transaction
      • Request deferred options
      • Validate OTP
      • Bin Info V2
      • Bin Info
    • One Click and Scheduled Payments
      • Request a recurring charge token
        POST
      • Create a recurring charge
        POST
      • Update recurring charge card data
        PUT
      • Make an One-click payment
        POST
      • Cancel a recurring charge
        DELETE
      • Update a recurring charge
        PATCH
      • Add a temporary charge or discount
        PUT
      • Get recurring charge Info
        GET
    • Chargebacks
      • Query chargebacks
      • Request chargeback export
    • Subscription Transactions
      • Get subscription transactions
    • Transfer in
      • Request a Transfer In token
      • Init Transaction
      • Get Status
    • Cash in
      • Request a cash in token
      • Init Transaction
      • Update a cash in transaction
      • Transaction Status
      • Delete a cash in transaction
    • Smartlinks
      • Create a Smartlink
      • Update a Smartlink
      • Get a Smartlink
      • Delete a smartlink
    • Analytics
      • Get transactions list v1
      • Get transactions list v2
    • Status
      • Get gateway status
      • Get platform status
    • Commissions
      • Get Commission Configuration
    • Payment Credentials
      • Create a credential
      • Search credentials
      • Activate or deactivate
      • Delete credential
      • Update credential
      • Regenerate a credential
      • Advanced search
    • Payment Button
      • Create a payment button
    • Settlement
      • Query settlement
  • Appian - Submerchant Register
    • Submerchant Validation in Batch
    • Query submerchant status by requestId/submerchantId
    • Get submerchantIds
    • Get credentials for submerchants
  • Schemas
    • threeDomainSecure
    • webhooks
    • Card-old
    • Channel
    • Amount-cash-in
    • ChargebackListResponse
    • StatusComponent
    • SettlementDateRangeRequest
    • SubscriptionTransactionsResponse
    • Card
    • currency
    • networkToken
    • ChargebackItem
    • ErrorResponse
    • SettlementTicketRequest
    • SubscriptionTransaction
    • Subscription
    • Amount
    • ErrorResponse400
    • SettlementResponse
    • extraTaxes
    • Country
    • ErrorResponse401
    • SettlementRecord
    • Language
    • Deferred
    • ErrorResponse403
    • Metadata
    • payment_method
    • ErrorResponse500
    • ContactDetails
    • documentType
    • orderDetails
    • Shipping Address
    • Billing-Address
    • payment_submethod
    • SubscriptionUpdate
    • product
    • SubscriptionAdjustmentRequest
    • threeDomainSecure
    • webhooks
    • headers
    • webhooksChargeback
    • citMit
    • network
    • binInfo
    • messageFields
    • UnexpectedErrorResponse
    • ExternalReferenceId
    • transactionType
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨
Colombia 🇨🇴Chile 🇨🇱
BienvenidaPerú 🇵🇪México 🇲🇽Ecuador 🇪🇨
Colombia 🇨🇴Chile 🇨🇱
  1. One Click and Scheduled Payments

Create a recurring charge

POST
/subscriptions/v1/card
Create a recurring charge with a token provided by Kushki which represents the customer's credit card.

Payment Execution#

Kushki processes recurring charges to the registered card automatically. Payments will be executed and repeated according to the amount and period indicated in the subscription.
The billing logic starts running every day from 6am GMT-5. Make sure that the subscription was created before this time if you want the first payment to be executed on the same day of registration. Alternatively, your customer can register his/her card some days in advance, before Kushki executes the first charge. When creating a subscription, you must indicate the start date startDate.

Retries#

If a payment is rejected, Kushki has a retry logic to try to recover the charge. By default, there are 3 retries for 3 days in a row from the payment day originally defined in startDate. For example, for a monthly subscription with start date: 10-01-2021, with a rejection on 10-02-2021, payment will be retried until 13-02-2021, 3 times each day, for a total of 9 payment attempts.
You can modify the retry days for a subscription and also define specific charging days.
If the last charge attempt was declined, we may send you a notification via WebHook informing you about it. In these cases, we recommend you to contact the card owner and offer him/her a set of alternatives for paying the fee that could not be charged; for example, changing the registered credit card and generating a charge on demand only for one time. Kushki will continue executing automatic charges over the following periods.
Customize retry logic#
You can customize the collection retry logic by submitting the retryConfiguration object as follows:
1.
retryType:"schedule". If you choose schedule, you can specify in the value field you can specify in value how often the collection will be reattempted.
In the next example, the collection will be reattempted 3 times per day every 2 days for the entire month.
{
   "retryConfiguration":{
      "retryType":"schedule",
      "value":[2]
   }
}
2.
retryType:"fixed". Send the specific days of the month to retry. Ex. 10th, 20th, 30th.
In the following example, the charge will only be reattempted 3 times a day, on the 10th, 20th and 30th of the corresponding month.
{
  "retryConfiguration":{
     "retryType":"fixed",
     "value":[10,20,30]
  }
}
Send the retryType as fixed if you do not want to retry collection for the entire month.
If the last charge attempt was declined, we may send you a notification via WebHook informing you about it. In these cases, we recommend you to contact the card owner and offer them a set of alternatives for paying the fee that could not be charged; for example, changing the registered credit card and generating an One-click payment only for one time. Kushki will continue executing automatic charges over the following periods.

Important!#

When customizing retries it should be noted that once the first collection is initiated, if it fails and retries are initiated, any updates to retries will be applied until the next subscription period (weekly, monthly, yearly).

Periodicity#

You can choose the frequency of recurring charges by submitting any of these values in the required periodicity field:
daily: every 1 day.
weekly: every 7 days.
biweekly: every 15 days.
monthly: every 30 days.
threefortnights: every six weeks or 42 days.
bimonthly: every 60 days.
quarterly: every 90 days.
fourmonths: every 120 days.
halfyearly: every 180 days
yearly: every 360 days.
custom: for one click payments.

Do you have your own 3DS authentication engine?#

Product in beta version in Ecuador 🇪🇨 🔐👨‍💻#

We are working on our beta version. Stay tuned for its official release! You can also contact your account manager for more information.
Make sure you include the threeDomainSecure object in your request.

Request

Header Params

Body Params application/json

Examples

Responses

🟢201
application/json
Created
Bodyapplication/json

🟠400
🔴500
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api-uat.kushkipagos.com/subscriptions/v1/card' \
--header 'Private-Merchant-Id;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "token": "gV3ox6100000sAxClU033646vnnJsT83",
    "planName": "Premium",
    "periodicity": "monthly",
    "contactDetails": {
        "documentType": "RUC",
        "documentNumber": "1009283738",
        "email": "user@example.com",
        "firstName": "John",
        "lastName": "Doe",
        "phoneNumber": "+593912345678"
    },
    "amount": {
        "subtotalIva": 1,
        "subtotalIva0": 0,
        "ice": 0,
        "iva": 0.14,
        "currency": "USD"
    },
    "startDate": "2022-05-25",
    "metadata": {
        "plan": {
            "fitness": {
                "cardio": "include",
                "rumba": "include",
                "pool": "include"
            }
        }
    }
}'
Response Response Example
201 - default
{
    "subscriptionId": "1601594972296000"
}
Modified at 2026-07-10 20:45:14
Previous
Request a recurring charge token
Next
Update recurring charge card data
Built with