Counter charges
Charges at the counter by Bizum, as from the staff screen. The customer opens the url (or its QR) and sees amount, phone and concept to pay from their bank. You mark it as paid when you see it arrive.
GET https://neoscrew.website/api/counter-payments/
curl --request GET \
--url 'https://neoscrew.website/api/counter-payments/' \
--header 'Authorization: Bearer {api_key}'
--url 'https://neoscrew.website/api/counter-payments/' \
--header 'Authorization: Bearer {api_key}'
| Parameters | Detalles | Descripción |
|---|---|---|
| status | Optional Integer | Only pending (0), paid (1) or cancelled (2) charges. |
| order_by | Optional String | What field to order the results by. Allowed values are: guest_payment_id , datetime , total_amount. |
| order_type | Optional String | The ordering of the results. Allowed values are: ASC for ascending ordering, and DESC for descending ordering. |
| page | Optional Integer | The page number that you want results from. Defaults to 1. |
| results_per_page | Optional Integer | How many results you want per page. Allowed values are: 10 , 25 , 50 , 100 , 250 , 500 , 1000. Defaults to 25. |
{
"data": [
{
"id": 1,
"program_id": 1,
"amount": 12.5,
"currency": "EUR",
"concept": "BX-1234",
"status": "pending",
"is_expired": false,
"url": "https://neoscrew.website/counter-pay/{key}",
"datetime": "2026-11-09 16:11:37"
}
],
"meta": {
"page": 1,
"total_pages": 1,
"results_per_page": 25,
"total_results": 1
}
}
GET https://neoscrew.website/api/counter-payments/{counter_payment_id}
curl --request GET \
--url 'https://neoscrew.website/api/counter-payments/{counter_payment_id}' \
--header 'Authorization: Bearer {api_key}'
--url 'https://neoscrew.website/api/counter-payments/{counter_payment_id}' \
--header 'Authorization: Bearer {api_key}'
{
"data": {
"id": 1,
"program_id": 1,
"amount": 12.5,
"currency": "EUR",
"concept": "BX-1234",
"status": "pending",
"is_expired": false,
"url": "https://neoscrew.website/counter-pay/{key}",
"datetime": "2026-11-09 16:11:37"
}
}
The program needs a Bizum phone. Up to 120 charges per hour for each program. A pending charge expires after 2 hours.
POST https://neoscrew.website/api/counter-payments
curl --request POST \
--url 'https://neoscrew.website/api/counter-payments' \
--header 'Authorization: Bearer {api_key}' \
--data-urlencode 'program_id=1' \
--data-urlencode 'amount=12.50'
--url 'https://neoscrew.website/api/counter-payments' \
--header 'Authorization: Bearer {api_key}' \
--data-urlencode 'program_id=1' \
--data-urlencode 'amount=12.50'
| Parameters | Detalles | Descripción |
|---|---|---|
| program_id | Required Integer | The loyalty program whose Bizum phone receives the payment. |
| amount | Required String | The amount in euros, from 0.01 to 1000, as 12.50 or 12,50. |
{
"data": {
"id": 1,
"program_id": 1,
"amount": 12.5,
"currency": "EUR",
"concept": "BX-1234",
"status": "pending",
"is_expired": false,
"url": "https://neoscrew.website/counter-pay/{key}",
"datetime": "2026-11-09 16:11:37"
}
}
POST https://neoscrew.website/api/counter-payments/{counter_payment_id}
curl --request POST \
--url 'https://neoscrew.website/api/counter-payments/{counter_payment_id}' \
--header 'Authorization: Bearer {api_key}' \
--data-urlencode 'status=paid'
--url 'https://neoscrew.website/api/counter-payments/{counter_payment_id}' \
--header 'Authorization: Bearer {api_key}' \
--data-urlencode 'status=paid'
| Parameters | Detalles | Descripción |
|---|---|---|
| status | Required String | paid or cancelled. Only a pending charge can be closed. |
{
"data": {
"status": "paid",
"id": 1,
"program_id": 1,
"amount": 12.5,
"currency": "EUR",
"concept": "BX-1234",
"is_expired": false,
"url": "https://neoscrew.website/counter-pay/{key}",
"datetime": "2026-11-09 16:11:37"
}
}