Forte Checkout Self-Service Integration Guide Partner

With Forte Checkout, you can securely process online payments in your applications. You can support Cards, ACH, and digital wallets such as Google Pay, Apple Pay, and PayPal. You can also add convenience fees, use secure tokens to process transactions, and implement callbacks for real-time payment events.

This guide covers Sandbox testing, optional webhook setup, production launch, and monitoring. It also includes best practices, troubleshooting tips, and FAQs to help you maintain PCI compliance and deliver a reliable checkout experience.

Prerequisites

  • Forte Developer Account: Register to obtain API credentials and access the Sandbox environment.
  • API Credentials: Get your Access ID, Secure Key, and Organization ID from the Forte dashboard.
  • SSL Certificate: Make sure your platform is secured with HTTPS.
  • Development Environment: Familiarity with RESTful APIs and your technical stack (for example, Node.js, Python, or PHP) is recommended.

Step 1: Configure Your Forte Account

  1. Log in to the Forte Developer Portal.
  2. Locate your API credentials – Access ID, Secure Key, and Organization ID.
  3. In the Sandbox environment, create test customers, accounts, and payment methods to validate your integration.

Step 2: Integrate Forte Checkout

Use the Forte Checkout widget to securely collect payment information (Cards, ACH, and digital wallets) while maintaining PCI compliance and minimizing direct exposure to sensitive data.

  1. Embed the Widget Script: Add the provided JavaScript snippet to your checkout page.
  2. Initialize the Widget: Initialize the widget with your Public API key, required fields, and callback functions.

Sample Request:

				
					javascript
ForteCheckout.setup({
	container: '#forte-checkout',
	apiKey: 'YOUR_PUBLIC_API_KEY',
	amount: '49.99',
	currency: 'USD',
	customer: {
	firstName: 'Jane',
	lastName: 'Doe',
	email: 'jane.doe@example.com'
	},
	onSuccess: function(response) {
	// Handle tokenization/purchase response
	},
	onError: function(error) {
	// Handle errors
	},
	onCallback: function(event, data) {
	// Custom callback logic based on event type
	}
});

				
			
  1. Customizing Fields: Refer to the developer documentation to customize input fields and styling as needed.

Adding Convenience Fees to Forte Checkout

To apply convenience fees (service charges or surcharges based on payment method or transaction attributes), follow these steps:

  1. Calculate the convenience fee: Before initializing the widget, determine whether a dynamic or static fee applies.
  2. Update the transaction amount: Add the fee to the base transaction amount and include the total in the amount parameter when setting up the widget. Ensure the fee breakdown is clearly displayed on the checkout page for transparency and regulatory compliance.

Sample Request:

				
					javascript
var baseAmount = 49.99;
var convenienceFee = 2.50;
var totalAmount = baseAmount + convenienceFee;
ForteCheckout.setup({
	container: '#forte-checkout',
	apiKey: 'YOUR_PUBLIC_API_KEY',
	amount: totalAmount.toFixed(2),
	currency: 'USD',
	customer: {
	firstName: 'Jane',
	lastName: 'Doe',
	email: 'jane.doe@example.com'
	},
	onSuccess: function(response) {
	// Record fee details for reporting
	}
	// ... other callbacks
});

				
			
  1. Store fee information: Itemize the convenience fee for user review and save the fee value in transaction metadata or backend systems for accounting and reporting purposes.

Step 3: Securely Process Payments

After the checkout widget is submitted, it returns a secure token (nonce) that represents the payment information.

Use this token to process the transaction securely through your backend.

  1. Transmit the token securely to your backend using HTTPS.
  2. Send the transaction request by POSTing the token to Forte’s /transactions endpoint.
  3. Handle responses: Parse status and error messages and communicate the results to customers appropriately.

Note: Below given code samples demonstrate how to securely transmit the token, handle transaction metadata, and manage convenience fees if applicable.

Sample code for sale transactions card payment

				
					json
POST /transactions
Content-Type: application/json
Authorization: AccessID [Your Access ID], SecureKey [Your Secure Key]
{
	"organization_id": "ORG12345",
	"location_id": "LOC67890",
	"transaction_type": "sale",
	"amount": "52.49",
	"currency": "USD",
	"customer": {
	"first_name": "Jane",
	"last_name": "Doe",
	"email": "jane.doe@example.com"
	},
	"card": {
	"token": "secure_card_token_from_widget"
	},
	"metadata": {
	"convenience_fee": "2.50"
	}
}
				
			

Sample code for ACH payment

				
					json
POST /transactions
Content-Type: application/json
Authorization: AccessID [Your Access ID], SecureKey [Your Secure Key]
{
	"organization_id": "ORG12345",
	"location_id": "LOC67890",
	"transaction_type": "sale",
	"amount": "77.50",
	"currency": "USD",
	"customer": {
	"first_name": "Alex",
	"last_name": "Smith",
	"email": "alex.smith@example.com"
	},
	"ach": {
	"token": "secure_ach_token_from_widget"
	},
	"metadata": {
	"convenience_fee": "2.50"
	}
}
				
			

Sample code for Digital Wallet payments – Google Pay

				
					json
POST /transactions
Content-Type: application/json
Authorization: AccessID [Your Access ID], SecureKey [Your Secure Key]
{
	"organization_id": "ORG12345",
	"location_id": "LOC67890",
	"transaction_type": "sale",
	"amount": "32.49",
	"currency": "USD",
	"customer": {
	"first_name": "Morgan",
	"last_name": "Lee",
	"email": "morgan.lee@example.com"
	},
	"digital_wallet": {
	"provider": "google_pay",
	"token": "secure_gpay_token_from_widget"
	},
	"metadata": {
	"convenience_fee": "2.50"
	}
}
				
			

Sample code for Digital Wallet payments – Apple Pay

				
					json
POST /transactions
Content-Type: application/json
Authorization: AccessID [Your Access ID], SecureKey [Your Secure Key]
{
	"organization_id": "ORG12345",
	"location_id": "LOC67890",
	"transaction_type": "sale",
	"amount": "22.49",
	"currency": "USD",
	"customer": {
	"first_name": "Taylor",
	"last_name": "Reed",
	"email": "taylor.reed@example.com"
	},
	"digital_wallet": {
	"provider": "apple_pay",
	"token": "secure_applepay_token_from_widget"
	},
	"metadata": {
	"convenience_fee": "2.50"
	}
}
				
			

Sample code for Digital Wallet payments – PayPal

				
					json
POST /transactions
Content-Type: application/json
Authorization: AccessID [Your Access ID], SecureKey [Your Secure Key]
{
	"organization_id": "ORG12345",
	"location_id": "LOC67890",
	"transaction_type": "sale",
	"amount": "62.49",
	"currency": "USD",
	"customer": {
	"first_name": "Jordan",
	"last_name": "Blake",
	"email": "jordan.blake@example.com"
	},
	"digital_wallet": {
	"provider": "paypal",
	"token": "secure_paypal_token_from_widget"
	},
	"metadata": {
	"convenience_fee": "2.50"
	}
}
				
			

Callback in Forte Checkout

Callbacks allow you to handle real-time events during the checkout workflow, such as payment successes, failures, or status updates. When initializing the widget, provide appropriate callback functions to respond to specific events:

  • onSuccess: Triggered when a transaction is successfully tokenized or processed. Use this to update the user interface, display confirmations, or initiate backend workflows.
  • onError: Triggered when validation or processing errors occur. Use this to inform users and prompt corrective actions.
  • onCallback: (Optional) Handles multiple event types, such as payment authorization, 3D Secure completion, or receipt generation. Pass the event and relevant data to integrate with analytics, notifications, or advanced business logic.

Using these callbacks improves responsiveness and ensures visibility over post-payment processes.

Step 4: Testing in the Sandbox

Before going live, test your integration in a controlled environment to ensure that all payment flows work correctly and that transactions are processed as expected.

  1. Use the Forte Sandbox to simulate payment scenarios and verify integration outcomes.
  2. Reference test payment data and monitor transactions through your Forte dashboard to ensure everything functions as expected.

Step 5: Webhook Implementation

(Optional)

Webhooks enable real-time notifications of payment events, allowing your system to automatically respond to transaction updates, status changes, or other triggers.

  1. Create a webhook endpoint to receive POST requests from Forte.
  2. Register the endpoint in the Forte dashboard and select the relevant trigger events.
  3. Validate webhook payloads to ensure security.
  4. Update workflows: Use received events to update order statuses or automate backend processes.

Step 6: Production Launch and Monitoring

After testing is complete, move to production and closely monitor performance, transaction accuracy, and user feedback to ensure a reliable and seamless checkout experience.

  1. Switch to production API credentials.
  2. Closely monitor transactions, error logs, and customer feedback, especially during the initial rollout.
  3. Maintain ongoing oversight to ensure a smooth and reliable payment experience.

Best Practices & Troubleshooting

  • Security: Use HTTPS, avoid storing sensitive card data, and ensure compliance with PCI DSS standards.
  • Error Handling: Provide clear, informative error messages and implement retry mechanisms where appropriate.
  • Accessibility: Optimize the checkout experience for mobile devices and ensure it is accessible to all users.
  • Logging: Keep detailed records of API interactions and transactional activities for monitoring and auditing purposes.
  • Customer Support: Offer comprehensive resources to help users resolve common payment issues.

By following this integration guide, including sample transaction code, callbacks, and convenience fee implementation—and referencing the official developer documentation, you can deploy a robust and reliable payment infrastructure tailored to your operational needs. For additional guidance, consult the Forte documentation, participate in community forums, or contact technical support.

FAQs

You can find your API keys in the Forte Developer Portal under API Credentials. Make sure to use the correct Access ID, Secure Key, and Organization ID for your environment (Sandbox or Production).

Use the Forte Sandbox environment to simulate transactions and verify your integration. Refer to the test payment data provided in the documentation to validate all payment scenarios.

The Forte Checkout widget is PCI DSS compliant, ensuring secure handling of payment information.

The checkout form can be customized using the JavaScript API. You can modify input fields, styling, and layout to match your application’s design.

Refunds and recurring payments can be managed using Forte’s API. Refer to the relevant API documentation for endpoints, parameters, and examples for handling refunds and subscription-based transactions.

Calculate the convenience fee before initializing the widget. Include the fee in the total transaction amount as well as in the transaction metadata. Display the fee breakdown on the checkout page for transparency and compliance.

Callbacks allow you to respond to payment events in real time. Define callback functions when initializing the widget to handle events such as successful transactions, errors, or other workflow updates. Use these callbacks to update your UI, trigger backend workflows, or integrate with external systems.

On this page