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);