const ws = new WebSocket(
"wss://domain/ws?token=<client_token>&user_id=user-123"
);
ws.onopen = () => {
console.log("Connected to Proof WebSocket");
};
ws.onmessage = (event) => {
const msg = JSON.parse(event.data);
if (msg.event === "tx.update") {
console.log("Transaction:", msg.merchant_transaction_id);
console.log("Status:", msg.status);
if (["completed", "failed", "cancelled"].includes(msg.status)) {
ws.close();
handleFinalStatus(msg);
}
}
};
ws.onclose = () => {
// Reconnect with exponential backoff
setTimeout(reconnect, 2000);
};
ws.onerror = (error) => {
console.error("WebSocket error:", error);
};