Skip to main content

iOS Receipt Summary Screen

The receipt summary screen is displayed after the SDK validates a scanned receipt and confirms it is legitimate. It presents a summary of the receipt alongside the rewards the user earned. This screen is fully managed by the SDK — the host app does not create or present it directly.

From here, users can review their earnings, claim additional boosts, and navigate to missed earnings to correct any inaccurate scan data.

After the user completes the live receipt summary flow, the SDK persists session data on device. Your app can reopen that receipt later through Receipt Details without replaying boosts or intro animations.


Live Receipt Summary vs. Receipt Details

Live receipt summaryReceipt details
WhenImmediately after a successful scanAny time from host app history
PresentationSDK-managed during scan flowHost calls loadReceiptDetails(forBlinkReceiptId:completion:)
Boosts & adsYesNo
Intro animationYes (confetti, counter, etc.)No — static snapshot
Missed earningsCustom headerNavigation bar (when scan data is available)

What the User Sees

  • Total rewards — A counter at the top showing the total points earned from the scan session.
  • Trip summary — The merchant name, date, and receipt total. When the receipt is a duplicate or could not be verified, an inline status card appears above the merchant name.
  • Earned rewards — Eligible products from the receipt that matched active offers, showing how much the user earned. Products that qualify for the same offer are grouped into a single earnings row.
  • Receipt items — The remaining line items from the receipt.
  • Inline boosts — Some products may include inline tasks that let the user earn extra points by watching a rewarded ad or scanning a product barcode.
  • Boost offers — If available, a boost button appears at the bottom of the screen, giving the user a chance to earn additional rewards.
  • Missed earnings — A button in the header that navigates to the missed earnings screen where users can correct receipt data.

Boosts

Boosts are optional, additional reward opportunities presented on the receipt summary screen. When available, a boost button appears at the bottom of the screen. The SDK supports two types:

  • Rewarded ad — The user watches a Google rewarded ad in exchange for bonus points.
  • CPA offer — The user completes a cost-per-action offer (such as signing up for a service) to earn the boost reward.

Boost availability and reward amounts are determined by the backend based on active campaigns.


Product Capture

Some receipt summary sessions may include a product capture task tied to a specific item on the receipt. When the user taps the task, the SDK presents a camera screen where they scan the product's barcode. On successful capture, the reward callback fires with the "BarcodeCollection" context.


Missed Earnings

The receipt summary screen provides an entry point to the missed earnings flow, where users can correct receipt data and recover rewards that were not captured during the initial scan. See Missed Earnings for details.


Duplicate Receipts

When the SDK detects that a receipt was already submitted, the receipt summary screen opens with a "We've seen this" status card in the trip summary, above the merchant name. The receipt contents are still shown, but no rewards can be earned:

  • Products appear without qualified offers.
  • Boosts, inline earn tasks, and product capture are not offered.
  • No reward callback fires — "ScanFinished", "Promo", "Boost", and "BarcodeCollection" are all suppressed. No base scan reward is submitted to the server.

The status card includes two action buttons:

  • View original — Opens the previously submitted receipt in a read-only view. Available only when the matching original is saved on device. Rewards and missed earnings corrections are not offered in the original view.
  • Request review — Lets the user appeal the duplicate determination. The user can add an optional note and submit for manual review; once submitted, the SDK confirms the request and closes the receipt summary flow.
note

If a duplicate receipt is reopened later via loadReceiptDetails(forBlinkReceiptId:completion:), the same "We've seen this" status card is shown — but the View original and Request review buttons are not available in the reopened view.


Invalid Receipts

When the SDK cannot verify a receipt, the receipt summary screen opens with a "Receipt couldn't be verified" status card above the merchant name. The receipt contents are still shown, but no rewards can be earned:

  • Products appear without qualified offers.
  • Boosts, inline earn tasks, and product capture are not offered.
  • No reward callback fires. No base scan reward is submitted to the server.

If an invalid receipt is reopened later via loadReceiptDetails(forBlinkReceiptId:completion:), the same status card is shown.


Customization

The receipt summary screen's colors, fonts, and icons can be customized through the Theme protocol. Keys are prefixed with postScan and cover the header, trip summary, product rows, boost buttons, and section headers. See the Theming Guide for the full key reference.