Saltar al contenido principal

Seller balance

A Bob le pagaron. Pero él no inicia sesión en Ishtaran para revisarlo — el propio dashboard de vendedor de Mercatto se lo muestra, usando las credenciales propias de Mercatto para consultarlo.

examples/marketplace-mercatto/withdraw.ts
export async function checkSellerBalance(ctx) {
const balance = await ctx.mercatto.ledger.getBalance(ctx.bobAccountId, ctx.assetNetworkId);
console.log(`Bob available=${balance.available} pending=${balance.pending} reserved=${balance.reserved}`);
return balance;
}

Resultado

{ "available": "178.380000000000000000", "pending": "0", "reserved": "0" }

Coincide exactamente con la asignación de Settlement de Bob de Settlement and Split.

Qué pasó por debajo

Esto no es una simplificación — es comportamiento real y confirmado en vivo de la plataforma: la propia sesión de AccountHolder de Bob no puede llamar a Ledger en absoluto. Cada ruta financiera (Ledger, Transactions, Deposits, Settlement, Withdrawals) requiere un Member JWT o una Application API Key — nunca un AccountHolder JWT. El propio login de Bob, de Seller onboarding, está limitado a self-service de identidad únicamente (GET /accountholders/me, reclamar más invitaciones). Así que Mercatto genuinamente tiene que ser quien pregunta — exactamente como el backend de un marketplace real llamando a su proveedor de pagos en nombre del vendedor, nunca el navegador del vendedor llamándolo directamente. Ver Known Limitations §F.10.