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.secuconnect.com
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.