{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition","cards","card"]},"type":"markdown"},"seo":{"title":"Loyalty API","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"loyalty-api","__idx":0},"children":["Loyalty API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Add Card Linked Loyalty to a merchant's payments, so customers earn and redeem rewards automatically just by paying with a linked card — no separate check-in step required."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-is-it","__idx":1},"children":["What is it?"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Traditionally, a customer has to identify themselves at each purchase to be rewarded — presenting a loyalty card, or having staff look them up by name, email, or mobile. The Loyalty API removes that friction: a customer links one or more payment cards to a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Member"]}," profile once, in-store, online, or through your app. From then on, whenever a linked card is used at an activated merchant location, Tyro recognises the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Transaction"]}," and sends you a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Loyalty event"]}," with the transaction details, so you can calculate and apply the reward."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"requirements","__idx":2},"children":["Requirements"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Requirement"},"children":["Requirement"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Integration type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Business operations (card-linked loyalty)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Webhooks"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Loyalty events and merchant onboarding notifications — see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-explorer/loyalty/0.9/notification-events"},"children":["notification events"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Setup steps"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The merchant activates your program for their location in the Tyro Merchant Portal, and your system must support merchant activation requests — see Prerequisites below"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Limitations"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["On-terminal loyalty is only available on Tyro Pro Series devices"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API reference"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#api-reference"},"children":["Jump to API reference"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"key-features","__idx":3},"children":["Key features"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["No repeat check-in"]},": Once a card is linked, Tyro recognises it automatically on every future transaction — customers don't need to present a loyalty card or identify themselves again."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["On-terminal sign-up"]},": Unregistered customers see rewards accumulate on the Tyro Pro Series terminal itself, then join via a QR code — no staff prompt required."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Multiple cards per member"]},": Customers can link more than one payment card to the same profile."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Self-service management"]},": Customers can unsubscribe or deregister a specific card at any time."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":4},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A backend system that maintains customer profiles, including card and customer identifiers, and any additional data your use case needs, such as transaction history."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Since this involves collecting personal information, you must ensure compliance with applicable data privacy regulations."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A reward defined per transaction, if you're supporting on-terminal loyalty."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Support for merchant activation — a webhook endpoint to receive onboarding requests, and the ability to submit an APPROVE or REJECT decision. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/business-operations/loyalty/activate-a-merchant"},"children":["Activate a merchant"]}," for the full flow."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Optionally, being a Tyro eCommerce customer enables card linking through online transactions and a unified profile across in-store and online activity."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"key-concepts","__idx":5},"children":["Key concepts"]},{"$$mdtype":"Tag","name":"Cards","attributes":{"columns":1,"cardMinWidth":240},"children":[{"$$mdtype":"Tag","name":"Card","attributes":{"title":"Member","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A customer registered in the loyalty program with one or more linked payment cards. Members can be registered through in-store/online purchases or via a partner app."]}]},{"$$mdtype":"Tag","name":"Card","attributes":{"title":"Transaction","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A payment event that triggers loyalty tracking. When a registered card is used for payment, Tyro monitors and notifies the loyalty partner with transaction details."]}]},{"$$mdtype":"Tag","name":"Card","attributes":{"title":"Loyalty event","imagePosition":"start","iconPosition":"auto","layout":"vertical","align":"start","variant":"filled"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A notification sent to loyalty partners when a registered payment card is used, containing transaction details and potentially sales data for reward calculation."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-it-works","__idx":6},"children":["How it works"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Activate"]}," — The merchant activates your loyalty program for their location in the Tyro Merchant Portal. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/business-operations/loyalty/activate-a-merchant"},"children":["Activate a merchant"]}," for the full onboarding flow."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Register"]}," — A customer registers, or is identified, by their payment card — via terminal, eCommerce checkout, or your own app. See the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/business-operations/loyalty/integration-guide#step-1-register-a-member"},"children":["integration guide"]}," for registration flows."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Transaction"]}," — The customer makes a purchase using their linked card."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Trigger"]}," — Tyro automatically recognises the card and prepares a loyalty notification."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Notify"]}," — You receive a ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-explorer/loyalty/0.9/notification-events"},"children":["loyalty event"]}," with the transaction details."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"on-terminal-loyalty","__idx":7},"children":["On-terminal loyalty"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["On-terminal loyalty is only available on Tyro Pro Series devices. Once integrated, the merchant can activate and configure the styling of the on-terminal experience in the Tyro Merchant Portal."]},{"$$mdtype":"Tag","name":"figure","attributes":{"className":"img-centered-frame"},"children":[{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/points_accumulation.366f52f09440236db197151c5db873f79c7723e875e51facddb5a392b175338e.06310e1e.png","alt":"Loyalty on-terminal experience"},"children":[]},{"$$mdtype":"Tag","name":"figcaption","attributes":{},"children":["On-terminal loyalty experience showing reward accumulation and QR sign-up"]}]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Unregistered customers"]}," see the rewards earned on their first transaction and watch their balance grow with subsequent transactions with the merchant, even across different locations, increasing their incentive to register. Merchants can configure a reward limit for unregistered members in the Tyro Merchant Portal."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Claiming rewards"]},": If an unregistered member wants to claim their points, the terminal displays a QR code linking directly to the loyalty sign-up flow."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Point transfer"]},": When that unregistered member completes sign-up, Tyro shares their previously earned points so they carry into the initial balance post sign-up."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Existing members"]}," see the rewards earned from their transaction immediately on the terminal, as a constant reminder that they're being rewarded."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"conditions-and-limitations","__idx":8},"children":["Conditions and limitations"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Device support"]},": On-terminal loyalty is only available on Tyro Pro Series devices."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Activation gating"]},": A merchant location must complete activation before any loyalty activity is generated there — see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/business-operations/loyalty/activate-a-merchant"},"children":["Activate a merchant"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Card linking outside terminal or eCommerce flows"]},": If transactions don't occur through the terminal or Tyro eCommerce, linking a card typically requires a one-time $0 authorisation transaction — see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/business-operations/loyalty/partner-types"},"children":["Partner types and approaches"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"getting-started","__idx":9},"children":["Getting started"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Start with ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/business-operations/loyalty/partner-types"},"children":["Partner types and approaches"]}," to choose the integration pattern that fits your business, then follow the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/business-operations/loyalty/integration-guide"},"children":["integration guide"]}," to implement member registration and transaction monitoring. ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/business-operations/loyalty/testing"},"children":["Testing"]}," covers validating your integration in sandbox, and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/business-operations/loyalty/going-live"},"children":["Going live"]}," covers certification and production readiness."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"api-reference","__idx":10},"children":["API reference"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Endpoint"},"children":["Endpoint"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-explorer/loyalty/0.9/member/deregister-member"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELETE /loyalty/members"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Deregister a member for loyalty"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-explorer/loyalty/0.9/member/get-payment-by-id"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /loyalty/members"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Register member for loyalty"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-explorer/loyalty/0.9/onboarding/get-merchant-onboarding-request-by-reference"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /locations/merchant-onboarding/loyalty/{onboardingReference}"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Get merchant onboarding request by reference"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-explorer/loyalty/0.9/onboarding/submit-merchant-onboarding-decision"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /locations/merchant-onboarding/loyalty/{onboardingReference}"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Submit a decision for a merchant onboarding request"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-explorer/loyalty/0.9/other/create-test-payment"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST /payments/test"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Create a test payment"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-explorer/loyalty/0.9/other/get-loyalty-activity-by-id"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /loyalty/activities/{loyaltyActivityId}"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Get loyalty activity by ID"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-explorer/loyalty/0.9/registered-card/deregister-member-card"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELETE /loyalty/registered-cards/{registeredCardId}"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Delete registered card by ID"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/api-explorer/loyalty/0.9/registered-card/get-loyalty-card-by-id"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET /loyalty/registered-cards/{registeredCardId}"]}]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Get registered card by ID"]}]}]}]}]}]},"headings":[{"value":"Loyalty API","id":"loyalty-api","depth":1},{"value":"What is it?","id":"what-is-it","depth":2},{"value":"Requirements","id":"requirements","depth":2},{"value":"Key features","id":"key-features","depth":2},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Key concepts","id":"key-concepts","depth":2},{"value":"How it works","id":"how-it-works","depth":2},{"value":"On-terminal loyalty","id":"on-terminal-loyalty","depth":2},{"value":"Conditions and limitations","id":"conditions-and-limitations","depth":2},{"value":"Getting started","id":"getting-started","depth":2},{"value":"API reference","id":"api-reference","depth":2}],"frontmatter":{"seo":{"title":"Loyalty API"}},"lastModified":"2026-09-09T05:39:45.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/business-operations/loyalty/overview","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}