Configure Laravel
Create an organization access token and a webhook endpoint secret, then add them to.env:
Terminal
OURPAY_API_URL to https://api.ourpay.dev only when you are ready to use live data.
Expose the values through config/services.php so cached Laravel configuration works correctly:
2026-10 API version with the OurPay-Version header.
List products
Register a route:Create a hosted checkout
Register the checkout and confirmation routes:Verify webhooks
Create an endpoint in the dashboard under Settings → Webhooks, select the events your app needs, and point it athttps://your-app.example/api/webhook/ourpay.
Register the route:
{webhook-id}.{webhook-timestamp}.{raw-body} and can send more than one versioned
signature in the header.
webhook-id with a unique constraint before performing
side effects, and dispatch slow fulfillment work to a queue only after verification succeeds.
For local testing, expose Laravel with a tunnel such as ngrok http 8000, then use the HTTPS URL
as the webhook endpoint. Keep the same raw-body and signature checks enabled in every environment.