4. Test your own integration
Before going live, verify that your integration behaves correctly in both successful and exceptional scenarios. Completing this checklist helps ensure a smooth experience.
Integration setup
- API authentication is configured correctly.
- Your integration uses the correct Service ID and credentials.
- Required order information (amount, currency, description, reference, product data etc.) is included in every payment request.
- Every order uses a unique reference.
Creating a payment
- A payment can be created successfully
- The shopper is redirected to the PAY. checkout.
- The correct payment amount is displayed.
- The correct currency is displayed.
- The order description is shown correctly.
- Duplicate payment requests do not accidentally create duplicate orders.
Payment result handling
Verify that your application correctly handles every possible payment outcome.
- Successful payment
- Cancelled payment
- Failed payment
- Pending payment
- Authorised/capture payment (when applicable)
- Verify manual review status (when applicable)
For each status, verify that:
- The correct message is shown to the shopper.
- The order status in your system is updated correctly. (Exchange calls)
- No duplicate orders are created.
- You capture authorised payment.
Exchange URL/webhook handling
- Your Exchange URL is publicly accessible.
- Your endpoint returns a successful HTTP response.
- Payment updates are processed only once, even if the same callback is received multiple times.
- Your integration does not rely solely on the customer returning to your webshop.
- Callback failures are logged for troubleshooting.
Customer return flow
- Temporary failures show a clear message to the customer.
- Verify page is shown when the transaction is in the VERIFY.
- Payment succesfull page is implemented correctly.
Refunds (if implemented)
- Full refunds work correctly.
- Partial refunds work correctly.
- Refund status is synchronised with your platform.
Webhook reliability
- Duplicate callbacks are ignored safely.
- Unknown order IDs are handled gracefully.
Testing edge cases
- Very small payment amounts.
- Large payment amounts.
- Expired payment links (if applicable).
- Customer abandons payment.
- Customer closes the browser during checkout.
- Customer uses the browser Back button.
- Payment session expires (mainly happens with 4G/5G on cellphone)
Logging
- API requests are logged (excluding sensitive data).
- API responses are logged.
- Errors can be traced using order IDs.
Production readiness
Before requesting certification or going live:
- Test mode has been disabled
- Production credentials have been configured
- The exchange URL points to the production environment.
- Monitoring is in place for feiled payments and callback errors.
- A succesful end-to-end has been completed in the production environment
Ready for certification
Your integration is ready for review when:
- All tiems in this checklist have been completed.
- All suported payment flows have been tested.
- Error scenarios has been verified
- No critical issues remain.