NeroPay Docs
API & Integrations

Terminal Locations

Terminal

Terminal Locations

Create and manage merchant locations for terminal reader registration and in-person payments.

POST /locationsGET /locationsNeroPay location id

Create location

POST/locations

Creates a terminal location for the merchant or connected merchant.

ParameterTypeRequiredDescription
display_namestringYesLocation display name shown in dashboards and reader selection.
line1stringYesAddress line 1.
citystringYesTown or city.
postal_codestringYesPostcode.
countryISO country codeYesTwo-letter country code, for example GB.
is_defaultbooleanOptionalSet this as the default location.
 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $secretKey,
        'Accept: application/json',
        'Content-Type: application/json',
        'X-NeroPay-Timestamp: ' . $timestamp,
        'X-NeroPay-Signature: ' . $signature,
        'Idempotency-Key: ' . bin2hex(random_bytes(16)),
    ],
    CURLOPT_POSTFIELDS => $rawBody,
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo $response;
{
  "success": true,
  "data": {
    "id": 14059,
    "display_name": "Main Store",
    "line1": "1 Demo Street",
    "city": "London",
    "postal_code": "SW1A 1AA",
    "country": "GB",
    "is_default": true,
    "neropay_location_id": "tml_nero_123",
    "account_id": "NPEE4E742AB2_6165"
  }
}

List locations

 true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $secretKey,
        'Accept: application/json',
    ],
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

echo $response;
{
  "success": true,
  "data": [
    {
      "id": 14059,
      "display_name": "Main Store",
      "country": "GB",
      "neropay_location_id": "tml_nero_123",
      "is_default": true
    }
  ]
}
{
  "success": false,
  "error": {
    "code": "validation_failed",
    "message": "The country field must be a valid ISO country code.",
    "details": {
      "amount": [
        "The amount field is required."
      ]
    }
  }
}