---
title: "Create Payment Plan"
method: POST
path: "/payment-plan"
tags: ["Payment Plan"]
---

# Create Payment Plan

`POST /payment-plan`

**Payment Plan** is a method for creating recurring payment schedules that can be used to collect funds from customers on a regular basis.

Payment plans allow merchants to:

*   **Set up recurring payments:** Create automated payment schedules with specified frequencies (weekly, monthly, quarterly, yearly)

*   **Flexible amount structures:** Define either fixed amounts per cycle or custom schedules with varying amounts

*   **Auto-debit capabilities:** Enable automatic debiting from customer accounts when supported

*   **Multi-cycle support:** Set up plans that run for a specific number of cycles or indefinitely

### Payment Plan Types

Finmo supports various payment plan configurations:

*   **Fixed Amount Plans:** Each cycle has the same amount with a specified number of cycles

*   **Custom Schedule Plans:** Each cycle can have different amounts and timing specified in the plan_schedule array

### Frequency Options

Payment plans support the following frequency options:

*   **WEEKLY:** Payments occur every week

*   **MONTHLY:** Payments occur every month

*   **QUARTERLY:** Payments occur every quarter

*   **YEARLY:** Payments occur every year

### Plan Schedule Structure

For custom schedule plans, each schedule item contains:

*   **amount:** The payment amount for this cycle

*   **time_period:** The time period (in cycles) when this payment should occur

### Validation Rules

*   Either `amount_per_cycle` and `number_of_cycles` OR `plan_schedule` must be provided, but not both

*   `payment_plan_name` must be between 3-250 characters

*   `currency` must be a valid ISO 4217 currency code

*   `country` must be a valid ISO country code

*   `plan_schedule` can contain 1-1000 items when used

## Request body

- object
  - `payment_plan_name` string, required — Name of the payment plan. Must be between 3-250 characters
  - `frequency` 'WEEKLY' | 'MONTHLY' | 'YEARLY' | 'QUARTERLY', required — Frequency of the payment plan
  - `currency` string, required — Currency code for the payment plan. Must be a valid ISO 4217 currency code
  - `country` string, required — Country code for the payment plan. Must be a valid ISO country code
  - `amount_per_cycle` number, double, required — Amount per cycle for fixed amount plans. Required if plan_schedule is not provided
  - `is_auto_debit` boolean — Whether the payment plan supports auto-debit functionality
  - `is_fixed_amount` boolean — Whether the payment plan uses fixed amounts per cycle
  - `initial_activation_delay` integer — Initial delay in minutes before the first payment is processed
  - `plan_schedule` object[] — Custom schedule for variable amount plans. Required if amount_per_cycle is not provided
    - `amount` number, double, required — Payment amount for this cycle
    - `time_period` integer, required — Time period (in cycles) when this payment should occur
  - `number_of_cycles` integer — Number of cycles for the payment plan. Required if plan_schedule is not provided
  - `description` string — Description of the payment plan

## Response `201`

Created

---

[API](https://skmtc.dev/finmo/apis/finmo-api.md) · [All operations](https://skmtc.dev/finmo/apis/finmo-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/finmo/finmo-api/revisions/1a3073c93930/schema)
