EBT Standards and Integration Reference
Merchant prerequisites, item eligibility tagging, FNS-compliant terminology, SDK versions, and a feature comparison.
Prerequisites
Before you start the Forage process, confirm the following:
- Either:
- You're already processing EBT SNAP transactions at brick-and-mortar locations.
- You don't have a physical store, but your inventory or sales meets the staple foods requirement for EBT SNAP merchant eligibility.
- You're able to update your website or app to meet key technical requirements for online EBT.
- You're able to track item eligibility in your own database. At this time, Forage does not automate identifying which items in your inventory are EBT SNAP eligible.
Once you've confirmed these prerequisites, sign up for Forage, register an app, and authenticate with Forage to get your API credentials.
Item eligibility tagging
To work with Forage, you must be able to implement item eligibility tagging in your own database. At this time, Forage does not automate identifying what items in your inventory are SNAP or EBT Cash eligible.
All SNAP eligible items are also EBT Cash eligible. Items must be tagged as follows:
- EBT SNAP eligible items as EBT SNAP
- EBT Cash eligible (and not SNAP eligible) items as EBT Cash
- Non-eligible items as non-eligible
At the checkout level, when you pass information about a customer's cart to Forage, keep snap_total to SNAP eligible items only, and ebt_cash_total to EBT Cash eligible items only.
Nomenclature
The table below details Forage's recommended way to refer to common EBT SNAP concepts, based on how the related terms appear in FNS documentation. The last column provides a counterexample that would contradict FNS.
While there are no strict compliance rules around EBT SNAP language, keeping vocabulary consistent provides a better user experience for both SNAP customers and FNS regulators. If you have any questions about any of the recommendations, then reach out to your Forage Account Manager.
| Concept | Recommended customer-facing language | Counterexample |
|---|---|---|
| Customer's benefit card | ✅ EBT Card | ❌ SNAP Card ❌ EBT |
| Text to prompt customer to add a payment method | ✅ Add EBT Card | ❌ Add SNAP Card |
| How to display truncated card numbers | ✅ EBT ****1487 | ❌ SNAP ****1487 |
| How to note a product's benefit eligibility on a product or landing page | ✅ SNAP eligible | ❌ EBT ❌ EBT Eligible |
| How to note eligible items within a checkout flow | ✅ SNAP | ❌ EBT Eligible |
| Text to prompt customer PIN entry | ✅ Please enter your EBT PIN to authorize a balance check | ❌ Please enter your SNAP PIN to authorize a balance check |
| SNAP balance within Order receipts | ✅ SNAP balance | ❌ EBT SNAP Balance ❌ EBT SNAP Card Balance ❌ EBT Balances ❌ EBT Card |
Forage SDK version compatibility
| Latest Forage version | Minimum required dependencies | |
|---|---|---|
| forage-android | 4.2.2 | Android API Level 23 |
| forage-ios | 4.5.1 | Xcode v14.1 iOS v13 Swift v5.5 |
| forage-js | 1.3.1 | node.js v16.16.0 UUID v1.1.0 |
Android
iOS
Forage JS
Compare integration features
| Fully Hosted Checkout | Custom Checkout | SDKs | |
|---|---|---|---|
| Engineering lift | Small | Medium | Medium |
| In-line EBT checkout experience | ❌ Redirect | ❌ Redirect | ✅ Native in-line |
| Credit/debit card processing | ✅ | DIY | DIY |
| Split tender processing, including error handling and charge reversals | ✅ | DIY | DIY |
| EBT payment error UX messaging | ✅ | ✅ | DIY |
| Field for a customer to set SNAP and EBT Cash amounts | ✅ | DIY | DIY |
| Sales tax calculation | ✅ | DIY | DIY |
| Built-in order lifecycle management on top of Forage Order objects | ✅ | ✅ | DIY |
The POS Terminal SDK is not included in this comparison. It is the in-person integration option and is not an alternative to the above. See Integration Options for details.
Updated about 3 hours ago
