# Creates a installment plan

Creates a Installment plan object.
After you have created a Installment plan, it will start immediately when mandate is given. When pay_methods are given you need to redirect the customer to the checkout link in the `links` section.

Endpoint: POST /installment_plans
Version: v1
Security: apiKey

## Security:

  - `apiKey` (unknown)
    http bearer API key

## Request fields (application/json):

  - `customer` (string, required)
    ID of the customer for installment plan. Cannot be used together with a `mandate`.

  - `mandate` (string)
    ID of the mandate for installment plan

  - `description` (string, required)
    Description of the installment plan. This will be shown to customers

  - `currency` (string, required)
    The currency of the installment plan. Only 'EUR' is supported

  - `pay_methods` (array)
    Pay methods that can be used to start the subscription. Using this creates the subscription with the `authorization` flow and will start the subscription when the first payment is paid. Use the checkout link in the `links` field to redirect the customer. Cannot be used together with a `mandate`.

  - `payment_details` (object)
    Fields to be passed to the authorization payment.

  - `payment_details.return_url` (string)
    The URL where the customer will be send to after the payment has been processed.

  - `payment_details.cancel_url` (string)
    The URL where the customer will be send to after the payment has been canceled by the customer.

  - `payment_details.issuer` (string)
    Specifying the iDEAL issuer is deprecated and will be ignored if provided.
    Enum: "SNSBNL2A", "ASNBNL21", "ABNANL2A", "BUNQNL2A", "KNABNL2H", "RABONL2U", "REVOLT21", "RBRBNL21", "TRIONL2U", "FVLBNL22", "INGBNL2A", "BITSNL2A", "NTSBDEB1", "NNBANL2G"

  - `period` (object, required)
    Settings for when new periods should be created and with which amounts

  - `period.amount` (integer)
    The amount in cents that the customer will have to pay.

  - `period.vat` (number)
    The vat included in the amount. Accepted values: from 0 till 30

  - `period.interval` (string)
    The interval of each period. Accepted values: `day`, `week`, `month` or `year`

  - `period.multiplier` (integer)
    The multiplier of the interval between periods. Example: `interval=month` and `mulitplier=3` will create a new period every 3 months.

  - `first_period` (object)
    Settings for when the first period should be created and with what amount

  - `first_period.amount` (integer)
    The amount in cents that the customer will have to pay.

  - `first_period.vat` (number)
    The vat included in the amount. Accepted values: from 0 till 30

  - `first_period.interval` (string)
    The interval of each period. Accepted values: `day`, `week`, `month` or `year`

  - `first_period.multiplier` (integer)
    The multiplier of the interval between periods. Example: `interval=month` and `mulitplier=3` will create a new period every 3 months.

  - `number_of_periods` (integer, required)
    The number of installment plan periods.

  - `metadata` (object)
    You can put in random data that you like to save alongside the installment plan. When you fetch the installment plan this will be returned in the `metadata` field.

## Response 201:

  - `201` (unknown)
    installment plan created

## Response 201 fields (application/json):

  - `id` (string, required)

  - `type` (string, required)
    Enum: "installment_plan"

  - `description` (string, required)

  - `installment_plan_type` (string, required)
    Enum: "direct_debit"

  - `state` (string, required)

  - `currency` (string, required)
    Enum: "EUR"

  - `created_at` (string, required)

  - `customer` (string, required)

  - `mandate` (string, required)

  - `period` (object, required)

  - `period.amount` (integer, required)

  - `period.vat` (number, required)

  - `period.multiplier` (integer, required)

  - `period.interval` (string, required)
    Enum: "day", "week", "month", "year"

  - `first_period` (object, required)

  - `first_period.amount` (integer, required)

  - `first_period.vat` (number, required)

  - `first_period.multiplier` (integer)

  - `first_period.interval` (string)
    Enum: "day", "week", "month", "year"

  - `number_of_periods` (number, required)

  - `payment_details` (object, required)

  - `payment_details.return_url` (string, required)

  - `payment_details.cancel_url` (string, required)

  - `next_period_date` (string, required)

  - `metadata` (object, required)

  - `_links` (object, required)

  - `_links.self` (string, required)

  - `_links.customer` (string)

  - `_links.mandate` (string)

  - `_links.checkout` (string)

