Hero Background

Power Your Software Testing with AI Agents and Cloud

The Native AI-Agentic Cloud Platform to Supercharge Quality Engineering. Test Intelligently and Ship Faster.

Kane CLIPayments

Test that the merchant status matches the webhook

The shopper sees one status, the back office sees another, and the notification is the third. Four steps prove all three agree.

Published on:

Payment status exists in three places: what the shopper was told, what the merchant back office displays, and what the provider notification actually said. Most integrations test the first and assume the other two.

This use case checks all three agree on the Adyeen clone, which is the only version of this test that catches a reconciliation problem.

Failure modes in this flow

Status divergence is expensive precisely because every individual screen looks correct. Nothing throws an error when two systems disagree.

  • The shopper is told authorised - with a PSP reference on the confirmation.
  • The merchant page shows authorised - against the same order reference and the same PSP reference.
  • The notification says authorised - an AUTHORISATION event with success true.
  • The parity is stated - a card comparing the UI status to the notification status directly.

The PSP reference is what ties the three together. Without asserting it on each surface, three screens reading authorised could refer to three different payments and the test would still pass.

Note

Note: One warm browser carries the run from the checkout to the merchant order page, so the comparison happens in a single test rather than across two. Try it on TestMu AI. Try free!

Writing the objective

The test takes a real payment first rather than reading an existing record, so the status being compared belongs to a transaction this run created.

---
mode: testing
url: https://my-testing-repo-main.vercel.app/adyen-clone-app/checkout?reset=true
max_steps: 45
tags: [adyen, payments, webhooks]
---

# Adyeen 13.4: Webhook status parity

Catalog objective: after a payment, verify the merchant order page shows the authorised status.
Key assertion: the UI status equals the notification status.

## Take a payment
Type nothing yet - first choose "Card", type "4111 1111 1111 1111" into "Card number", "03 / 30" into "Expiry", "737" into "CVC", and click "Pay €129.50".

## Verify the shopper result
Verify a green banner titled "Payment authorised" shows "Result code" of "Authorised" and "PSP reference" of "PSP883000001717".

## Open the merchant order page
Click "View the merchant order page" and verify "Order reference" reads "ORD-55120", "Status shown to merchant" reads "Authorised" and "PSP reference" reads "PSP883000001717".

## Verify the notification agrees
Verify the webhook list shows "AUTHORISATION · ORD-55120" with "success: true", and the parity card reads "UI status" of "Authorised", "Notification status" of "Authorised" and a badge saying "UI status matches the notification".

The final assertion reads the webhook list and the parity card together, which is what turns three separate observations into a single verified claim.

The assertions in detail

Each step moves to a different surface and asserts the same facts there.

StepWhat it proves
Take a paymentA real transaction exists for the comparison to be about
Verify the shopper resultThe shopper is shown authorised with a PSP reference
Open the merchant order pageThe back office shows the same status and the same references
Verify the notification agreesThe webhook event and the parity card confirm the match

This is a browser test doing work that is usually split between a UI test and a backend integration test, which is what makes it able to catch a divergence between them.

Next-generation test execution with TestMu AI

Running it locally

kane-cli testmd run tests/adyen/webhook-status-parity_test.md

Run it after any change to notification handling, since that is the code most likely to drift from the interface it feeds.

For checks against the provider API rather than its rendered pages, the same run can call it directly. Calling APIs inside a browser flow covers that, and evidence based QA covers keeping the proof a reconciliation dispute needs.

Author

...

Bhawana

Blogs: 75

  • Twitter
  • Linkedin

Bhawana is a Community Evangelist at TestMu AI with over 3 years of experience creating technically accurate, strategy-driven content in software testing. She has authored 50+ blogs on test automation, cross-browser testing, mobile testing, and real device testing. She also serves as Product Marketing Manager for Kane CLI, the command-line tool that runs browser automation from the terminal using natural-language flows in a real Chrome browser. Bhawana is certified in KaneAI, Selenium, Appium, Playwright, and Cypress, reflecting her hands-on knowledge of modern automation practices. On LinkedIn, she is followed by 6000+ QA engineers, testers, AI automation testers, and tech leaders.

Add to Google preferred sources

Summarise with AI

Copied to Clipboard!
...

3000+ Browsers. One Platform.

See exactly how your site performs everywhere.

Try it free
...

Write Tests in Plain English with KaneAI

Create, debug, and evolve tests using natural language.

Try for free

Webhook Parity FAQs

Did you find this page helpful?

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests