Storyous Public APIs
  1. Loyalty API
Storyous Public APIs
  • Introduction
  • Merchants API
    • Get merchant and all its places
  • Menu API
    • Get a menu tree
    • Get time-based menu
    • Get Remaining amounts of time-based menu
  • Bills API
    • Get list of payment bills
    • Get detail of a payment bill
  • Delivery API
    • Create an order through delivery API
    • Get status of delivery order
  • Deskview API
    • Get list of desks
    • Get list of sections
    • Get desk view of a place
  • Features API
    • Get list of merchants/places with a feature
  • Hotel accounts integration API
    • Provide list of accounts
    • Write consumed items to hotel account
  • Stocks API
    • Get list of stocks
    • Get list of items
    • Get list of stock ups
    • Get detail of stock up
    • Create new stock up
    • Modify stock up
    • Delete stock up
    • Get list of stock takings
    • Get detail of stock taking
    • Create new stock taking
    • Modify stock taking
    • Delete stock taking
    • Get suppliers
  • Loyalty API
    • Introduction
    • Prepayment
    • Item refunds with credit
    • Get benefit offer
    • Report offer validation error
    • Report benefit usage
    • Get loyalty benefit usages
      GET
    • Mark benefit usages as synchronized
      POST
  • DataSync
    • Webhook receiving endpoint
      • Receive new or updated records
    • Data domains
      • Stock management
        • Stocks domain
        • StockItemCategories domain
        • StockItems domain
        • StockMovements domain
      • Sales and costs
        • Bills domain
        • BillCosts domain
        • TerminalTransactions domain
        • PaymentTypes domain
        • Loyalty domain
      • Desks
        • DeskSections domain
        • Desks domain
      • Menu
        • ItemCategories domain
        • Items domain
        • PlaceITems domain
      • Merchants
        • Merchants domain
        • Places domain
        • Persons domain
  • Reservations API
    • Create Seated Reservation
    • Reservation Changed Webhook
  • Schemas
    • Schemas
      • Loyalty api
        • BalanceBenefitOfferRequest
        • ThirdPartyLoyaltyOfferRequest
        • LoyaltyOfferValidationError
        • LoyaltyBenefitUsagesPayload
        • BenefitInput
        • PaidItem
        • Applied Benefits
        • PaymentByBalance
        • UsedBalance
        • LoyaltyOfferResponse
        • MenuProductDefinition
        • UsedGeneralDiscount
        • Prepayment
      • Desk
      • Section
    • Error
  1. Loyalty API

Item refunds with credit

Refunds with Credit#

Refundable Items (Cups/Glasses)#

This is a recommended approach to be used for for merchants who want to implement a deposit system for refundable items, like cups or glasses, using a credit payment. This document describes how to use a credit payment for refundable items and how to recharge/refund credit when these items are returned by customer.
Note: This is a workaround solution. The loyalty API does not currently support automatic credit refunds. The loyalty provider must handle credit recharges on their own system.

Admin Setup (Merchant Configuration)#

Create a new product with a positive price for the refundable item (e.g., "Refundable Cup", price: 50 CZK)
Create a corresponding product with the same price but negative (e.g., "Cup Refund", price: -50 CZK)
Create a new payment method, e.g., "Recharge Credit"

Get Benefit Offer Webhook - Requests/Responses Scenarios#

Benefit requests from POS are resent by loyalty API to a loyalty provider. These are scenarios with refundable items - requests from loyalty API and expected loyalty provider responses.

Scenario 1: Purchasing a Refundable Cup (to pay it by credit)#

Loyalty API sends a request with an item (e.g., a cup) as a regular item with positive price
Loyalty provider response should be a standard response where the cup is paid with a credit (MPV voucher or card)

Scenario 2: Returning a Refundable Cup with a credit recharge#

Loyalty API sends the negative item (e.g., "Cup Refund" at -50 CZK)
Loyalty provider should:
Recharge credit on their own system (e.g., +50 CZK)
Return empty balances and discounts
Include POS and bill messages with information that credit has been recharged
POS user should complete the transaction using the "Recharge Credit" payment method
POS will generate a bill with the total -50 CZK and the bill message about a credit recharge

Scenario 3A: Returning Cup + Purchasing Other Products (Positive Total)#

Example: "Beer" at 100 CZK + "Cup Refund" at -50 CZK = 50 CZK total
Loyalty API sends the negative item together with regular items
Loyalty provider should apply credit payment to remining positive value (e.g., 50 CZK total)
POS will generate a bill with 50 CZK paid by credit

Scenario 3B: Returning Cup + Purchasing Other Products (Negative Total)#

Example: "Small Beer" at 30 CZK + "Cup Refund" at -50 CZK = -20 CZK total
Loyalty API sends the negative item together with regular items
Loyalty provider should:
Return empty balances and discounts
Recharge credit for remaining negative value (e.g., -20 CZK total)
Include POS and bill messages with information that credit has been recharged (e.g., 20 CZK)
POS user should complete transaction with "Recharge Credit" payment method
POS will generate a bill with the bill message about 20 CZK credit recharge

Refundable Credit#

Generally, loyalty programs do not support money refunds for unused credit. However, for non-loyalty use cases (e.g., festivals, wellness centers), merchants may want to implement refundable credit that can be returned to customers at the end of an event. This functionality is currently under consideration for future development.
Previous
Prepayment
Next
Get benefit offer
Built with