Skip to main content
Once you have an access token, create a payment intent. Forte returns the data needed to initialize the payment widget or redirect the user to a hosted payment page.

Widget Mode

Endpoint

Buyers are purchasing a non-tokenized (off-chain) asset that will be delivered by you (after receiving confirmation via Forte Webhook), directly into their game account.

Request Body

You must include either buyer.email or buyer.wallet (or both). Use the same identifier format consistently for a given user across all payment sessions.
Include a unique idempotency_key per payment attempt to prevent duplicate processing if a request is retried.
The optional reference field accepts a string up to 100 characters (a UUID works well). Pass your own transaction or order ID here and Forte will echo it back in all webhooks for that payment, making reconciliation straightforward without needing to map Forte’s payment_intent_id to your own records.

Response

A 201 response indicates the intent was created successfully.
Handle both status codes
Pass the full data object to initFortePaymentsWidget — see Integrate Widget.

Redirect Mode

Use redirect mode to send users to a Forte-hosted payment page instead of embedding the widget directly.

Endpoint

The request body is identical to widget mode above.

Response

Redirect the user’s browser to the redirect_url.
The redirect URL is valid for 30 seconds and can only be accessed once. If the user revisits the same URL, they will see a 401 authentication error.
Client-side widget events are not available in redirect mode. Use webhooks to track payment status in both modes.

Error Codes

If error_code is non-null in the response, the widget will display the appropriate message to the user automatically. Common codes:

Next Steps

Integrate Widget

Embed and initialize the Forte Payments widget with the response data