Go-live checklist
Everything to check before you accept live payments with Vayapay.
Work through this checklist when your integration works in test mode. Each item links to the page with the details.
Your integration
Make sure every integration covers these basics:
- Create orders with an amount in the smallest currency unit and an ISO 4217 currency code.
- Send a
return_url, so your customer comes back to your website after paying. - Handle webhooks, and respond with a
2xxstatus within 4 seconds. - Retrieve the order from the API before you deliver. Never rely on the redirect alone. See Confirm the payment.
- Base your business logic on the order status, not on the transaction status.
- Check the status of orders that aren't final after a while, in case a webhook is delayed or lost.
- Handle declines and errors.
- Keep your API key on your server, out of your code, browsers, apps and repositories.
Also check what's specific to your integration:
- Payment links: the webhooks are about the orders created from a link. Check the link status for the result.
- Hosted payment page: your customer can close the browser before the redirect; the webhook still updates your order.
- Mobile apps: the API key is only on your backend, never in your app.
- Your own checkout: you redirect your customer to the
redirect_urlfor 3-D Secure, and Apple Pay and Google Pay work on your production domain. For card payments, your PCI DSS compliance covers your checkout, and card data never ends up in your logs.
Test every payment flow
Test each payment method you plan to offer, and each flow you've built, before you go live. Include unhappy paths:
- A declined payment.
- A payment your customer cancels.
- An order that expires before your customer pays.
- A webhook that fails the first time.
- The flows your business needs, such as pre-authorizations, refunds or recurring payments.
Use the test data for card numbers and amounts that trigger specific results.
Go live
When your tests pass:
- Make sure your live project is active, with the payment methods you need.
- Replace the test API key with the API key of the live project in your production configuration.
- Check that the webhook URL of the live project points at your production server.
- Make a small real payment and refund it, to confirm the full flow works end to end.
Support
Check the FAQ for common questions and errors.