---
title: "Add payment instructions"
method: POST
path: "/payment-instructions"
tags: ["Payment Instructions"]
---

# Add payment instructions

`POST /payment-instructions`

This endpoint can be used to add one or more payment instructions for a merchant. The start date should be in the future (i.e. greater than the currenct posting date of an institution). Refer static documentation for more information on validations involved against each fields. 

The body of the request will include the list of fields that can be included for each payment instruction.

## Headers

- `Content-Type` 'application/json' | 'application/json;charset=UTF-8', required
- `FSV-Interaction-Id` string, required
- `Environment` string, required
- `Institution-Number` string, required
- `Internal-Merchant-Id` string, required

## Request body

- PaymentInstructionsPost[]
  - `accountTypeIndex` string, required — This is the source account type index (billing level merchant account) for which the reserve, rolling reserve and/or factoring need to be set up. The portion of the payment from this source account type will be transferred to another account type based on the payment instruction setup. Source account type will always work along with source account currency code selected.
  - `accountCurrencyCode` string, required — Indicates source account currency code corresponding to the selected source account type. ISO 4217.
  - `instructionTypeIndex` string, required — Indicates the type of payment instruction to be set for the selected source account type and source account currency code. The valid values depends on the configured payment instruction types for the Institution. For a list of valid codes use Acquirer Profile API get reference_data end-point with query parameter classification equal to instructionTypeIndex.
  - `deductionStartDate` string, required — Date when the payment instruction starts. The date must be greater than or equal to the current posting date. Format YYYYMMDD.
  - `deductionEndDate` string, required — Date when the payment instruction ends. The date must be greater than or equal to the current posting date. Format YYYYMMDD.
  - `deductionPercentage` string — The percentage of the payment that should be deducted from the merchant source account. This cannot be used in conjunction with Payment Base. Either Payment Base or Payment Percent to be setup. Maximum 4 decimal digits allowed.
  - `deductionMinAmount` string — The minimum value to be deducted from the payment. Maximum 4 decimal digits allowed.
  - `deductionMaxAmount` string — The maximum value to be deducted from the payment. Maximum 4 decimal digits allowed.
  - `deductionBaseAmount` string — The amount to be deducted from the calculated total amount, to be paid from the source account type selected. This cannot be used in conjunction with Payment Percent. Either Payment Base or Payment Percent to be setup. Maximum 4 decimal digits allowed.
  - `deductionTotalCnt` string — Indicates how many times this instruction should be executed.
  - `deductionTotalAmount` string — A limit to indicate the maximum amount to be collected during the instruction life cycle. Maximum 4 decimal digits allowed.
  - `factorAgent` string — Name of the factor agent.
  - `note` string — Free Text for extra note.

## Response `200`

OK

- InlineResponse400 — An API response. The API response will be either a `SUCCESS` or an `ERROR`. A partial success or warning scenario will be treated as a Success with embedded messages in the meta data. A full success may not have messages. The API response will contain at least one of the following top level members."
  - `meta` MetaType — Supplementary information about the data.
    - `paging` PagingMetaType — Map containing pagination related information about data.
      - `count` integer — Total number of records present in system which can be retrieved.
      - `totalPages` integer — Total number of pages with maximum limit taken into account.
      - `currentOffset` integer — Current offset used in request.
      - `currentNumberOfRetrievedRecords` integer — Current number of retrieved records.
      - `maxLimit` integer — Maximum limit of records that can be retrieved.
      - `hasMoreRecords` boolean — Indicates if there are more records available.
      - `pageNumber` integer — Current page number.
    - `sorting` SortingMetaType — Map containing sorting related information about data.
      - `sort` string — Indicates the elements the current data is sorted with and the direction of sorting.
    - `messages` ErrorType[] — Messages related to request processing or response data - any additional information or warnings to be returned in the case of a successful API call.
      - `id` string — Generated message identifier for particular request, helping to locate server logs.
      - `code` string, required — Machine readable, unique code of the message related to particular case within operation execution. For complete list of codes please refer to API portal, messages page.
      - `title` string, required — Short description of the error. Not for displaying purposes.
      - `detail` string — Provides additional low-level details about the error to assist with troubleshooting. Not for displaying purposes.
      - `source` SourceType — Object containing references to the source of the message.
        - `pointer` string — Indicates the element in the request document which caused the error.
        - `parameter` string — Indicates which query parameter caused the error.
        - `header` string — Indicates which header caused the error.
  - `data` object[] — "Contains the primary data to be returned as the API response. Use this object only when respnse type is an array. It will not be returned in case of error."
  - `errors` ErrorType[] — "Contains one or more error messages and is mutually exclusive with the data item. This will not be returned in success scenarios."
    - `id` string — Generated message identifier for particular request, helping to locate server logs.
    - `code` string, required — Machine readable, unique code of the message related to particular case within operation execution. For complete list of codes please refer to API portal, messages page.
    - `title` string, required — Short description of the error. Not for displaying purposes.
    - `detail` string — Provides additional low-level details about the error to assist with troubleshooting. Not for displaying purposes.
    - `source` SourceType — Object containing references to the source of the message.
      - `pointer` string — Indicates the element in the request document which caused the error.
      - `parameter` string — Indicates which query parameter caused the error.
      - `header` string — Indicates which header caused the error.
  - `links` LinksType — Contains the links to retrieve the resources exposed as part of this API.
    - `self` string — The link to the primary resource being retrieved in the request.
    - `first` string — This is to provide the link to retrieve the first record/page. This SHOULD be used in case server provides pagination of the resource.
    - `last` string — This is to provide the link to retrieve the last record/page. This SHOULD be used in case server provides pagination of the resource.
    - `prev` string — This is to provide the link to retrieve the previous record/page. This SHOULD be used in case server provides pagination of the resource.
    - `next` string — This is to provide the link to retrieve the last record. This SHOULD be used in case server provides pagination of the resource

## Other responses

- `400` — Invalid request
- `401` — Authorization error
- `403` — Forbidden error i.e. Consumer token credentials are valid but lack of permissions to do this action.
- `500` — Internal Server Error

---

[API](https://skmtc.net/fiserv/apis/acquirer-profile-in-design.md) · [All operations](https://skmtc.net/fiserv/apis/acquirer-profile-in-design/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fiserv/acquirer-profile-in-design/revisions/dd7ef6ce81a1/schema)
