Remote Transaction lets you integrate your software with Paybyrd terminals without a direct cable connection. You can communicate with a specific terminal to initiate a payment remotely from your POS software.
Initiating a payment
Send a request from your system to the API. The terminal then prompts the shopper to present their card and complete the payment.
This uses the same endpoint as the Create Payment request.
In the Create Payment request, set the “type” field to “POS”.
curl --request POST \
--url https://gateway.paybyrd.com/api/v2/payment \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'x-api-key: 5E37D19C-F99C-445F-8B77-1463EFC66C7B' \
--data '{
"type":"POS",
"amount": "5.00",
"currency": "EUR",
"orderRef": "Order12345",
"terminalSerialNumber": "1234567890",
"isPreAuth":false
}'
{
"terminalSerialNumber": "1234567890",
"isPreAuth": false,
"type": "POS",
"currency": "EUR",
"orderRef": "Order12345",
"code": "BYRD201",
"description": "Payment being processed. Waiting for shopper",
"transactionId": "b01e1cea-b212-42a2-a825-400784efd158",
"amount": "5.00"
}
See the full API reference for the Create Payment endpoint.
To select which terminal processes the transaction, provide its serial number in the terminalSerialNumber field. You can find the serial number on the device under the settings menu.
The response code expected for this call is BYRD201 and the object includes a transactionId value you need in subsequent calls to query the transaction.
Receiving payment result
The result of the transaction is obtained in asynchronous communication between Paybyrd and the merchant/partner software.
To receive the asynchronous response, set up an HTTPS webhook server to receive notifications. Paybyrd will send the transaction result to that endpoint once the terminal completes the operation.