# Merchant landing (`taler.hacktivism.ch` intro)

Static intro for the **GOA merchant** backend (dual currency GOA + CHF).

| Item | Value |
|------|--------|
| Container | `taler-hacktivism` |
| In-container path | `/var/www/merchant-landing/` |
| nginx | listen **9015** (`nginx-landing.conf`) |
| **Host port to publish / wire** | **`9015`** → `127.0.0.1:9015` |
| Public path | `https://taler.hacktivism.ch/intro/` |

## Features (page)

| Piece | Notes |
|-------|--------|
| Wallet fold | Collapsed “Get the wallet · Android / iOS / web browsers” |
| Web icons | Chrome · Firefox · Opera · Ubuntu Touch (gold+blue; [taler.net wallet](https://www.taler.net/de/wallet.html)) |
| GOA shop samples | `data-product` buttons → public template pay (`goa-shop` instance) |
| Link previews | Open Graph / Twitter meta → `og-goa-shop.png` (1200×630) for chats & social |
| Shop pay popup | `shop-pay.js` / `shop-pay.css` — **QR_Taler** (blue ring + `qr-logo.svg`), settlement payto expandable |
| Get GOA first | Hint + link to bank (plain “pay here”) |
| Stats | Dual-currency aggregates; **recent activity** split GOA/CHF (≤5 each); refund badge violet |
| Performance | Live HTTP probes + container RSS |

Shop product ids/amounts must stay in sync with
`scripts/taler-monitoring/check_e2e.sh` → `E2E_SHOP_PRODUCTS`
(e2e random-picks **2** products per run by default).

## Deploy

```bash
podman cp configs/merchant-landing/index.html \
  taler-hacktivism:/var/www/merchant-landing/index.html
podman cp configs/merchant-landing/og-goa-shop.png \
  taler-hacktivism:/var/www/merchant-landing/og-goa-shop.png
podman cp configs/merchant-landing/shop-pay.js \
  taler-hacktivism:/var/www/merchant-landing/shop-pay.js
# shop-pay.css, qr-logo.svg, qrcode.min.js as needed
```

Also see `scripts/taler-landing/deploy-landings.sh` if present.
