Skip to content

ETISS VU Workflow Examples

Cash Payment

Successful Payment

  1. Ensure that there no opened payment transaction using Payment Status request

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status

    Example of response:

    {
    "timeStamp": "2025-03-27T10:04:06.5457890+01:00",
    "price": {
    "value": 0,
    "currencyCode": "",
    "currencySign": "",
    "isEmpty": true,
    "isZero": true,
    "isPositive": false,
    "isNegative": false
    },
    "paymentMethod": "Undefined",
    "paymentState": "None",
    "paymentStateInfo": "",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }

    As you can see "paymentMethod" is "Undefined" and "paymentState" is "None" - it means that there are no opened transaction.

  2. Begin Cash Payment Transaction

    Example Request:

    Terminal window
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "money": {
    "value": "1",
    "currencyCode": "EUR"
    },
    "paymentMethod": 0,
    "barcode": "",
    "giftAmount": {
    "value": "0",
    "currencyCode": "EUR"
    }
    }' \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/begin-transaction
  3. Check every ~1 second the transaction state using Payment Status request

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status

    Example of response when transaction was opened but money were not paid yet:

    {
    "timeStamp": "2025-03-27T10:15:01.5534930+01:00",
    "price": {
    "value": 1,
    "currencyCode": "EUR",
    "currencySign": "",
    "isEmpty": false,
    "isZero": false,
    "isPositive": true,
    "isNegative": false
    },
    "paymentMethod": "Cash",
    "paymentState": "InProgress",
    "paymentStateInfo": "",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }
  4. Use Get Accepted Cash request to receive a list of accepted coins/banknotes if you want to provide this information on the screen of your application

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    'https://mywellness-test-vu.maxcrc.de/api/payment/get-accepted-cash?value=9&currencyCode=EUR'

    Response:

    {
    "coins": [
    {
    "value": 0.10,
    "currencyCode": "EUR"
    },
    {
    "value": 0.20,
    "currencyCode": "EUR"
    },
    {
    "value": 0.50,
    "currencyCode": "EUR"
    },
    {
    "value": 1.00,
    "currencyCode": "EUR"
    },
    {
    "value": 2.00,
    "currencyCode": "EUR"
    }
    ],
    "banknotes": [
    {
    "value": 5.00,
    "currencyCode": "EUR"
    },
    {
    "value": 10.00,
    "currencyCode": "EUR"
    },
    {
    "value": 20.00,
    "currencyCode": "EUR"
    },
    {
    "value": 50.00,
    "currencyCode": "EUR"
    }
    ]
    }
  5. Continue to check the changes in Payment Status

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status
  6. When customer performs the payment - payment state will be changed to "Success"

    Example of response:

    {
    "timeStamp": "2025-03-27T10:47:31.4269810+01:00",
    "price": {
    "value": 1,
    "currencyCode": "EUR",
    "currencySign": "",
    "isEmpty": false,
    "isZero": false,
    "isPositive": true,
    "isNegative": false
    },
    "paymentMethod": "Cash",
    "paymentState": "Success",
    "paymentStateInfo": "",
    "cashReceived": " 1 * 1.00 EUR",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }

    As you can see "paymentState" is "Success" and "cashReceived" contains information that customer paid with 1.00 EUR coin

  7. Commit Payment Transaction

    Example Request:

    Terminal window
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "BoolValue": false
    }' \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/commit-transaction

Successful Payment with Overpayment

  1. Ensure that there no opened payment transaction using Payment Status request

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status

    Example of response:

    {
    "timeStamp": "2025-03-27T10:04:06.5457890+01:00",
    "price": {
    "value": 0,
    "currencyCode": "",
    "currencySign": "",
    "isEmpty": true,
    "isZero": true,
    "isPositive": false,
    "isNegative": false
    },
    "paymentMethod": "Undefined",
    "paymentState": "None",
    "paymentStateInfo": "",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }

    As you can see "paymentMethod" is "Undefined" and "paymentState" is "None" - it means that there are no opened transaction.

  2. Begin Cash Payment Transaction

    Example Request:

    Terminal window
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "money": {
    "value": "1",
    "currencyCode": "EUR"
    },
    "paymentMethod": 0,
    "barcode": "",
    "giftAmount": {
    "value": "0",
    "currencyCode": "EUR"
    }
    }' \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/begin-transaction
  3. Check every ~1 second the transaction state using Payment Status request

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status

    Example of response when transaction was opened but money were not paid yet:

    {
    "timeStamp": "2025-03-27T10:15:01.5534930+01:00",
    "price": {
    "value": 1,
    "currencyCode": "EUR",
    "currencySign": "",
    "isEmpty": false,
    "isZero": false,
    "isPositive": true,
    "isNegative": false
    },
    "paymentMethod": "Cash",
    "paymentState": "InProgress",
    "paymentStateInfo": "",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }
  4. Use Get Accepted Cash request to receive a list of accepted coins/banknotes if you want to provide this information on the screen of your application

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    'https://mywellness-test-vu.maxcrc.de/api/payment/get-accepted-cash?value=9&currencyCode=EUR'
  5. Continue to check the changes in Payment Status

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status
  6. When customer performs the overpayment - payment state will be changed to “Success”

    Example of response:

    {
    "timeStamp": "2025-03-27T10:47:31.4269810+01:00",
    "price": {
    "value": 1,
    "currencyCode": "EUR",
    "currencySign": "",
    "isEmpty": false,
    "isZero": false,
    "isPositive": true,
    "isNegative": false
    },
    "paymentMethod": "Cash",
    "paymentState": "Success",
    "paymentStateInfo": "",
    "cashReceived": " 1 * 2.00 EUR",
    "cashReturned": " 1 * 1.00 EUR",
    "moneyReturnInProgress": false
    }

    As you can see "paymentState" is "Success" and "cashReceived" contains information that customer paid with 2.00 EUR coin and "cashReturned" contains the information that customer received 1.00 EUR coin as change.

  7. Commit Payment Transaction

    Example Request:

    Terminal window
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "BoolValue": false
    }' \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/commit-transaction

Revert Payment after Successful Payment

  1. Ensure that there no opened payment transaction using Payment Status request

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status

    Example of response:

    {
    "timeStamp": "2025-03-27T10:04:06.5457890+01:00",
    "price": {
    "value": 0,
    "currencyCode": "",
    "currencySign": "",
    "isEmpty": true,
    "isZero": true,
    "isPositive": false,
    "isNegative": false
    },
    "paymentMethod": "Undefined",
    "paymentState": "None",
    "paymentStateInfo": "",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }

    As you can see "paymentMethod" is "Undefined" and "paymentState" is "None" - it means that there are no opened transaction.

  2. Begin Cash Payment Transaction

    Example Request:

    Terminal window
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "money": {
    "value": "1",
    "currencyCode": "EUR"
    },
    "paymentMethod": 0,
    "barcode": "",
    "giftAmount": {
    "value": "0",
    "currencyCode": "EUR"
    }
    }' \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/begin-transaction
  3. Check every ~1 second the transaction state using Payment Status request

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status

    Example of response when transaction was opened but money were not paid yet:

    {
    "timeStamp": "2025-03-27T10:15:01.5534930+01:00",
    "price": {
    "value": 1,
    "currencyCode": "EUR",
    "currencySign": "",
    "isEmpty": false,
    "isZero": false,
    "isPositive": true,
    "isNegative": false
    },
    "paymentMethod": "Cash",
    "paymentState": "InProgress",
    "paymentStateInfo": "",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }
  4. Use Get Accepted Cash request to receive a list of accepted coins/banknotes if you want to provide this information on the screen of your application

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    'https://mywellness-test-vu.maxcrc.de/api/payment/get-accepted-cash?value=9&currencyCode=EUR'
  5. Continue to check the changes in Payment Status

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status
  6. When customer performs the payment - payment state will be changed to "Success"

    Example of response:

    {
    "timeStamp": "2025-03-27T10:47:31.4269810+01:00",
    "price": {
    "value": 1,
    "currencyCode": "EUR",
    "currencySign": "",
    "isEmpty": false,
    "isZero": false,
    "isPositive": true,
    "isNegative": false
    },
    "paymentMethod": "Cash",
    "paymentState": "Success",
    "paymentStateInfo": "",
    "cashReceived": " 1 * 1.00 EUR",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }

    As you can see "paymentState" is "Success" and "cashReceived" contains information that customer paid with 1.00 EUR coin

  7. Revert Transaction

    Example Request:

    Terminal window
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "BoolValue": false
    }' \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/revert-transaction

    The transaction is reverted and the cash is returned to customer.

Revert Payment without Successful Payment

  1. Ensure that there no opened payment transaction using Payment Status request

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status

    Example of response:

    {
    "timeStamp": "2025-03-27T10:04:06.5457890+01:00",
    "price": {
    "value": 0,
    "currencyCode": "",
    "currencySign": "",
    "isEmpty": true,
    "isZero": true,
    "isPositive": false,
    "isNegative": false
    },
    "paymentMethod": "Undefined",
    "paymentState": "None",
    "paymentStateInfo": "",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }

    As you can see "paymentMethod" is "Undefined" and "paymentState" is "None" - it means that there are no opened transaction.

  2. Begin Cash Payment Transaction

    Example Request:

    Terminal window
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "money": {
    "value": "1",
    "currencyCode": "EUR"
    },
    "paymentMethod": 0,
    "barcode": "",
    "giftAmount": {
    "value": "0",
    "currencyCode": "EUR"
    }
    }' \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/begin-transaction
  3. Check every ~1 second the transaction state using Payment Status request

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status

    Example of response when transaction was opened but money were not paid yet:

    {
    "timeStamp": "2025-03-27T10:15:01.5534930+01:00",
    "price": {
    "value": 1,
    "currencyCode": "EUR",
    "currencySign": "",
    "isEmpty": false,
    "isZero": false,
    "isPositive": true,
    "isNegative": false
    },
    "paymentMethod": "Cash",
    "paymentState": "InProgress",
    "paymentStateInfo": "",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }
  4. Use Get Accepted Cash request to receive a list of accepted coins/banknotes if you want to provide this information on the screen of your application

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    'https://mywellness-test-vu.maxcrc.de/api/payment/get-accepted-cash?value=9&currencyCode=EUR'
  5. Continue to check the changes in Payment Status

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status
  6. When customer performs the payment but not yet finished - payment state will stay "InProgress"

    Example of response:

    {
    "timeStamp": "2025-03-27T10:47:31.4269810+01:00",
    "price": {
    "value": 1,
    "currencyCode": "EUR",
    "currencySign": "",
    "isEmpty": false,
    "isZero": false,
    "isPositive": true,
    "isNegative": false
    },
    "paymentMethod": "Cash",
    "paymentState": "InProgress",
    "paymentStateInfo": "",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }

    As you can see "paymentState" is "InProgress" and "cashReceived" contains information that customer paid insufficient funds.

  7. Revert Transaction

    Example Request:

    Terminal window
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "BoolValue": false
    }' \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/revert-transaction

    The transaction is reverted and the cash is returned to customer.

Cashless Payment

Successful Payment

  1. Ensure that there no opened payment transaction using Payment Status request

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status

    Example of response:

    {
    "timeStamp": "2025-03-27T10:04:06.5457890+01:00",
    "price": {
    "value": 0,
    "currencyCode": "",
    "currencySign": "",
    "isEmpty": true,
    "isZero": true,
    "isPositive": false,
    "isNegative": false
    },
    "paymentMethod": "Undefined",
    "paymentState": "None",
    "paymentStateInfo": "",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }

    As you can see "paymentMethod" is "Undefined" and "paymentState" is "None" - it means that there are no opened transaction.

  2. Begin Cashless Payment Transaction

    Example Request:

    Terminal window
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "money": {
    "value": "1",
    "currencyCode": "EUR"
    },
    "paymentMethod": 1,
    "barcode": "",
    "giftAmount": {
    "value": "0",
    "currencyCode": "EUR"
    }
    }' \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/begin-transaction
  3. Check every ~1 second the transaction state using Payment Status request

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status

    Example of response when transaction was opened but money were not paid yet:

    {
    "timeStamp": "2025-03-27T10:15:01.5534930+01:00",
    "price": {
    "value": 1,
    "currencyCode": "EUR",
    "currencySign": "",
    "isEmpty": false,
    "isZero": false,
    "isPositive": true,
    "isNegative": false
    },
    "paymentMethod": "Terminal",
    "paymentState": "InProgress",
    "paymentStateInfo": "UserInteraction",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }
  4. When customer performs the payment - payment state will be changed to "Success"

    Example of response:

    {
    "timeStamp": "2025-03-27T10:47:31.4269810+01:00",
    "price": {
    "value": 1,
    "currencyCode": "EUR",
    "currencySign": "",
    "isEmpty": false,
    "isZero": false,
    "isPositive": true,
    "isNegative": false
    },
    "paymentMethod": "Terminal",
    "paymentState": "Success",
    "paymentStateInfo": "FundsReservationIsCompleted",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }

    As you can see "paymentState" is "Success" and "paymentStateInfo" is "FundsReservationIsCompleted".

  5. Commit Payment Transaction

    Example Request:

    Terminal window
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "BoolValue": false
    }' \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/commit-transaction

Cancel Payment on Card terminal

  1. Ensure that there no opened payment transaction using Payment Status request

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status

    Example of response:

    {
    "timeStamp": "2025-03-27T10:04:06.5457890+01:00",
    "price": {
    "value": 0,
    "currencyCode": "",
    "currencySign": "",
    "isEmpty": true,
    "isZero": true,
    "isPositive": false,
    "isNegative": false
    },
    "paymentMethod": "Undefined",
    "paymentState": "None",
    "paymentStateInfo": "",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }

    As you can see "paymentMethod" is "Undefined" and "paymentState" is "None" - it means that there are no opened transaction.

  2. Begin Cashless Payment Transaction

    Example Request:

    Terminal window
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "money": {
    "value": "1",
    "currencyCode": "EUR"
    },
    "paymentMethod": 1,
    "barcode": "",
    "giftAmount": {
    "value": "0",
    "currencyCode": "EUR"
    }
    }' \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/begin-transaction
  3. Check every ~1 second the transaction state using Payment Status request

    Example Request:

    Terminal window
    curl \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/status

    Example of response when transaction was opened but money were not paid yet:

    {
    "timeStamp": "2025-03-27T10:15:01.5534930+01:00",
    "price": {
    "value": 1,
    "currencyCode": "EUR",
    "currencySign": "",
    "isEmpty": false,
    "isZero": false,
    "isPositive": true,
    "isNegative": false
    },
    "paymentMethod": "Terminal",
    "paymentState": "InProgress",
    "paymentStateInfo": "UserInteraction",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }
  4. When customer press the “Stop” button on card terminal - payment state will stay "InProgress"

    Example of response:

    {
    "timeStamp": "2025-03-27T10:47:31.4269810+01:00",
    "price": {
    "value": 1,
    "currencyCode": "EUR",
    "currencySign": "",
    "isEmpty": false,
    "isZero": false,
    "isPositive": true,
    "isNegative": false
    },
    "paymentMethod": "Terminal",
    "paymentState": "InProgress",
    "paymentStateInfo": "Ready",
    "cashReceived": "0",
    "cashReturned": "0",
    "moneyReturnInProgress": false
    }

    As you can see "paymentState" is "InProgress" and "paymentStateInfo" is "Ready".

  5. Abort Cashless Transaction

    Example Request:

    Terminal window
    curl -X POST \
    -H "Content-Type: application/json" \
    -d '{
    "paymentMethod": 1
    }' \
    -w "HTTP Status: %{http_code}\n" \
    https://mywellness-test-vu.maxcrc.de/api/payment/abort-cashless-transaction