CRITICAL FINANCIAL BUGS FIXED:
1. Stripe price creation was sending dollars instead of cents
- create_price() now converts $2.00 -> 200 cents
- Was sending "2.00" to unit_amount_decimal (0.02 dollars!)
- Now correctly sends "200.00" (2 dollars in cents)
2. VISP sync was using floating point arithmetic for MRR
- calculate_total_mrr() was using 0.0 accumulator and float math
- Now uses Decimal.new("0") and Decimal.add() throughout
- Prevents precision loss when summing subscriber MRR
All money calculations now use Decimal library to avoid floating
point precision errors. Amounts are only converted to cents (integers)
at the boundary when sending to Stripe API.
|
||
|---|---|---|
| .. | ||
| mix/tasks | ||
| snmpkit | ||
| towerops | ||
| towerops_web | ||
| snmp_lib.ex | ||
| snmp_mgr.ex | ||
| snmpkit.ex | ||
| towerops.ex | ||
| towerops_native.ex | ||
| towerops_web.ex | ||