Power Your Software Testing with AI Agents and Cloud
The Native AI-Agentic Cloud Platform to Supercharge Quality Engineering. Test Intelligently and Ship Faster.
- TestMu AI (Formerly LambdaTest)
- /
- Use Cases
- /
- Test that the merchant status matches the webhook
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: 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.
| Step | What it proves |
|---|---|
| Take a payment | A real transaction exists for the comparison to be about |
| Verify the shopper result | The shopper is shown authorised with a PSP reference |
| Open the merchant order page | The back office shows the same status and the same references |
| Verify the notification agrees | The 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.
Running it locally
kane-cli testmd run tests/adyen/webhook-status-parity_test.mdRun 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 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.
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




