api/routes/check-balance.ts — collectCreationFee()
- Atomic lock:
FOR UPDATE SKIP LOCKED→ prevents double-collection - Platform-direct cheques → waived
- Merchant fee wallet check → waived if not set up
checkMerchantLimits()→ log error if exceeded, leave pending- SPL transferChecked:
merchant_fee_wallet → platform_wallet - Success →
collected+tx_hash
Failure →pending+collection_error(cheque unaffected)