Skip to content

fix(web): show the prices Dhanam charges; no trial or promo it cannot run - #272

Merged
madfam-io merged 3 commits into
mainfrom
fix/catalog-prices-no-promo
Oct 14, 2026
Merged

madfam-io merged 3 commits into
mainfrom
fix/catalog-prices-no-promo

Conversation

@madfam-io

Copy link
Copy Markdown
Contributor

Summary

Owner ruling 2026-10-14. The pricing page's headline price was a 3-month promo: MXN 31 / 32 / 33 a month, with "then MXN 199 / 599 / 1,999" in a footnote. It also offered a 3 + 21 day free trial, and the plan comparison showed the same promo. Dhanam's checkout can do neither: its trial switch is off and only covers Dhanam's own plans, and it has no promo prices. A buyer would have seen MXN 31 and been charged MXN 199.

Changes

  • Prices from Dhanam's catalog (lib/dhanam-catalog.ts). These are the amounts checkout charges: Essentials / Academic / Institutional at MXN 199 / 599 / 1,999 a month, once the catalog adopts Tezca's ladder (dhanam#838). While prices load, the card says so. If the catalog is unreachable, the card says the price is shown at checkout, never a typed figure. The plan comparison table uses the same source.
  • No promo or trial. The promo banner, the promo footnotes and the trial CTA are removed. Paid CTAs read "Suscribirme" / "Subscribe" and go to Dhanam's hosted checkout (getCheckoutUrl, no mode=trial_cc).
  • FAQ. There is no free trial for now (Free Member is free). Cancelling keeps the plan active until the end of the paid period (owner ruling L2). The Nahuatl page reuses the Spanish text for these two answers.
  • lib/pricing.ts, which held the typed PRICING / PROMO constants, is deleted.

Merge order

Merge after dhanam#838 merges and the owner has run the production catalog sync.

Merging earlier is safe, just degraded. The catalog would not have the three tiers yet, so the cards would read "Precio al pagar", and Dhanam's checkout falls back to Kalya for an unknown plan.

Verification

  • apps/web vitest: 105 files, 950 tests passed. This includes the updated pricing-page tests: catalog prices shown, no $31 or promo footnote, no typed price when the catalog is down, CTAs without a trial. It also includes 3 new tests for the catalog helper.
  • tsc --noEmit: clean. eslint on the touched files: clean.

🤖 Generated with Claude Code

aldoruizluna and others added 3 commits October 14, 2026 00:57
… run

Owner ruling 2026-10-14. The pricing page's headline price was a 3-month
promo (MXN 31 / 32 / 33 a month) with a 3 + 21 day free trial, and the plan
comparison showed the same promo. Dhanam's checkout runs neither: its trial
switch is off and only covers Dhanam's own plans, and it has no promo price.
A buyer would have seen MXN 31 and been charged MXN 199.

- Prices now come from Dhanam's public catalog (lib/dhanam-catalog.ts), the
  amounts checkout charges: Essentials / Academic / Institutional at MXN
  199 / 599 / 1,999 once the catalog adopts Tezca's ladder (dhanam#838).
  While loading the card says so; if the catalog is unreachable it says the
  price is shown at checkout, never a typed figure.
- The promo banner, promo footnotes and trial CTA are removed. Paid CTAs say
  "Suscribirme" / "Subscribe" and go to Dhanam's hosted checkout without
  trial mode.
- FAQ: no free trial for now (Free Member is free); cancelling keeps the
  plan active until the end of the paid period (owner ruling L2). The
  Nahuatl page reuses the Spanish text for these changed answers.
- lib/pricing.ts (the typed PRICING / PROMO constants) is deleted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nothing imports lib/pricing.ts any more: prices come from Dhanam's catalog.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Dhanam's catalog lists MXN prices before IVA; its checkout charges the
IVA-inclusive total (rule ceil_whole_peso_iva, owned by Dhanam). The
pricing cards and the plan comparison showed the net with no label, and
the FAQ said "Los precios mostrados no incluyen IVA. El impuesto se calcula
al momento del pago segun tu ubicacion". Mexican consumer law (LFPC
Art. 7 Bis) asks for the total price, taxes included.

- lib/dhanam-catalog.ts reads `grossPrices.MXN.monthly`, the block Dhanam
  is adding next to `prices`, and labels it "IVA incluido" / "VAT
  included". While the catalog has no `grossPrices`, it shows the net
  labelled "+ IVA" / "+ VAT", never a bare figure. The gross is never
  computed here, so the rounding rule stays in Dhanam. Nahuatl pages use
  the Spanish term.
- The FAQ answer (es/en, and the FAQPage JSON-LD) follows the cards:
  IVA included, "+ IVA" not included, or, with no price shown, that the
  checkout charges the total with IVA.
- The home hero link said "Desde MXN$31/mes" and the /precios metadata
  "Prueba gratis por 3 dias. Planes desde MXN$31/mes", leftovers of the
  promo and trial this PR removes. The link now reads "Ver planes y
  precios"; the metadata carries no figure.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@madfam-io

Copy link
Copy Markdown
Contributor Author

Added 6c4d45dc: prices now carry their tax label. Dhanam's grossPrices is shown as 'IVA incluido'; until dhanam#842 deploys, the net price is shown as '+ IVA' (VAT in English; the Nahuatl page uses the Spanish term). The FAQ no longer says prices exclude IVA, and its answer and FAQPage JSON-LD match the cards. Two leftover MXN$31 promo and trial mentions are removed (Hero.tsx, precios/layout.tsx). vitest 961, tsc, lint and the build pass.

@madfam-io
madfam-io merged commit 9808001 into main Oct 14, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants