Gett Developer Portal
  • Welcome
  • Distribution Partners
  • Brand Partners
  • Commerce Partners
  • Ecosystem Partners
  • Errors
  • API Reference
Documentation
  • Get Started
  • Marketfront SDK
  • API Reference
Resources
  • Payments
Company
  • Gett
  • Terms of Service
  • Privacy Policy

Copyright 2026 Gett. All rights reserved.

Marketfront SDK
Marketfront API
Marketfront AI
Shared Guides
    AuthenticationPaymentsWebhooks
powered by Zuplo
Shared Guides

Payments

Gett offers flexible payment options to match your integration approach. Choose the path that best fits your platform's needs.

ApproachDescriptionBest For
Automatic (Marketfront SDK-only)Gett handles payment collectionDon't have existing payment data
Card-on-FileLeverage your existing saved customer cardsHave existing payment data, want to maximize conversion. Required for Marketfront API and Marketfront AI.

What is Card-on-File?

Card-on-File allows you to use payment methods your customers have already saved with your platform. Instead of requiring users to re-enter their card details, Gett securely proxies the payment data to the restaurant's payment processor.

You Likely Already Have Card-on-File Capability

"Card-on-file" doesn't mean storing raw credit card numbers. If your platform uses a payment processor like Stripe, Braintree, Square, Adyen, or any other major provider, you already have tokenized cards that qualify for Card-on-File integration.

When customers save their payment method on your platform, your processor stores the sensitive card data and gives you a secure token. Gett works with all major payment processors to securely translate these tokens—your existing payment infrastructure is all you need.

Why Card-on-File?

BenefitDescription
Higher ConversionUsers complete checkout without friction—no new payment entry required
Seamless User ExperienceUsers existing payment methods are automatically available
TrustUsers don't need to share payment info with a new system

How It Works

When a consumer places an order using Card-on-File, Gett acts as a secure bridge between your payment infrastructure and the restaurant's:

  1. Your platform provides a token reference — The paymentToken from your existing payment processor
  2. Gett securely retrieves the card data — Using pre-configured, encrypted channels to your processor
  3. Gett re-tokenizes for the restaurant — The card is tokenized with the restaurant's payment processor
  4. The restaurant charges using their token — Payment is processed through the restaurant's own infrastructure

This token-to-token interchange ensures:

  • Your systems never handle raw card data
  • The restaurant receives a token compatible with their processor
  • All sensitive data flows through PCI Level 1 compliant infrastructure

PCI Compliance

Gett maintains PCI DSS Level 1 compliance, the highest level of payment security certification. By integrating with Gett, your platform benefits from our secure infrastructure without the compliance burden.

Your platform stays out of PCI scope — you only pass token references, never sensitive card data.


Card-on-File Implementation

Card-on-File works slightly differently depending on whether you're using the Marketfront SDK or the Marketfront API.

IntegrationSession CreationOrder Placement
Marketfront SDKPass payment method metadata (for UI display)Reference payment by paymentToken
Marketfront APIN/AReference payment by paymentToken
Marketfront AIN/AReference payment by paymentToken

Order Amounts

Every order request and response includes an amounts object that breaks down the full monetary value of the order. Each field carries a real, non-zero value when applicable.

Fields

FieldTypeDescription
subTotalnumberItem cost before fees, taxes, or adjustments
feesnumberService and booking fees
feesDetailsAmountDetail[]Per-fee breakdown (sum must equal fees)
taxesnumberTotal tax, including line-item-specific taxes
taxesDetailsAmountDetail[]Per-tax breakdown (sum must equal taxes)
promotionsnumberTotal discounts applied — represented as a positive value, subtracted from total
promotionsDetailsAmountDetail[]Per-promotion breakdown
tipnumberTip passed through in full to the merchant
tipDescriptionstringOptional label for tip distribution (e.g., "Staff: $5, Driver: $5")
adjustmentsnumberManual post-placement corrections; can be negative
adjustmentsDetailsAmountDetail[]Per-adjustment breakdown
totalnumberFinal charge amount

Composition Formula

Code
total = subTotal + fees - promotions + taxes + adjustments + tip

Requests where these fields don't sum to total (within $0.01) are rejected with 400.

Data Sources

SourceFields
Computed by Gett from your cartsubTotal, tip
Provided by the merchantfees, taxes

Tip Flow

Partners can include a customer tip when calling validateOrder or placeOrder by setting amounts.tip. Gett passes the full tip amount to the merchant without deduction. The optional tipDescription field lets you describe how the tip should be distributed (e.g., between staff and delivery driver).

Not all stores accept tips — check the acceptsTipsOnDelivery and acceptsTipsOnPickup flags on the store object before presenting a tip prompt.

When Amounts Are Set

StageBehavior
validateOrder requestPartner provides tip (optional); all other fields may be omitted
validateOrder responseServer returns the full computed breakdown — use this to display a pricing preview
placeOrder requestInclude the validated amounts from the previous step
placeOrder responseProvider returns the authoritative post-placement breakdown; this is persisted and locked

Example

Code
{ "amounts": { "subTotal": 24.50, "fees": 2.99, "feesDetails": [{ "amount": 2.99, "description": "Service fee" }], "taxes": 2.20, "taxesDetails": [{ "amount": 2.20, "description": "Sales tax" }], "promotions": 0, "tip": 4.00, "adjustments": 0, "total": 33.69 } }

For the full Amounts schema, see the API reference. For how amounts flow through the order pipeline, see the Order Lifecycle guide.


Configuration & Setup

Card-on-File interchange requires a one-time configuration between your platform and Gett. This configuration establishes the secure channel for payment data retrieval.

Contact Your Gett Representative

To enable Card-on-File for your integration, contact your Gett representative. Our team will work with you to configure secure payment interchange for your specific payment processor and architecture.


Next Steps

  • Sessions — Session creation with payment methods
  • Order Lifecycle — Order flow and state machine
  • Schemas — Type definitions and data models
AuthenticationWebhooks
On this page
  • PCI Compliance
  • Card-on-File Implementation
  • Order Amounts
    • Fields
    • Composition Formula
    • Data Sources
    • Tip Flow
    • When Amounts Are Set
    • Example
  • Configuration & Setup
  • Next Steps
JSON