v1

latestOpenAPI 3.0.02026-07-2480677847.6 KB
Merchant Devices

Add Merchant Devices

This operation allows to add one or more merchant devices (details of the terminal associated with the merchant) to an existing merchant

post/merchant-devices

Headers

Content-Type'application/json' | 'application/json;charset=UTF-8' required

Standard HTTP Header; Represents the format of the payload being provided in the request. This must be set to application/json and applicable for POST/PATCH.

FSV-Interaction-Idstring required
Example:9591e6d8-0d70-11ea-8d71-362b9e155667

An RFC4122 UUID used as to trace requests.

Environmentstring required

For test environment, specific test environment name should be passed (e.g. "bwu15"). Contact Fiserv OmniPay Project team to get confirmation on the test environment to be used. For production, value "prod" should be populated.

Institution-Numberstring required
Example:00000099

Institution number (8-digit number) associated with the merchant. This information defines the acquirer for the merchant.

Internal-Merchant-Idstring required

OPY Internal Client Number

Request body

externalTerminalIdstring required

The unique id for the terminal. This value should be unique within the institution.

serialNumberstring

The serial number of the terminal.

contactNamestring

Contact name at terminal location. There is no pattern defined for this field. Any extended ASCII characters contain 2 bytes, and UTF8 characters (which include extended ASCII characters) are supported in this field. The maximum length of this field is defined in bytes, and special characters of any extended ASCII character can be more than 1 byte for each character. Consumers should take the number of bytes into consideration when determining the maximum length. For example, if a consumer wants to provide three 2-byte ASCII characters, the actual length of the provided data is 6, not 3.

terminalLocationstring

Location of the terminal. There is no pattern defined for this field. Any extended ASCII characters contain 2 bytes, and UTF8 characters (which include extended ASCII characters) are supported in this field. The maximum length of this field is defined in bytes, and special characters of any extended ASCII character can be more than 1 byte for each character. Consumers should take the number of bytes into consideration when determining the maximum length. For example, if a consumer wants to provide three 2-byte ASCII characters, the actual length of the provided data is 6, not 3.

terminalCountryCodestring

ISO-3166 alpha country code representing the country the terminal is located. There is a restriction on the allowed countries for the institution.

citystring

This field indicates the city where the terminal is located. There is no pattern defined for this field. Any extended ASCII characters contain 2 bytes, and UTF8 characters (which include extended ASCII characters) are supported in this field. The maximum length of this field is defined in bytes, and special characters of any extended ASCII character can be more than 1 byte for each character. Consumers should take the number of bytes into consideration when determining the maximum length. For example, if a consumer wants to provide three 2-byte ASCII characters, the actual length of the provided data is 6, not 3.

telephonestring

Connection id or phone number for the terminal.

schemaIdstring

The identity of the schema. Any extended ASCII characters contain 2 bytes, and UTF8 characters (which include extended ASCII characters) are supported in this field. The maximum length of this field is defined in bytes, and special characters of any extended ASCII character can be more than 1 byte for each character. Consumers should take the number of bytes into consideration when determining the maximum length. For example, if a consumer wants to provide three 2-byte ASCII characters, the actual length of the provided data is 6, not 3.

accountCurrencyCodestring

ISO 4217 currency code. For Merchant Boarding, if the field not provided or populated with null, then "999-All Currencies" is defaulted. If Consumer does not want to set this currency, then value of 3 spaces needs to be passed.

systemBatchIdstring

Identity number of the system batch. Any extended ASCII characters contain 2 bytes, and UTF8 characters (which include extended ASCII characters) are supported in this field. The maximum length of this field is defined in bytes, and special characters of any extended ASCII character can be more than 1 byte for each character. Consumers should take the number of bytes into consideration when determining the maximum length. For example, if a consumer wants to provide three 2-byte ASCII characters, the actual length of the provided data is 6, not 3.

serviceProviderIndexstring

Code associated with the company who takes care of the terminal. For a list of valid codes use Acquirer Profile API get reference_data end-point with query parameter classification equal to 'serviceProviderIndex'.

acquiringProfileIndexstring

Code corresponding to the acquirer profile setup on the terminal. Used by some institutions to configure the terminal at the authorisation host. For a list of valid codes use Acquirer Profile API get reference_data end-point with query parameter classification equal to 'acquiringProfileIndex'.

templateIdstring

Template id for the terminal. Any extended ASCII characters contain 2 bytes, and UTF8 characters (which include extended ASCII characters) are supported in this field. The maximum length of this field is defined in bytes, and special characters of any extended ASCII character can be more than 1 byte for each character. Consumers should take the number of bytes into consideration when determining the maximum length. For example, if a consumer wants to provide three 2-byte ASCII characters, the actual length of the provided data is 6, not 3.

amexboolean

Indicates if the terminal supports Amex transactions, if true additional fields are required.

clientFeeIndexstring

If fees need to be applied to the device, this code will indicate which fee should be triggered. For a list of valid codes use Acquirer Profile API get reference_data end-point with query parameter classification equal to 'clientFeeIndex'.

feeEffectiveDatestring

Date the terminal fee is effective from. Format YYYYMMDD. If ommited the default will be the current institution posting date.

feeExpiryDatestring

Terminal fee expiry date. Format YYYYMMDD.

lastFeeDatestring

Last terminal fee date. Format YYYYMMDD.

configOfTerminalIndexstring

Code corresponding to the configuration of the terminal. For a list of valid codes use Acquirer Profile API get reference_data end-point with query parameter classification equal to 'configOfTerminalIndex'.

terminalTypeIndexstring

Code corresponding to the terminal type. For a list of valid codes use Acquirer Profile API get reference_data end-point with query parameter classification equal to 'terminalTypeIndex'.

emvboolean

Indicate if the terminal is EMV capable terminal.

installDatestring

Date the terminal was installed. Format YYYYMMDD.

activeDatestring

Date the terminal was activated. Format YYYYMMDD.

terminationDatestring

Termination date of the terminal. Format YYYYMMDD.

terminalPasswordstring

The password of the terminal. Any extended ASCII characters contain 2 bytes, and UTF8 characters (which include extended ASCII characters) are supported in this field. The maximum length of this field is defined in bytes, and special characters of any extended ASCII character can be more than 1 byte for each character. Consumers should take the number of bytes into consideration when determining the maximum length. For example, if a consumer wants to provide three 2-byte ASCII characters, the actual length of the provided data is 6, not 3.

workStationstring

Indicates Work Station number for the merchant terminal. Any extended ASCII characters contain 2 bytes, and UTF8 characters (which include extended ASCII characters) are supported in this field. The maximum length of this field is defined in bytes, and special characters of any extended ASCII character can be more than 1 byte for each character. Consumers should take the number of bytes into consideration when determining the maximum length. For example, if a consumer wants to provide three 2-byte ASCII characters, the actual length of the provided data is 6, not 3.

Example request

[
  {
    "externalTerminalId": "54999530",
    "serialNumber": "123456789",
    "contactName": "John Doe",
    "terminalLocation": "Munich",
    "terminalCountryCode": "IRE",
    "city": "Valletta",
    "telephone": "003531123456",
    "schemaId": "000000",
    "accountCurrencyCode": "EUR",
    "systemBatchId": "234234",
    "serviceProviderIndex": "001",
    "acquiringProfileIndex": "000",
    "templateId": "C234",
    "clientFeeIndex": "402",
    "feeEffectiveDate": "20200615",
    "feeExpiryDate": "20200615",
    "lastFeeDate": "20200615",
    "configOfTerminalIndex": "001",
    "terminalTypeIndex": "000",
    "emv": true,
    "installDate": "20200615",
    "activeDate": "20200615",
    "terminationDate": "20200615",
    "terminalPassword": "password",
    "workStation": "Terminal WONO",
    "amexDetails": {
      "amexPhoneNo1": "00012458754865148",
      "amexPhoneNo2": "00012458754865148",
      "relatedTId": "FreeText"
    },
    "scheduleOfChargeDetails": {
      "socCode": "00054214",
      "waiver": "waiver02",
      "setupFee": "3232000",
      "gprsRental": "Monthly",
      "gprsRentalAmount": "325",
      "installed": "Installed"
    }
  }
]

Response

OK

dataobject[]

"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."

Example response

{
  "meta": {
    "paging": {
      "count": 100,
      "totalPages": 10,
      "currentOffset": 1,
      "currentNumberOfRetrievedRecords": 10,
      "maxLimit": 10,
      "hasMoreRecords": true,
      "pageNumber": 1
    },
    "sorting": {
      "sort": "name,-startDate"
    },
    "messages": [
      {
        "id": "dd4ba13c-4a3c-4078-a31f-35ac9c07a8f7",
        "code": "ACCOUNT_NUMBER_NOT_FOUND",
        "title": "The authorization credentials required for this request are invalid.",
        "detail": "SQLException found while trying to establish the connection with table TUKCDHN.",
        "source": {
          "pointer": "/dogs/name",
          "parameter": "type",
          "header": "type"
        }
      }
    ]
  },
  "errors": [
    {
      "id": "dd4ba13c-4a3c-4078-a31f-35ac9c07a8f7",
      "code": "ACCOUNT_NUMBER_NOT_FOUND",
      "title": "The authorization credentials required for this request are invalid.",
      "detail": "SQLException found while trying to establish the connection with table TUKCDHN.",
      "source": {
        "pointer": "/dogs/name",
        "parameter": "type",
        "header": "type"
      }
    }
  ],
  "links": {
    "self": "https://api.firstdata.com/ipp/accounts-management/v1/accounts?offset=3&limit=10",
    "first": "https://api.firstdata.com/ipp/accounts-management/v1/accounts?offset=1&limit=10",
    "last": "https://api.firstdata.com/ipp/accounts-management/v1/accounts?offset=10&limit=10",
    "prev": "https://api.firstdata.com/ipp/accounts-management/v1/accounts?offset=2&limit=10",
    "next": "https://api.firstdata.com/ipp/accounts-management/v1/accounts?offset=4&limit=10"
  }
}