Pay the Full Amount at the Cash Register

In order to pay the full amount at the cash register, you need to call the endpoint POST /api/v2/Smart/Transactions/{id}/start/cash without a prio call to POST /api/v2/Smart/Transactions/{id}/preTransaction. This is only needed if you want to charge the card, to collect bonus points, or to record the payment.

Request
POST /api/v2/Smart/Transactions/STX_KJXJDUN542NR3WMRHRVU5WWM6ZQEA2/start/cash HTTP/1.1
Host: connect-testing.secupay-ag.de
Authenticate: Bearer qb56tjj1bcvo9n2nj4u38k84lo
Accept: application/json

If everything is fine, the API reposnds with 200 OK, and the Smart Transaction changes to status ok:

Response
HTTP/1.1 200 OK
Content-Type: application/json
...
 
{
"object": "smart.transactions",
"id": "STX_KJXJDUN542NR3WMRHRVU5WWM6ZQEA2",
// ...
"transactions": [
{
"object": "loyalty.transactions",
"id": "LTX_YBYPUETZ2HQXURG9XU0M5H4KGWW0NH"
}
],
"created": "2020-09-17T09:18:14+02:00",
"updated": "2020-09-17T09:43:59+02:00",
"status": "ok",
// ...
"receipt": [
{
"type": "separator",
"value": {
"caption": "Kundenkarte"
}
},
{
"type": "name-value",
"value": {
"name": "Kartennummer: ",
"value": "9276004429942845",
"decoration": []
}
},
{
"type": "name-value",
"value": {
"name": "TA Code: ",
"value": "29187330",
"decoration": []
}
},
{
"type": "space"
},
{
"type": "textline",
"value": {
"text": "Umsatz erfasst:",
"decoration": []
}
},
{
"type": "textline",
"value": {
"text": "7,96 EUR",
"decoration": [
"important"
]
}
},
{
"type": "space"
},
{
"type": "textline",
"value": {
"text": "Aktuelles Guthaben",
"decoration": []
}
},
{
"type": "textline",
"value": {
"text": "10,00 EUR",
"decoration": [
"important"
]
}
}
],
"basket_info": {
"sum": 796,
"gratuity": null,
"currency": "EUR"
},
"idents": [
{
"object": "smart.idents",
"id": "smi_1",
"prefix": "9276",
"name": "secucard Kundenkarte",
"type": "card",
"value": "9276004429942845",
"valid": true,
"merchantcard": {
"object": "loyalty.merchantcards",
"id": "MCD_2RXTNXPRM2YG9922UMBHHAEWEGN6AJ",
"merchant": {
"object": "general.merchants",
"id": "MRC_35SZ3R5GGQQP4T0U2T5GFAN9P6C4PG"
},
"created_for_merchant": {
"object": "general.merchants",
"id": "MRC_35SZ3R5GGQQP4T0U2T5GFAN9P6C4PG"
},
"card": {
"object": "loyalty.cards",
"id": "CRD_2U7MTNAMM3PMBPAB50C9G2AEHA9GPJ",
"cardnumber": "9276004429942845",
"created": "2015-09-28T16:01:20+02:00"
},
"cardgroup": {
"object": "loyalty.cardgroups",
"id": "CRG_2BESGJNETJJRZVVYS8R7JWGVWK4PRZ",
"display_name": "Punkte",
"display_name_raw": "Punkte",
"stock_warn_limit": 0,
"picture": "https://connect.secucard.com/ds_g/8e79737df1e2513db48908b342c3cc436edf501a"
},
"created_for_store": {
"object": "general.stores",
"id": "STO_2ZCZRU9V6U8QA7B49K94667UP6C4PJ"
},
"customer": {
"object": "loyalty.customers",
"id": "CUS_2YBREKK0A2MNAXJ752TSDD9DH3PKAJ",
"contact": {
"name": "Max Mustermann",
"forename": "Max",
"surname": "Mustermann",
"dob": "2018-02-14T00:00:00+00:00"
},
"created": "2018-05-03T10:14:06+02:00",
"consent_for_communication": true
},
"is_base_card": true,
"points": 0,
"cash_balance": 1000,
"bonus_balance": 0,
"balance": 1000,
"last_usage": "2020-09-24T14:40:57+02:00",
"last_charge": "2020-09-24T14:40:57+02:00",
"stock_status": "active",
"lock_status": "unlocked",
"passcode": 0,
"expiry_date": null
},
"customer": {
"object": "loyalty.customers",
"id": "CUS_2YBREKK0A2MNAXJ752TSDD9DH3PKAJ",
"contact": {
"name": "Max Mustermann",
"forename": "Max",
"surname": "Mustermann",
"dob": "2018-02-14T00:00:00+00:00"
},
"created": "2018-05-03T10:14:06+02:00",
"consent_for_communication": true
}
}
],
"payment_method": "cash",
"trans_id": "29187330",
// ...
}

As you see at line 16 – 21, there is a Loyalty Transaction (/transactions/0) but no Payment Transaction. It is not needed in this situation.