NeroPay Docs
API & Integrations

Terminal Payments

Payments

Terminal Payments

Create in-person payment requests for NeroPay terminal readers.

Card terminalReader actionPOS

Create terminal payment

POST/terminal/payments

Sends a payment request to a registered terminal reader.

ParameterTypeRequiredDescription
amountdecimalYesPayment amount in major units.
currencystringYesCurrency code.
reader_idstringYesNeroPay reader id returned by POST /readers or GET /readers.
location_idstringOptionalNeroPay location id for reconciliation.
descriptionstringOptionalPayment description.
referencestringOptionalYour order or POS ticket reference.
connect_application_feedecimalOptionalNeroConnect platform fee where applicable.
 '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": "term_pay_nero_123",
    "status": "pending",
    "reader_id": "tmr_nero_123",
    "transaction": {
      "id": 6636605,
      "status": "pending",
      "card_read_method": "Card Terminal"
    }
  }
}

Cancel reader action

If a reader is waiting for a customer and you need to cancel the action, use POST /terminal/readers//cancel-action.

{
  "success": false,
  "error": {
    "code": "resource_not_found",
    "message": "The reader was not found for this merchant.",
    "details": null
  }
}