@cosmosapp/pay_sdkServidor
Tratamento de erros & observabilidade
As classes de erro que o SDK lança, seu comportamento de retry e os eventos de telemetria nos quais você pode se conectar.
Tudo o que o SDK pode lançar é um erro tipado que você pode capturar, e toda chamada de rede emite telemetria que você pode observar.
Erros
import { CosmosPayAPIError, CosmosPayRequestError } from '@cosmosapp/pay_sdk';
try {
await client.paymentIntents.fetch('missing');
} catch (err) {
if (err instanceof CosmosPayAPIError) {
// server responded with an error status
console.error(err.status, err.code, err.body); // e.g. 404
} else if (err instanceof CosmosPayRequestError) {
// no usable response (network / TLS / timeout / offline)
console.error('Network/timeout:', err.cause);
} else {
throw err;
}
}CosmosPayAPIError: a API respondeu com 4xx/5xx. Campos:status,code,body.CosmosPayRequestError: a requisição nunca foi concluída. Campo:cause.- O cliente web adiciona:
CosmosPayWebError,WalletNotFoundError,WalletError(usuário recusou / bloqueado),StellarSdkRequiredError,IntentError. As classes de erro da API também são reexportadas de/web, então ocatchfunciona em todos os pontos de entrada. - Falhas de assinatura de webhook lançam
WebhookSignatureError.
Retries
Falhas transitórias (erros de rede, 408, 429, 5xx) são repetidas
automaticamente, com padrão de 2 retries, respeitando Retry-After. Ajuste via
new Client({ retries, timeout }).
Observabilidade
O cliente reemite telemetria REST:
client.on('request', ({ method, url, attempt }) => {});
client.on('response', ({ method, url, status, attempt }) => {});
client.on('rateLimited', ({ method, url, attempt }) => {});
client.on('debug', (message) => {});Conecte-os ao seu logger/APM para rastrear ou medir cada requisição.
Referências
- REST: A camada HTTP
- Client: O ponto de entrada principal do SDK, um único cliente atômico que expõe cada recurso por meio do seu próprio gerenciador (um design atômico de cliente único).
- WebhookSignatureError: Lançado quando a assinatura de um webhook falha na verificação.
- CosmosPayWebError: Classe base para todos os erros lançados pelo
@cosmosapp/pay_sdk/web. - WalletNotFoundError: Nenhuma carteira Stellar compatível pôde ser detectada no ambiente atual.
- WalletError: Uma carteira foi encontrada, mas a operação falhou (usuário recusou, bloqueado, etc.).
- StellarSdkRequiredError: Montar uma transação
pay(ou enviá-la ao Horizon) requer o Stellar SDK, que é uma peer dependency opcional - IntentError: A intenção / requisição SEP-7 não pôde ser interpretada ou está com dados faltando.