WebSocket API
Real-time payment status updates via WebSocket.
Connection
const ws = new WebSocket('wss://ws.pelago.tech/v1');
ws.onopen = () => {
ws.send(JSON.stringify({
type: 'authenticate',
apiKey: 'pk_live_xxxxx'
}));
};
Subscribe to Payment
ws.send(JSON.stringify({
type: 'subscribe',
channel: 'payment',
paymentId: 'pay_abc123'
}));
Events
Payment Status Change
{
"type": "payment.status_changed",
"data": {
"paymentId": "pay_abc123",
"status": "completed",
"transactionHash": "abc123..."
}
}
Payment Confirmed
{
"type": "payment.confirmed",
"data": {
"paymentId": "pay_abc123",
"confirmations": 1
}
}
SDK Usage
import { createPaymentStream } from '@pelago/sdk';
const stream = createPaymentStream({
apiKey: 'pk_live_xxxxx',
paymentId: 'pay_abc123'
});
stream.on('status_change', (data) => {
console.log('New status:', data.status);
});
stream.on('error', (error) => {
console.error('Error:', error);
});
// Cleanup
stream.close();
Heartbeat
Send ping every 30 seconds:
setInterval(() => {
ws.send(JSON.stringify({ type: 'ping' }));
}, 30000);