1. Purchase
POST/api/v3/remote-pos/{source_pid}/remote-action/purchase
Creates a remote PURCHASE action which will be retrieved and processed by the target terminal.
Parameters:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| sourcePid | string | yes | Obtained on the portal — unique Hexa ID identifying the POS | 2102000A0001 |
| targetPid | string | yes | Unique Hexa identifier (target) which will receive the action | 2002000A0003 |
| amount | integer (cents) | yes | Amount in cents (1 = 0.01€) | 100 (1.00€) |
| shouldPrintReceipt | integer (0 / 1) | yes | 1 = print, 0 = no print | 1 |
| webhook | string (URL) | no | Callback URL invoked after processing | https://webhook.site/ |
| allowedPaymentMethodIds | array | no | Allow specific payment methods (cards (30), giftcard (20)) | [30, 20] |
| purchaseUniqueId | string(30) | no | If not given, application will generate it and return in response, if given it should be 30 characters, if longer it will be trimmed, if shorter, it ill be filled with spaces. |
Request
Responses
- 201
- 400
- 401
- 422
Example
{
"success": true,
"data": {
"id": 22,
"uuid": "50fed410-7071-41c7-b4ad-83e9acb2d9dc",
"sourcePid": "210200010003",
"targetPid": "200200010003",
"groupId": 843,
"groupName": "Shop - Group 2",
"remoteActionStatusId": 100,
"remoteActionStatus": "Pending",
"remoteActionStatusAt": "2026-02-11T07:39:21.000000Z",
"remoteActionTypeId": 10,
"remoteActionType": "PURCHASE",
"updatedAt": "2026-02-11T07:39:21.000000Z",
"createdAt": "2026-02-11T07:39:21.000000Z",
"webHook": "http://your.domain/testhook",
"linkedObjectType": null,
"linkedObjectId": null,
"details": {
"requestedAmount": 3,
"paidAmount": null,
"shouldPrintReceipt": 0,
"allowedPaymentMethodIds": [
20,
30
],
"orderUuid": null,
"operations": null
}
}
}
Example
{
"success": false,
"error": {
"message": "Validation failed !",
"code": 400
},
"data": {
"targetPid": [
"Terminal and POS belong to different groups. [TPE[pid: 200200010001,name: tpe caisse 1] group: 833, POS[pid: 210200010004,name: Caisse 4 (G2)] group: 835]"
]
}
}
Example
{
"message": "Unauthenticated."
}
Example
{
"message": "The selected source pid is invalid. (and 1 more error)",
"errors": {
"sourcePid": [
"The selected source pid is invalid."
],
"210200010005": [
"remote_pos_id not found for pid[210200010005]"
]
}
}