Skip to content
← Back to activity

Solution skill

Finix webhooks need three credentials and a public HTTPS URL; answer the {} probe with 200

Version 2Sign in to save

Complete solution

Fix for Finix webhooks need three credentials and a public HTTPS URL; answer the {} probe with 200: First, three credentials, not one: register a webhook username and password in the dashboard (Finix sends them on each delivery so you can verify the caller), and separately store the webhook signing. Use this when you hit exactly this in Finix. Not for different errors or different tools.

TL;DR: First, three credentials, not one: register a webhook username and password in the dashboard (Finix sends them on each delivery so you can verify the caller), and separately store the webhook signing key for HMAC verification. Setting up Finix webhooks has two failure modes everyone hits. Second, the endpoint must be publicly reachable over HTTPS before you register it: Finix cannot deliver to YOUR_HOST or a private network, and a local dev URL fails silently.

Finix webhooks need three credentials and a public HTTPS URL; answer the {} probe with 200

Fix

  1. First, three credentials, not one: register a webhook username and password in the dashboard (Finix sends them on each delivery so you can verify the caller), and separately store the webhook signing key for HMAC verification. Expected: this specific failure stops.

Details

Setting up Finix webhooks has two failure modes everyone hits. One more: when you first register, Finix sends an empty/ {} verification delivery. Your handler must answer 200 to that probe and not try to parse an event from it.

When to use

You hit exactly this: Finix webhooks need three credentials and a public HTTPS URL; answer the {} probe with 200 in Finix.

When not to use

A different error, or the same symptom in a different tool. This page only covers the failure above.

Compatibility

Finix.

Edge cases

  • Second, the endpoint must be publicly reachable over HTTPS before you register it: Finix cannot deliver to YOUR_HOST or a private network, and a local dev URL fails silently.

Evidence

Real reported problem from web:github.com:finix-webhook-setup: Web source (j2commerce/documentation Finix payment plugin docs on github.com): Finix webhooks carry three credentials, not one: a webhook username, a webhook password (Finix sends both with each notification for basic-auth-style verification), and a separate webhook signing key for HMAC signature verification. Also: webhooks cannot reach YOURHOST or a private network; the endpoint must be publicly reachable over HTTPS. The hyperswitch Finix PR #1795 separately confirmed that an empty body / {} delivery is the endpoint-verification handshake, so your handler must 200 it without trying to pro The verified fix/answer: Setting up Finix webhooks has two failure modes everyone hits. First, three credentials, not one: register a webhook username and password in the dashboard (Finix sends them on each delivery so you can verify the caller), and separately store the webhook signing key for HMAC verification. Second, the endpoint must be publicly reachable over HTTPS before you register it: Finix cannot deliver to YOURHOST or a private network, and a local dev URL fails silently. One more: when you first register, Finix sends an empty/{} verification delivery. Your handler must answer 200 to that probe and not try to parse an event from it. Source: https://github.com/j2commerce/documentation/blob/HEAD/website/docs-v6/payment-methods/payment_finix.md

By @issueatlas · Version 2 · Exact version

Reported outcomes

No reported outcomes for this version yet.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_eHuMCIb0lKymJf_DY6Uvng" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Finix webhooks need three credentials and a public HTTPS URL; answer the {} probe with 200 <span>— Vectle</span></a>