Sandbox Environment
| Resource | Value |
|---|---|
| Widget CDN | https://payments.sandbox.lemmax.com/forte-payments-widget.js |
| API Base URL | Provided by your Forte account manager |
Test Credit Cards
| Card Number | Network | 3DS | Result |
|---|---|---|---|
5204247750001471 | Mastercard | Non-3DS | Approved |
5200000000001104 | Mastercard | 3DS-1 | Approved |
4111111111111111 | Visa | Non-3DS | Approved |
4005562231212123 | Visa | 3DS-1 | Declined |
4000020000000000 | Visa | 3DS-1 | Approved |
5424180000000171 | Mastercard | Non-3DS | Declined |
Additional Card Fields
| Field | Value |
|---|---|
| Name | Any name |
| CVV | Any 3 digits (e.g. 100) |
| Expiry | Any future date in MM/YY format (e.g. 01/99) |
| 3DS password (3DS-1 cards) | 1234 |
About 3D Secure
3D Secure (3DS) is an additional authentication layer for online card payments. It is activated for transactions from most countries outside the United States and Canada, and is mandatory within the EU under Strong Customer Authentication (SCA) regulations. Forte supports:- Visa Secure (3DS v1 and v2)
- Mastercard Identity Check (3DS v1 and v2)
Email Verification OTP
In sandbox mode, emails are not sent. Use the following code to bypass email verification prompts in the widget: OTP code:947293
Payment Status Reference
ThePOST /payments/v1/payments/statuses endpoint returns the following statuses:
| Status | Meaning |
|---|---|
Created | Payment session initiated |
Approved | Payment completed β deliver the item |
Declined | Payment failed β do not deliver |
Expired | Session timed out β do not deliver |
Common Issues
Card payment declined unexpectedly
Card payment declined unexpectedly
Verify that the user has completed the 3DS challenge. For 3DS-1 cards, the challenge appears in a browser pop-up. If the userβs browser blocks pop-ups, they will not see the prompt and the payment will be declined.To allow pop-ups:
- Widget mode β allow pop-ups for your hosting domain
- Redirect mode β allow pop-ups for
payments.forte.io
Crypto payment failing
Crypto payment failing
Common causes:
- Insufficient gas β Users who manually override gas parameters may see delayed or failed transactions. Advise users not to modify wallet-suggested gas values.
- User exited before approving β After clicking βPayβ, the user has 10 minutes to approve the transfer in their wallet. Exiting or refreshing the page before approval will fail the transaction.
- Payment window expired β The 10-minute window has passed. The user must restart the payment flow.
Widget not loading (CSP issues)
Widget not loading (CSP issues)
If your site enforces a Content Security Policy, allowlist the following:
Also allowlist any wallet extension sources (e.g. MetaMask, Coinbase Wallet) for crypto payment flows.
| URL | CSP Directive |
|---|---|
*.lemmax.com | script-src, image-src |
*.forte.io | script-src, connect-src, frame-src |
*.instana.io | connect-src |
*.ipify.org | connect-src |
*.walletconnect.org | connect-src, frame-src |
*.web3modal.com | connect-src, image-src |