// Webhook endpoint to receive payment notifications
app.post('/webhooks/rebell', express.json(), (req, res) => {
// 1. Verify the signature (see Authentication docs)
if (!verifySignature(req)) {
return res.status(401).json({ result: { resultStatus: 'F' } });
}
const { paymentId, paymentRequestId, paymentStatus, paymentAmount } = req.body;
// 2. Process the payment result
if (paymentStatus === 'SUCCESS') {
// Update order status, trigger fulfillment, etc.
updateOrderStatus(paymentRequestId, 'paid');
} else if (paymentStatus === 'FAIL') {
updateOrderStatus(paymentRequestId, 'failed');
}
// 3. Acknowledge receipt
res.json({ result: { resultStatus: 'S' } });
});