Cotações e arredondamento
Toda intenção de pagamento é denominada em moeda fiduciária (EUR, USD, BRL ou GBP). Antes de o cliente
pagar, esse valor precisa virar um valor exato de um criptoativo.
Pagamentos live: a taxa do processador
Seção intitulada “Pagamentos live: a taxa do processador”Os pagamentos live são processados pela conta Bitcart da plataforma. Quando o checkout abre a fatura Bitcart
(POST /v1/public/checkout-sessions/{id}/processor-invoice), a Bitcart precifica o valor fiduciário da intenção em
cada ativo aceito. Cada entrada de processor.methods da sessão traz:
amount— o valor decimal exato a enviar naquele ativo;rate— a taxa de câmbio usada pela Bitcart (moeda da fatura por unidade do ativo);addressepayment_url— onde pagar, e uma URI de carteira para QR codes;divisibilitye, para tokens,contract.
O checkout identifica a taxa como a taxa de câmbio da Bitcart. O FeitPay não a define, não acrescenta spread a ela e não a oferece como referência de preço. A fatura expira junto com a janela de pagamento da intenção.
Cotações no processamento somente de observação
Seção intitulada “Cotações no processamento somente de observação”No processamento somente de observação (veja Carteiras; esta plataforma não o usa para pagamentos), o próprio gateway emite uma cotação quando o cliente escolhe uma rede e um ativo: uma conversão imutável e versionada do seu valor fiduciário para um valor exato do ativo, travada por tempo limitado.
{ "id": "qt_01J…", "object": "quote", "network_id": "bitcoin:mainnet", "asset_id": "btc", "asset_symbol": "BTC", "decimals": 8, "fiat_amount": "59.90", "fiat_currency": "EUR", "asset_amount": "0.00099834", "asset_amount_base_units": "99834", "rate": "60000.00", "spread_bps": 0, "rounding_policy": "ceil_to_asset_base_unit", "required_confirmations": 3, "status": "active", "network_fee_paid_by": "customer", "platform_fee_billed_separately": true}(Resumido; os valores acima são ilustrativos e não são um preço.)
Política de arredondamento: ceil_to_asset_base_unit
Seção intitulada “Política de arredondamento: ceil_to_asset_base_unit”O valor do ativo é calculado com aritmética racional exata e arredondado para cima até a próxima unidade base (satoshi, unidade do token), para que o lojista nunca receba menos do que o valor faturado por causa do arredondamento:
units = ceil( fiat_amount / rate × 10^decimals × (1 + spread_bps / 10 000) )59.90 / 60000 × 10^8 = 99833.33… → 99834 satsNenhuma etapa usa ponto flutuante binário. Se a divisão for exata, nada é acrescentado.
Fontes, defasagem e falhas
Seção intitulada “Fontes, defasagem e falhas”O projeto exige uma fonte de mercado primária mais uma fonte secundária de verificação, rejeita preços defasados e
preços que se desviem além de um limite, e falha de forma fechada: se não houver uma taxa confiável, nenhuma
cotação é emitida. A cotação registra rate_source, secondary_source e deviation_bps como evidência.
Expiração e atualização
Seção intitulada “Expiração e atualização”Cada cotação tem locked_at e expires_at. Uma transferência vista pela primeira vez antes de expires_at conta
como pontual mesmo que confirme depois. Após a expiração, o checkout oferece Atualizar cotação
(POST /v1/public/checkout-sessions/{id}/refresh-quote), que substitui a cotação antiga por uma nova na mesma
rede e no mesmo endereço. O próprio expires_at da intenção continua limitando por quanto tempo o cliente pode
pagar.
Quem paga o quê
Seção intitulada “Quem paga o quê”- O valor do ativo é o que o cliente precisa enviar.
- As taxas de rede são pagas pelo remetente, além desse valor.
- As taxas da plataforma são cobradas do lojista separadamente — nunca descontadas do pagamento.