Learn about PayFlow's security measures and how to keep your integration secure.
All data encrypted in transit and at rest
Bank-level security standards
Advanced fraud prevention systems
Continuous security assessments
Webhooks are a critical part of your payment flow. Follow these security practices:
Always verify webhook signatures to ensure they come from PayFlow:
// Verify webhook signature
const signature = req.headers['x-payflow-signature'];
const payload = req.body;
const expectedSignature = crypto
.createHmac('sha256', webhookSecret)
.update(JSON.stringify(payload))
.digest('hex');
if (signature !== expectedSignature) {
return res.status(400).json({ error: 'Invalid signature' });
}Always use HTTPS for your webhook endpoints to encrypt data in transit.
Implement idempotency to handle duplicate webhook deliveries safely.