---
title: "Create Contract"
method: POST
path: "/v3/contractsubscription"
---

# Create Contract

`POST /v3/contractsubscription`

## Query parameters

- `echo` boolean

## Request body

- object
  - `contract` object, required — Contract object
    - `purchases` object[] — Purchases array
      - `productName` string, required — Name of product
      - `price` number, float, required — Price of product
      - `quantity` integer, required — Quantity
      - `discountAmount` string — Amount of discount
      - `taxAmount` string — Amount of tax
      - `subTotalAmount` string — Subtotal
      - `description` string — Description of product
    - `merchantId` integer, required — Merchant Id
    - `prorated` boolean — Will the first payment be prorated?
    - `frequency` integer, required — How often does this contract run? Ex. 1 for every 1 month
    - `interval` string, required — Which interval does this contract run on? Values: Once, Weekly, Monthly, Yearly.
    - `weekDay` string — If weekly interval, this sets the day of the week. Values: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday.
    - `dayNumber` integer — If monthly interval, this sets the day of the month.
    - `month` string — If yearly interval, this sets the month of the year (Also include dayNumber if you would like to bill on a different day than the first of the month).
    - `dayType` string — If you would like to bill on a floating date (i.e., first Saturday), use this combined with day field below instead of dayNumber. Values: Day, First, Second, Third, Fourth, Last.
    - `day` string — Values: Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Day, Weekday, Weekend.
    - `totalAmount` number, float, required — Total amount of transaction including taxes and discounts
    - `subTotalAmount` string, required — Total Amount of transaction before taxes and discounts
    - `discountAmount` number, float, required — Discount amount
    - `taxAmount` number, float, required — Tax Amount
    - `memo` string — Memo field (256 chars)
    - `quantity` string, required — Number of different products purchased
  - `subscription` object, required — Subscription object
    - `customerId` integer, required — Customer Id
    - `cardAccountId` integer — Card Account Id
    - `invoiceMethod` string
    - `allowPartialPayment` boolean, required — Allow the customer to make partial payments
    - `status` string, required — Status of the contract. Values: Active, Pending, Paused, Completed, Cancelled
    - `sendReceipt` string — Always, Never, Once
    - `eftAgreementRequested` boolean, required — Send Customer Agreement
    - `occurences` integer — Number of Occurrences
    - `startDate` string, date
  - `attachments` unknown[], required
    - unknown

## Response `200`

200

---

[API](https://skmtc.net/mxmerchant/apis/checkout-api.md) · [All operations](https://skmtc.net/mxmerchant/apis/checkout-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mxmerchant/checkout-api/versions/6807b698abcb/schema)
