Skip to content

Maintain Contracts

Overview

Maintain Contracts (Create, Edit (deprecated), Delete, Retrieve).

Path

/v1/realpay/{merchant_number}/maintain/contracts/{product}

Path Parameters

  • merchant_number (string, required)
  • product (string, required)

Common Query Parameters

  • Version (string, required, default: v1)

POST Create Contract

Create a new contract. Instalments may be auto-generated based on supplied fields.

Request Body Schema (POST)

ContractPostRequest (array of Contract)

Request Example (POST)

{
  "ContractPostRequest": [
    {
      "ClientNumber": "L00012",
      "ContractNumber": "C1603",
      "FrequencyCode": "MNTH",
      "CollectionDay": 25,
      "TrackingCode": "03",
      "FirstCollectionDate": "YYYY-MM-DD HH24:MI",
      "FirstCollectionAmount": 123.45,
      "InstalmentStartDate": "YYYY-MM-DD HH24:MI",
      "InstalmentAmount": 123.45,
      "NumberOfInstalments": 1,
      "CTCPercentage": 1
    }
  ]
}

Success Response (200) Schema (POST)

ContractPostResponse

Response Example (POST)

{
  "ContractPostResponse": [
    {
      "Successful": [
        {
          "ClientNumber": "L00012",
          "ContractNumber": "C1603",
          "FrequencyCode": "MNTH",
          "CollectionDay": 25,
          "TrackingCode": "03",
          "FirstCollectionDate": "YYYY-MM-DD HH24:MI",
          "FirstCollectionAmount": 123.45,
          "InstalmentStartDate": "YYYY-MM-DD HH24:MI",
          "InstalmentAmount": 123.45,
          "NumberOfInstalments": 1,
          "CTCPercentage": 1
        }
      ],
      "Failed": []
    }
  ],
  "APIResponse": {
    "CallSequence": 7271,
    "Status": "SUCCESS",
    "Version": "1.0.0",
    "Name": "INTERNAL NAME OF CALL"
  }
}

PUT Edit Contract (Deprecated)

This operation is deprecated. Prefer creating a new contract or other supported flows.

Request Body Schema (PUT)

ContractPutRequest (array of Contract)

Request Example (PUT)

{
  "ContractPutRequest": [
    {
      "ClientNumber": "L00012",
      "ContractNumber": "C1603",
      "FrequencyCode": "MNTH",
      "CollectionDay": 25,
      "TrackingCode": "03",
      "FirstCollectionDate": "YYYY-MM-DD HH24:MI",
      "FirstCollectionAmount": 123.45,
      "InstalmentStartDate": "YYYY-MM-DD HH24:MI",
      "InstalmentAmount": 123.45,
      "NumberOfInstalments": 1,
      "CTCPercentage": 1
    }
  ]
}

Success Response (200) Schema (PUT)

ContractPutResponse

Response Example (PUT)

{
  "ContractPutResponse": [
    {
      "Successful": [
        {
          "ClientNumber": "L00012",
          "ContractNumber": "C1603",
          "FrequencyCode": "MNTH",
          "CollectionDay": 25,
          "TrackingCode": "03",
          "FirstCollectionDate": "YYYY-MM-DD HH24:MI",
          "FirstCollectionAmount": 123.45,
          "InstalmentStartDate": "YYYY-MM-DD HH24:MI",
          "InstalmentAmount": 123.45,
          "NumberOfInstalments": 1,
          "CTCPercentage": 1
        }
      ],
      "Failed": []
    }
  ],
  "APIResponse": {
    "CallSequence": 7271,
    "Status": "SUCCESS",
    "Version": "1.0.0",
    "Name": "INTERNAL NAME OF CALL"
  }
}

DELETE Delete Contract

Delete (cancel) a contract using ClientNumber & ContractNumber or ContractSequence plus CancelReason.

Additional Required Query Parameters (DELETE)

  • ClientNumber (string) AND ContractNumber (string) OR ContractSequence (integer)
  • CancelReason (string, required): For valid codes see /v1/realpay/general/mandate_reason_codes/{Product}
  • CancelDate (string, required): Format YYYY-MM-DD HH24:MI

Success Response (200) Schema (DELETE)

ContractDeleteResponse

Response Example (DELETE)

{
  "ContractDeleteResponse": [
    {
      "Successful": [
        {
          "ContractSequence": 9011154048,
          "ClientNumber": "L00012",
          "ContractNumber": "C1603"
        }
      ],
      "Failed": []
    }
  ],
  "APIResponse": {
    "CallSequence": 7271,
    "Status": "SUCCESS",
    "Version": "1.0.0",
    "Name": "INTERNAL NAME OF CALL"
  }
}

GET Retrieve Contract

Retrieve contract(s). Provide either ClientNumber & ContractNumber or ContractSequence.

Additional Query Parameters (GET)

  • ClientNumber (string, optional)
  • ContractNumber (string, optional)
  • ContractSequence (integer, optional)

Success Response (200) Schema (GET)

ContractGetResponse

Response Example (GET)

{
  "ContractGetResponse": [
    {
      "ClientNumber": "L00012",
      "ContractNumber": "C1603",
      "FrequencyCode": "MNTH",
      "CollectionDay": 25,
      "TrackingCode": "03",
      "FirstCollectionDate": "YYYY-MM-DD HH24:MI",
      "FirstCollectionAmount": 123.45,
      "InstalmentStartDate": "YYYY-MM-DD HH24:MI",
      "InstalmentAmount": 123.45,
      "NumberOfInstalments": 1,
      "CTCPercentage": 1
    }
  ],
  "APIResponse": {
    "CallSequence": 7271,
    "Status": "SUCCESS",
    "Version": "1.0.0",
    "Name": "INTERNAL NAME OF CALL"
  }
}

Error Responses

  • 400 BadRequest
  • 401 Unauthorized
  • 404 NotFound
  • 500 InternalError
  • 503 ServiceUnavailable