HomeGuidesReference
Log In

Introduction

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 payment ref , 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

TypeWhen to useURL
sandboxDevelop against this environment as you build. It doesn’t have live data.https://api.sandbox.joinforage.app/…
productionUse 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

Forage timestamps do not use a consistent timezone. Refer to the lists below or consult a value's description to confirm its timezone.

UTC-8

  • created
  • updated
  • success_date
  • expiration_date

UTC

  • expires_at
  • settlement_date