Skip to main content

Payments & Tenders

What it does: Handles how customers pay β€” cards, vouchers, split tender, and gift cards β€” in a PCI-compliant and fraud-resistant way.

Why it matters: Payment is the final barrier to revenue. Failed payments or poor payment UX directly reduce order completion. This domain is also the highest security-sensitivity area of the platform.

Byte Helium does not handle card data

The PSP SDK captures card details directly β€” no PAN (card number) ever passes through Byte Helium or is stored in Atlas. Byte Helium handles tokens only. Any payment configuration (PSP credentials, routing rules, surcharge policies) lives in Byte Portal and the PSP Vault.


Feature Table​

FeatureProblem It SolvesWhat It DoesHow It WorksDependenciesPrerequisitesLimitationsImpacted Metrics
Pay with CardCustomer wants to use a debit or credit cardTokenises the card and processes payment through the PSPPSP SDK handles card capture (no PAN in Byte Helium); token sent to Checkout Orchestrator; 3DS authentication where requiredPSP / Vault, Checkout OrchestratorValid checkout session3DS may add friction; failure β†’ retry or switch tenderPayment success rate
Pay with Saved CardCustomer wants to reuse a stored cardLists saved cards; customer selects one for paymentSaved card tokens fetched from PSP Vault; selected token used in payment intentPSP / VaultCustomer signed in; card previously savedCard must not be expired; vault managed by PSP (not Byte Helium)Saved card usage rate
Delete Saved CardCustomer wants to remove a stored cardRemoves the card from the customer's saved payment methodsDelete call to PSP Vault via Byte HeliumPSP / VaultCustomer signed inCannot undo deletionVault management activity
Pay with VoucherCustomer has a digital voucherApplies a voucher code as full or partial paymentVoucher validated with Voucher service; value attached as tender to orderVoucher service, Checkout OrchestratorValid voucher code; not expired or redeemedVoucher rules vary by market; server-side validation; double-spend prevented (409)Voucher redemption rate
Split Tender (Card + Voucher)Voucher covers part of the billLets customer pay the remainder with a card after applying a voucherVoucher applied first; remaining balance tendered via card payment intentVoucher service, PSP, Checkout OrchestratorValid voucher; active checkout sessionTender sequencing managed by OrchestratorSplit tender rate
Buy a VoucherCustomer wants to purchase a digital voucher (gift)Lets customer purchase a voucher via cardPayment via PSP; voucher generated and delivered by email/SMSVoucher service, PSPActive payment methodVoucher purchase flow is market-enabled; separate from order checkoutVoucher sales volume
Resend Gift Card DetailsCustomer lost their gift card emailRe-sends gift card delivery to customer's registered contactRate-limited resend call to Gift Card service; delivered via configured channelGift Card service, MessagingCustomer signed in; gift card purchasedRate-limited per card ID to prevent abuseResend request rate

Technical Sources​

πŸ“Ž Technical Source: Pay with Card / Split Tender
  • FRD References: FRD-HEL-016, FRD-HEL-017, FRD-HEL-018
  • TRD Domain: Payments & Tenders
  • Key Interfaces / APIs: Card Tokenise/Pay (PSP SDK), Voucher Apply/Redeem, Submit Payment Intent (Orchestrator)
  • Data Contracts: PaymentIntent (amount, currency, tenders[]); TenderCard (token, scheme, 3dsStatus β€” no PAN in logs)
  • Source Summary:
    • PCI-DSS compliant: SDK handles card capture; no PAN stored in Byte Helium or logs
    • 3DS supported; 3DS outcome tracked via telemetry
    • Auth capture success target: β‰₯99.5%
    • Voucher double-spend prevented via idempotency (409 returns original token)
    • Payment APIs: additive only, 180-day deprecation window (longest in platform β€” schema mandates apply)