Troubleshooting Webhook Connection Problems

Overview

This article provides information and guidance for troubleshooting problems with webhooks.

When a webhook event fails to post successfully, FastSpring automatically retries sending the event every 10 minutes until we receive a response of "200" or "202", or until 24 hours have passed since the first attempt. Every 24 hours, if there have been any failed/unprocessed events that have not yet been resolved, FastSpring emails the alert email address configured for your Store to notify you of the problem.

This article provides information on troubleshooting posting errors that result from connection problems.

Viewing Recent Server Webhook Activity

To review recent activity, including unprocessed/unsuccessful events, log in to the FastSpring App and select the Integrations menu and the Webhooks tab. Then, click Recent Activity for one of your webhook configurations.

By default, the Recent Server Webhook Activity dialog shows the 250 most recent events, starting with the most recent first. The dialog includes both processed and unprocessed events. You can click the drop-down selector in the FILTER field and choose to display only processed or only unprocessed events.

Any unprocessed events (i.e., events for which FastSpring did not receive a "200" or "202" response) appear with a red band indicating the date and time (UTC) and the event type, as in the illustration below.

In some cases, a second text area appears below the event payload for unprocessed events. The second text area may contain information about why the event was not processed successfully (e.g., the response received from the specified endpoint).

Connection Timeouts and Supported Ports

Webhook events are posted to port 8443 of the specified URL/endpoint, by default. When setting up webhooks, if you need to specify a different port in your URL, please use one of the following ports: 3443, 8282, 9191, 9000, or 9999. If you specify any other port in the URL, we may be unable to connect to the endpoint, resulting in a timeout error.

Connection Problems

If the error info section of an unprocessed event includes an error such as {"message": "Received fatal alert: handshake_failure"} or an HTTP 403 error code, this may indicate that FastSpring was unable to establish a secure connection to your server (i.e., the server specified in your webhook URL).

TLS 1.2

In the interest of data security, FastSpring requires that all servers targeted with webhook posts must support and use the TLS 1.2 protocol for the connection. If your server does not support TLS 1.2, this may prevent FastSpring from posting webhook events to your server. In that case, consult your network administrator or web hosting provider to find out whether or not TLS 1.2 support can be enabled.

Supported Cipher Suites

FastSpring supports 28 different cipher suites for encrypting the data we post via webhooks. However, some TLS 1.2-compatible cipher suites may not be supported. For FastSpring to successfully establish a secure connection to your server, both FastSpring and your server must agree on the specific cipher suite to be used. If none of the cipher suites supported by FastSpring matches any of the cipher suites supported by your web server, this may prevent FastSpring from posting webhook events to your server.

Listed below are the cipher suites currently supported by FastSpring. To find out which cipher suites your server supports, you can consult your network administrator or web hosting provider. Your web host may have that information available in an FAQ or knowledge base article. Alternatively, you can use the SSL Labs tester described later in this article.

The SSL Report takes a few minutes to run. When it finishes, scroll down to the Configuration section of the report.

Under Protocols, TLS 1.2 must show "Yes" because FastSpring requires that your server support TLS 1.2.

Under Cipher Suites, check the list of cipher suites supported in the #TLS 1.2 (suites supported in server-preferred order) section. Compare that list to the list of cipher suites supported by FastSpring, above. Your server must support at least one of the cipher suites supported by FastSpring. Otherwise, FastSpring may not be able to post webhook events to your server.

If none of the cipher suites match, consult your network administrator or web hosting company. You may be able to switch to a different certificate that does support one or more of the cipher suites supported by FastSpring. (Note: In some cases, this may require you to use a hosting provider's paid hosting service rather than a free offering.)

Try FastSpring

Get a free account and see why FastSpring is the ecommerce partner of choice
for software providers around the world. Try our full-service ecommerce solution
today to unlock revenue growth for your online company.