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

# Add split payment instructions

`POST /split-payment-instructions`

This endpoint can be used to add one or more split payment instructions for a merchant. The start date should be greater than or equal to the current 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 split 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

- SplitPaymentInstructionsPost[]
  - `sourceAccountTypeIndex` string, required — The source account type index (billing level merchant account) used for applying the split payment instruction. The portion of the payment from this source account type will be transferred to destination account type based on the split payment instruction setup. Source account type will always work along with source account currency code selected. Only '496' (PAR Hold Account) is allowed as valid sourceAccountTypeIndex at the moment.
  - `sourceAccountCurrencyCode` string, required — The Swift Code of the source account currency corresponding to the selected source account type used for applying the split payment instruction. ISO 4217. Only 'INR' is allowed as valid sourceAccountCurrencyCode at the moment.
  - `startDate` string, required — Indicates the date of the split payment instructions become effective. The date must be equal to or greater than the current posting date of an institution. Format YYYYMMDD.
  - `endDate` string, required — Indicates the date of the split payment instructions becomes expire. The date must be greater than the current posting date of an institution and greater than the startDate. Format YYYYMMDD.
  - `destinationAccount` SplitPaymentInstructionsPost2[], required
    - `accountTypeIndex` string, required — The destination account type index (billing level merchant account) used for applying the split payment instruction. The portion of the payment split based on payment instruction setup will be posted to this destination account type. Destination account type will always work along with destination account currency code selected. To get list of destination account type with destination account currency code assigned for a merchant, use GET merchant accounts endpoint in Merchant Maintenance API. Note that maximum of three destination accounts should be included in the payload and minimum of two destination accounts should be provided. If the payload contains more than three destination accounts, only the first three will be accepted, and the rest will be ignored.
    - `accountCurrencyCode` string, required — The Swift Code of the destination account currency corresponding to the selected destination account type used for applying the split payment instruction. ISO 4217. To get list of destination account type with destination account currency code assigned for a merchant, use GET merchant accounts endpoint in Merchant Maintenance API. A minimum of two destination accounts should be provided, and one of the destination account's currency code should be INR.
    - `splitPercentage` string, required — The percentage of the payment that is taken from the source account and transferred to the destination account. Maximum 2 decimals allowed. Total of destination accounts splitPercentage should be equal to 100%.

## 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)
