QubixPay Gateway – Merchant Integration
QubixPay ko aap Razorpay/Stripe ke tarah integrate kar sakte ho. Aapko sirf Key ID + Secret chahiye (server-side).
1) API keys (dashboard se)
Dashboard me login karke “Generate API Key” se aapko Key ID (zk_...) aur Secret (zs_...) milega. Secret ko kabhi browser me expose mat karein.
2) Create order (server-to-server)
Aapke server se POST /v1/orders call hota hai. Response me aapko paymentUrl milega jise customer ko open/redirect karna hai.
import { createOrder } from '../sdk/node/qubixpay.js';
app.post('/checkout', async (req, res) => {
const order = await createOrder({
baseUrl: process.env.QUBIXPAY_BACKEND_URL,
keyId: process.env.QUBIXPAY_KEY_ID,
secret: process.env.QUBIXPAY_SECRET,
amount: 499,
description: 'Order #123',
meta: { storeOrderId: '123' }
});
res.redirect(order.paymentUrl);
});
3) Webhooks
Payment complete hone par QubixPay aapke webhook URL par events bhejta hai: payment.success, payment.failed, refund.required.
app.post('/qubixpay/webhook', express.json(), (req, res) => {
const evt = req.body;
// evt.event, evt.orderId, evt.amount, evt.status, evt.paymentId
if (evt.event === 'payment.success') {
// mark your order paid
} else if (evt.event === 'refund.required') {
// customer paid late → refund required
} else if (evt.event === 'payment.failed') {
// mark failed
}
res.status(200).send('OK');
});
4) Verify QubixPay webhook signature
QubixPay outgoing webhook headers: x-zapupi-ts, x-zapupi-signature. Signature formula: HMAC_SHA256(webhookSecret, `${ts}.${body}`)
5) Test console
Test console se aap manually Key ID + Secret daal ke order create kar sakte ho, aur checkout flow test kar sakte ho.