Aeion Gift Cards vs Rise.ai, Govalo & Shopify

Rise.ai charges $599/month just to track gift card balances. Aeion Gift Cards is native stored-value logic — atomic balance operations, unique idempotency keys, AES-256-GCM PIN encryption, split-payment math, and native Billing gateway registration — all at 0% fees, included natively in Aeion OS.

Why Rise.ai Can't Match Aeion's Native Architecture

Rise.ai: Plugin API. Aeion: Native Ledger.

Rise.ai operates as a Shopify app. Every gift card operation requires API calls between Shopify and Rise.ai's servers. Balance checks, redemptions, and refunds all go through their cloud API — creating latency, failure points, and sync issues.

Rise.ai's redemption flow:

Customer clicks "Apply Gift Card" → Shopify API → Rise.ai Server → Lookup balance ↓ Return balance → Shopify → Checkout UI ↓ If partial: Rise.ai → Shopify webhook → Stripe ↓ Multiple round-trips, webhook failures possible

Aeion's native redemption flow:

Redemption happens in the same database transaction as the rest of checkout — no external API call, no cross-service round trip. The gift card is debited, a payment intent for the remainder (if any) is created, and idempotency guarantees no double-redemption, all in one request.

Checkout → Redeem gift card (same DB transaction, idempotency-protected) ↓ chargedAmount + remainingOrderAmount + isPartial returned instantly

Same database. No external API calls. Sub-millisecond response.

Rise.ai: Basic PIN Storage. Aeion: AES-256-GCM Encryption.

Rise.ai stores gift card PINs as plain text or basic hash. Aeion encrypts PINs at rest using AES-256-GCM, and verifies a submitted PIN against the encrypted value without ever exposing the stored PIN.

Rise.ai has no equivalent encryption. Customer PII is at risk.

Rise.ai: Basic Code Format. Aeion: Cryptographically Secure Codes.

Rise.ai codes: GIFTCARD-XXXX-XXXX (sequential, guessable)

Aeion codes: A short prefix followed by grouped alphanumeric characters generated with a cryptographically secure random source, e.g. GC-9G4F-X2P1-MQRB, drawn from a curated character set that avoids ambiguous characters (no 0/O, 1/I/L).

Massive entropy. Rise.ai's sequential codes can be guessed. Aeion's codes cannot feasibly be guessed or brute-forced, even at bulk-generation scale.

Split-Payment Math — Rise.ai's Biggest Gap

Rise.ai: "Discount Code" Hack. Aeion: True Payment Gateway.

Rise.ai implements gift cards as a discount code at checkout. This is architecturally wrong — discounts reduce the order total, not pay against it. When a $100 order uses a $30 gift card, Rise.ai's "discount" makes it look like a $70 order. Tax calculations, shipping thresholds, and loyalty points all break.

Rise.ai's broken flow:

$100 order → Apply "GIFTCARD-30" discount → $70 order displayed to Stripe ↓ Tax calculated on $70 (wrong) Shipping threshold on $70 (wrong) Loyalty points on $70 (wrong) Refund math: confused

Aeion's correct flow:

``` // Split-payment: gift card is a PAYMENT, not a discount // Returns exact math for downstream gateway { chargedAmount: 30.00, // Deducted from gift card balance remainingOrderAmount: 70.00, // Passed to Stripe for $70 remainingBalance: 0.00, // Card now has $0 isPartial: true // Split payment required }

// Order total stays $100 for all calculations // Tax, shipping, loyalty all computed on correct total // Gift card is a PAYMENT METHOD, not a discount ```

All downstream systems see the correct $100 order total. Gift card is tracked as a payment, not a discount.

Auto-Reload — Rise.ai Doesn't Have It

Rise.ai: No auto-reload. Customer manually re-enters card at checkout.

Aeion's event-driven auto-reload: When a card's balance drops to or below a configured threshold, the balance is topped up automatically by the configured reload amount, with the same atomic concurrency protection as a manual reload — and every auto-reload is logged as its own transaction.

Config on card: autoReloadEnabled: true, autoReloadAmount: 25.00, autoReloadThreshold: 10.00

Rise.ai charges extra for automation features. Aeion includes them natively.

Store Credit — Rise.ai's Manual Nightmare

Rise.ai: Support Agent Manually Credits Account.

When a customer returns an item and wants store credit instead of a refund, Rise.ai requires the support agent to manually create a credit in their dashboard. It's a manual workflow with no integration to the actual order.

Rise.ai's store credit flow:

Customer returns $100 item → Support agent logs into Rise.ai dashboard ↓ Manually creates $100 store credit ↓ Hopes sync to Shopify completes ↓ Customer sees credit (maybe) ↓ CFO doesn't know about it for reporting

Aeion's automated store credit:

A return processed from Helpdesk (or Commerce) issues store credit directly — no manual dashboard step. If the customer already has an active store-credit wallet in that currency, the credit is added atomically; otherwise a new wallet is created automatically. Every issuance is logged with the reason and originating order, giving finance a complete audit trail in real time.

Key difference: Store credit is tracked as its own type, distinct from purchased gift cards — critical for CFO liability reporting. Rise.ai has no equivalent distinction.

Bulk Generation — Rise.ai's Performance Bottleneck

Rise.ai: Slow, Unreliable Bulk Generation.

Rise.ai's bulk generation is slow and unreliable for campaigns of 10,000+ codes. It generates codes serially through their API, causing timeouts and failed campaigns.

Aeion's high-performance bulk generation:

Admins request a quantity, amount, and optional prefix/expiration/source tag — Aeion generates and persists the entire batch in one operation, with each card tagged to a shared batch ID for tracking and attribution.

Benchmark: 100,000+ codes generated per minute (native batch inserts)

Prefix by type: PR (promotional), GC (standard), SC (store credit)

Rise.ai benchmark: ~500 codes/minute through their API (20+ minutes for 10,000 codes)

Aeion benchmark: under a minute for 100,000 codes

Native Billing Gateway — Shopify's Impossible Dream

Shopify / Rise.ai: Checkout Requires Custom Code.

Every Aeion OS module (Commerce, Hospitality, Events, Dining) calls the same Billing service to process checkout. Gift Cards registers as a native payment provider — no module-specific code required.

How it works:

  1. If a gift card code is provided at checkout, Billing routes to the gift card gateway
  2. The gateway returns chargedAmount, remainingOrderAmount, isPartial
  3. If remainingOrderAmount > 0, checkout continues to Stripe/Adyen for the remainder
  • Commerce checkout: just works with gift cards
  • Hospitality checkout: just works with gift cards
  • Events checkout: just works with gift cards
  • Dining checkout: just works with gift cards

Rise.ai / Shopify problem: Each module needs custom integration code to connect to the gift card API. Commerce has one integration, Hospitality needs its own, Events needs its own. Four separate integrations, four separate failure points.

Aeion problem: None. Gift cards work across all modules by default.

CFO Analytics — Liability vs Breakage

MetricValue
Total Issued$270,000
Total Redeemed$189,000
Outstanding Liability$81,000
Breakage Estimate$8,100 (10% of promotional)
Redemption Rate70%

Feature-by-Feature Comparison

FeatureRise.aiShopifyAeion Gift Cards
PIN encryptionBasic hashBasic hash**AES-256-GCM (native)**
Code entropySequentialSequential**Large, cryptographically random keyspace**
Idempotency keysNoneNone**Unique key per transaction**
Atomic balance updatesAPI callAPI call**Native, concurrency-safe**
Audit trailBasicBasic**Immutable transaction ledger**
FeatureRise.aiShopifyAeion Gift Cards
-----------------------------------------------------------------------------------------------
Split payment math**✅ (chargedAmount + remainingOrderAmount)**
Partial redemptionDiscount hackDiscount hack**✅ (true payment, not discount)**
Auto-reload**✅ (event-driven)**
Scheduled deliveryLimitedNone**✅ (background job engine)**
7-day expiration warning**✅ (automatic daily check)**
Store credit issuanceManualManual**✅ (atomic, linked to order)**
Bulk generation500/min200/min**✅ (100K+/minute)**
FeatureRise.aiShopifyAeion Gift Cards
---------------------------------------------------------------------------------
Commerce checkoutShopify APINative**✅ (Billing gateway, no custom code)**
Hospitality checkout**✅ (native)**
Events checkout**✅ (native)**
Helpdesk store credit**✅ (native, linked to order)**
CRM customer wallet**✅ (linked to customer record)**
Analytics / CFO reportsBasicBasic**✅ (liability + breakage breakdown)**
FeatureRise.aiAeion
-------------------------------------------------------------------------------
Format`GIFTCARD-XXXX-XXXX`Prefix + grouped alphanumeric characters
EntropySmall, sequentialLarge, cryptographically random
Ambiguous charsYes (0/O, 1/I/L)No (curated charset)
Collision-resistantNoYes (bulk safe)
Prefix by typeNoYes (GC/SC/PR)

Transaction Type Reference

Transaction TypeChannelUse Case
`purchase`webCustomer buys gift card
`activation`webCard activated after payment
`redemption`web/APICustomer uses card at checkout
`partial_redemption`web/APIPartial gift-card use at checkout
`reload`web/automatedManual reload or low-balance auto top-up
`transfer_in`webCard transferred TO customer
`transfer_out`webCard transferred FROM customer
`adjustment`adminManual balance change
`refund`admin/systemRefund back to card
`void`adminTransaction voided
`expiration`automatedBalance expired
`cancellation`adminCard disabled
`issuance` (SC)systemStore credit issued from refund

FAQ

Rise.ai applies gift cards as discount codes — the order total changes, breaking tax/shipping/loyalty calculations. Aeion's redemption returns `{ chargedAmount, remainingOrderAmount, isPartial }` as a true payment method. Order stays $100; $30 from card, $70 from Stripe.

Balance changes are applied atomically with built-in guardrails, so concurrent reloads or redemptions can't corrupt a balance — a conflicting request gets a clear error instead. Rise.ai has no concurrency protection — double-spend is possible.

Rise.ai stores basic hashes. Aeion encrypts PINs at rest with AES-256-GCM and verifies without ever exposing the stored value.

Rise.ai: ~500 codes/minute (API bottleneck). Aeion: 100K+ codes/minute (native batch inserts). 10,000 codes: Rise.ai = 20+ minutes, Aeion = <30 seconds.

When balance drops to or below a configured threshold, Aeion tops up the card automatically and logs the transaction. Config: `autoReloadEnabled`, `autoReloadAmount`, `autoReloadThreshold`. Rise.ai charges extra for automation — when it's available at all.

Store credit wallets are tracked as their own type, separate from purchased or promotional cards. CFO reporting separates liability (purchased) from breakage (promotional). Rise.ai has no distinction.

Gift cards register as a payment provider inside Aeion Billing. Every module (Commerce, Hospitality, Events, Dining) calls the same Billing service. No module-specific custom code. Shopify/Rise.ai require separate integrations per module.

An immutable transaction ledger with a unique idempotency key per entry. Every balance change is logged with before/after balances, channel (web/admin/system/automated), order reference, and reason. No update/delete.

A daily automatic check (1) sends a 7-day "expiring soon" reminder once per card, and (2) transitions past-due cards to `expired`. Rise.ai has no automated expiration.

A prefix followed by grouped alphanumeric characters from a curated charset (no `0`/`O`, `1`/`I`/`L`). Example: `GC-9G4F-X2P1-MQRB`. This keeps codes both easy to read and effectively unguessable — versus Rise.ai's sequential `GIFTCARD-XXXX-XXXX` format.

An unclaimed card can be linked to an authenticated user's account in a concurrency-safe way — a race between two claim attempts resolves cleanly to one winner. Rise.ai requires manual linking.

Native platform feature — no fees deducted or added. Balance deducted = amount requested. Rise.ai charges 1-3% per transaction.

Old code invalidated, new code generated for recipient. Transaction logged with sender/recipient metadata. Notification fires for email delivery. Rise.ai has no transfer feature.

Stop Paying the Plugin Tax