Skip to main content

Verify the Integration

Validate your payment integration end-to-end. Test success, failures, 3D Secure flows, and ensure webhooks are working correctly before moving to production.

After implementing your first payment, you must verify that your integration works reliably across the full payment lifecycle.

What to Verify

A successful integration is more than just a successful payment—it must handle all key scenarios.

1. Successful Payments

Confirm that:

  • The payment completes successfully

  • The frontend receives a success response

  • The user experience is correct

2. Webhook Handling (Critical)

Adyen sends webhooks with the final payment status.

Verify that:

  • Your webhook endpoint is reachable

  • You receive events such as AUTHORISATION

  • Your system updates payment status correctly

Without webhooks, your integration is incomplete.

3. Failure Scenarios

Test common failure cases:

  • Refused payments

  • Invalid card details

  • Cancelled payments

Ensure your system:

  • Handles errors gracefully

  • Displays appropriate messages

4. 3D Secure / Additional Actions

Some payments require extra steps.

Verify that:

  • Redirects or challenges work correctly

  • The user returns to your application

  • The payment completes after authentication

5. Environment Configuration

Double-check:

  • You are using test credentials

  • You are calling test endpoints

  • No live configuration is mixed in

6. Store ID and Configuration

Ensure:

  • Store ID is always included

  • Merchant account is correct

  • Payment methods appear as expected

7. Logs and Debugging

Review:

  • Backend logs (API calls, errors)

  • Frontend logs (Drop-in events)

  • Webhook payloads

This helps identify hidden issues early.

Before Going Live

Before moving to production, confirm:

  • ✅ End-to-end flow works

  • ✅ Webhooks are processed correctly

  • ✅ Error handling is implemented

  • ✅ No test-only configurations remain

Key Takeaway

A working payment is not enough—your integration must correctly handle success, failure, and asynchronous updates before going live.

Did this answer your question?