跳到主要内容

WebSocket API

通过 WebSocket 获取实时支付状态更新。

连接

const ws = new WebSocket('wss://ws.pelago.tech/v1');

ws.onopen = () => {
ws.send(JSON.stringify({
type: 'authenticate',
apiKey: 'pk_live_xxxxx'
}));
};

订阅支付

ws.send(JSON.stringify({
type: 'subscribe',
channel: 'payment',
paymentId: 'pay_abc123'
}));

事件

支付状态变更

{
"type": "payment.status_changed",
"data": {
"paymentId": "pay_abc123",
"status": "completed",
"transactionHash": "abc123..."
}
}

支付已确认

{
"type": "payment.confirmed",
"data": {
"paymentId": "pay_abc123",
"confirmations": 1
}
}

SDK 用法

import { createPaymentStream } from '@pelago/sdk';

const stream = createPaymentStream({
apiKey: 'pk_live_xxxxx',
paymentId: 'pay_abc123'
});

stream.on('status_change', (data) => {
console.log('新状态:', data.status);
});

stream.on('error', (error) => {
console.error('错误:', error);
});

// 清理资源
stream.close();

心跳

每 30 秒发送一次 ping:

setInterval(() => {
ws.send(JSON.stringify({ type: 'ping' }));
}, 30000);