---
title: "Create Subscription"
method: POST
path: "/v3/plans/{plan-id}/subscriptions"
---

# Create Subscription

`POST /v3/plans/{plan-id}/subscriptions`

## Request

- Base URL: `https://gateway-154.netpaydev.com/gateway-ecommerce`
- URL: `https://gateway-154.netpaydev.com/gateway-ecommerce/v3/plans/{plan-id}/subscriptions`
- Auth: none required

## Path parameters

- `plan-id` string, required

## Headers

- `Content-Type` string
- `Authorization` string

## Request body

- object
  - `client` object, required: Información del cliente
    - `id` string, required: Identificador del cliente
    - `paymentSource` object: Método de pago del cliente
      - `source` string, required: Token de la tarjeta del cliente
      - `type` string, required: Método de pago
  - `expiryCount` integer, required: Número de veces que se cobrará la suscripción
  - `selfRenewal` boolean, required: Bandera que indica si el plan se renovará de forma automática
  - `billingStart` string, date, required: Fecha de inicio del cobro de la suscripción
  - `redirect3dsUri` string, required: Url (especificada por el comercio) a la que se redirigirá al cliente luego del proceso de 3DS

## Response `200`

200

- object
  - `id` string
  - `plan` object
    - `id` string
    - `name` string
    - `amount` integer
    - `currency` string
    - `interval` string
    - `frecuency` integer
    - `trialDays` integer
    - `expiryCount` integer
    - `deprecated` integer
    - `active` integer
    - `variableAmount` integer
    - `dayStartPayment` integer
    - `identifier` string
    - `selfRenewal` integer
    - `selfRetries` integer
    - `terminalView` integer
    - `clientId` integer
    - `groupId` unknown
    - `createdAt` string
    - `updatedAt` string
    - `fixed` boolean
    - `planType` string
    - `periodInDays` integer
    - `nextBillingStart` unknown
    - `dayOfWeek` string
  - `client` object
    - `id` string
    - `name` string
    - `firstName` string
    - `lastName` string
    - `phone` string
    - `email` string
    - `identifier` string
    - `originationClientId` integer
    - `paymentSources` object[]
      - `paymentSource` string
      - `sourceType` string
      - `cardDefault` unknown
      - `createdAt` string
      - `updatedAt` string
    - `subscriptions` object[]
      - `expiryCount` integer
      - `amount` integer
      - `plan` object
        - `id` string
        - `name` string
        - `amount` integer
        - `currency` string
        - `interval` string
        - `frecuency` integer
        - `trialDays` integer
        - `expiryCount` integer
        - `active` boolean
        - `variableAmount` boolean
        - `selfRetries` boolean
        - `selfRenewal` boolean
        - `terminalView` boolean
        - `deprecated` boolean
        - `dayStartPayment` integer
        - `identifier` string
        - `nextBillingStart` unknown
        - `createdAt` string
        - `subscriptions` object[]
          - `id` string
          - `name` string
          - `phone` string
          - `email` string
          - `firstName` string
          - `lastName` string
          - `createdAt` string
          - `paymentSource` unknown
          - `paymentSources` unknown
          - `identifier` string
          - `subscriptions` unknown
      - `id` string
    - `createdAt` string
    - `updatedAt` string
  - `cardToken` object
    - `id` integer
    - `token` string
    - `expYear` string
    - `expMonth` string
    - `lastFourDigits` string
    - `cardHolderName` string
    - `brand` string
    - `deviceFingerPrint` string
    - `ipAddress` string
    - `used` unknown
    - `vault` integer
    - `instegrationsdk` unknown
    - `integrationSdkVersion` unknown
    - `createdAt` string
    - `updatedAt` string
    - `vaultInformation` unknown
    - `simpleUse` boolean
    - `clientId` integer
    - `cardBrand` string
    - `typeCard` string
    - `fromVault` boolean
    - `tokenWithOutPrefix` string
  - `status` string
  - `billingStart` string
  - `billingEnd` string
  - `expiryCount` integer
  - `selfRenewal` integer
  - `selfRetries` integer
  - `amount` integer
  - `transactions` unknown[]
    - unknown
  - `subscriptionSchedulers` unknown[]
    - unknown
  - `createdAt` string
  - `updatedAt` string
  - `deviceFingerprintID` string
  - `merchantReferenceCode` string
  - `proxyIntentSubscriptionCount` unknown
  - `lastTransactionTokenId` unknown
  - `nextPaymentDate` unknown
  - `autocalculateBillingEnd` boolean
  - `redirect3dsUri` unknown
  - `finalAmount` integer

## Other responses

- `400`: 400

## Changes

- **2026-11-03** `fa8e0639abda`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/netpay/apis/api-sandbox-netpay-loop/changes/v3/plans/:plan-id/subscriptions/post.md)

---

[API](https://skmtc.dev/netpay/apis/api-sandbox-netpay-loop.md) - [All operations](https://skmtc.dev/netpay/apis/api-sandbox-netpay-loop/llms.txt) - [OpenAPI document](https://skmtc.dev/netpay/apis/api-sandbox-netpay-loop/revisions/fa8e0639abda?raw)
