Get started with the Forage Payments API for accepting EBT SNAP online
Forage is PCI Level 1 compliant
This reference details comprehensive information about the Forage Payments API.
The Payments API is the foundation of accepting EBT SNAP online with Forage. You need to interact with the REST API no matter what integration type you choose. For example:
- POST
/payments/
creates a paymentref
, a required parameter for SDK payment capture functions - POST
/sessions/
initializes the Forage Checkout Fully Hosted UI - POST
/capture_sessions/
starts a Forage Custom payment capture session
Using the navigation on the left, you can find details about all of the available endpoints to manage Forage resources. The resources that you need to interact with depend on your integration type, as detailed in the following sections.
The Forage API is versioned on a per endpoint basis.
Not all endpoints are supported on every version. Refer to an individual endpoint's reference page for its latest available version, or the Forage versioning guide for more information.
Learn more about Forage integration types
If you haven't decided whether to go with a Forage SDK, Fully Hosted, or Custom integration, check out the guide to integration types.
Forage resources
A list of the primary resources involved in each integration type
All integrations
- Bearer Token: An OAuth 2.0 token that validates API requests
- Report: A paginated list of records about a merchant’s EBT business, either transactions, payouts, payout transactions, or orders
SDKs
You can use a Forage SDK to build your own EBT checkout interface. SDK integrations interact with the following resources:
- Payment: A one-time charge to a known payment method
- Payment refund: A refund associated with a payment
Learn more
Fully Hosted
A Fully Hosted integration embeds Forage's comprehensive prebuilt EBT checkout interface. Fully Hosted integrations interact with the following resources:
- Session: An instance of the ready-to-use Forage Checkout UI with built-in balance inquiry and payment capture features
- Order: A checkout cart that a customer submits for purchase via the Forage Checkout UI
- Order Payment: A one-time charge, to a known payment method, that is associated with an order created via the Forage Checkout UI
- Order Refund: A refund associated with an order created via the Forage Checkout UI
Learn more
Custom
A Custom integration embeds Forage's prebuilt EBT PIN entry interface. Custom integrations interact with the following resources:
- Payment Method: A reference to a form of payment that a customer uses to make a purchase, typically an EBT card
- Balance Session: An instance of the ready-to-use Forage Checkout UI that initiates a balance inquiry
- Capture Session: An instance of the ready-to-use Forage Checkout UI that captures a payment
- Order Payment: A one-time charge, to a known payment method, that is associated with an order created via the Forage Checkout UI
- Order: A checkout cart that a customer submits for purchase via the Forage Checkout UI
- Order Refund: A refund associated with an order created via the Forage Checkout UI
Any data created by your application’s requests or customers via the Forage Checkout UI — whether a Fully Hosted or Custom integration — is available through GET requests to the corresponding resource.
Learn more
Authentication
Requests use the HTTP Authorization
header to verify operations. The API accepts bearer tokens in this header. Refer to the authentication guide for complete details.
Development environments
Type | When to use | URL |
---|---|---|
sandbox | Develop against this environment as you build. It doesn’t have live data. | https://api.sandbox.joinforage.app/… |
production | Use this environment in production, for real live EBT transactions. | https://api.joinforage.app/… |
JSON conventions
Some numeric values are returned as strings
The Forage API returns some decimal amounts as strings. For example, the response body of a GET to /orders/{ref}/
for an order with a $10.00 SNAP charge includes a snap_total
value of "10.00"
. You need to parse the string values to numbers to perform calculations.
Timestamps and timezones
All Forage timestamps are in UTC, except for API versions prior to 2024-05-07
. We strongly recommend upgrading to 2024-05-07
or later. If you can't update, then consult the Introduction page for your specific API Version for a list of values sorted by timezone (UTC or UTC-8).