Fix 6 bugs from code review
Critical: - Single-order discount used wrong column names (discount_pct/discount_flat_cents → discount_type/discount_value). Discounts were silently $0. - Single-order discount skipped allowed_emails and expires_at checks - Free orders now set paid_at = NOW() High: - Discount usage now tracked in discount_usage table + current_uses incremented - Flat discount only replaces bundle when flat >= bundle (was always replacing) Minor: - Removed unused CDR profile fetch in EntityStep Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
4125b0f09f
commit
d4c4ae003e
3 changed files with 49 additions and 16 deletions
|
|
@ -924,7 +924,7 @@ router.post("/api/v1/checkout/create-session", async (req, res) => {
|
|||
if (zt) {
|
||||
const whereCol = order_type === "compliance_batch" ? "batch_id" : "order_number";
|
||||
await pool.query(
|
||||
`UPDATE ${zt} SET payment_status = 'paid', payment_method = 'free', surcharge_cents = 0, surcharge_pct = 0 WHERE ${whereCol} = $1`,
|
||||
`UPDATE ${zt} SET payment_status = 'paid', payment_method = 'free', paid_at = NOW(), surcharge_cents = 0, surcharge_pct = 0 WHERE ${whereCol} = $1`,
|
||||
[order_id],
|
||||
);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue