Skip to main content
Alyte can run a shop’s card setup and agent purchases on your Adyen test account instead of Stripe. Buyers save a card through Adyen’s own card component on Alyte’s authorize page (a zero-value authorisation that attempts 3D Secure), and agents later charge that saved card as a merchant-initiated, unscheduled card-on-file payment with manual capture. Money settles on your Adyen merchant account; Alyte never holds it.
Adyen is available on sandbox only (https://app.alytegen.com) and against Adyen’s test environment. Nothing here applies to a live Adyen account yet.

What you need from Adyen

In the Adyen test Customer Area:

The two origin lists, and which one Adyen checks

Two settings sound alike and live in different places. Both are needed, and they hold different origins. The card form is Adyen’s component running on Alyte’s authorize page, so Adyen checks Alyte’s origin, not your site’s. The console shows the exact value to add on the Adyen connection form. If the form never renders while the console reports the connection as configured, this is the setting to check first. Console: Payments → Connect (or Edit connection on an existing Adyen row) → merchant account, API key, client key, rate in basis points (informational), and Primary?. API (merchant:admin scope):
The API body does not carry the merchant account yet; set it once in the console.

Saving tests the key

Before the key is stored, Alyte makes one read-only call to Adyen with it. Three outcomes: Editing a connection without entering a new key skips the test and keeps the saved key.

Primary

Primary prefers this provider for compatible new card setups. Existing cards stay with their original provider. A card saved on Stripe cannot be charged through Adyen and vice versa (409 instrument_provider_mismatch). Switching primary changes where new cards go; it does not move anything.

2 · The signed webhook (needed for payments)

Card setup works with the credentials alone. Payments additionally need Adyen’s notifications, verified by HMAC, so Alyte can confirm captures.
  1. Adyen Customer Area → Developers → Webhooks → Standard webhook, URL:
    organizationId is your Alyte organization (org_…), shopId the shop (mrc_…), both shown in the console.
  2. Under Additional settings → HMAC key, generate a key, copy it, and Save changes on the webhook. The key is active only after the webhook is saved.
  3. Alyte enables payments for the connection with you during sandbox onboarding, using that HMAC key. Share it through the secure channel agreed at onboarding, never by email or chat. Until this is done the console shows Payments need: Sandbox payment enablement, Signed webhook connection.
  4. Keep these event codes enabled: AUTHORISATION, CAPTURE, CAPTURE_FAILED, CANCELLATION, REFUND, REFUND_FAILED, REFUNDED_REVERSED.
  5. Use Adyen’s Test configuration. Expected: 200 [accepted].

What the console checks

Each payment connection shows four lines:
  • Configuration: Saved · … — credentials and merchant account present.
  • Card setup: … — whether new cards can be saved through this connection on this deployment.
  • Card verification: Not recorded in setup — card authentication is proven per card, at setup time, never assumed from configuration.
  • Payments: … — and, when something is missing, Payments need: API key / Merchant account / Sandbox payment enablement / Signed webhook connection.
Configuration never manufactures a verified-payment badge: a connection can be fully configured and still have no proven payment until a real one completes.

Test cards

All Adyen test cards: expiry 03/2030, CVC 737.

How Adyen payments report

Adyen confirms captures asynchronously, so an agent purchase on Adyen moves through one more state than on Stripe: See Payment lifecycle and Webhooks for the event shapes.

Troubleshooting