# Install on Astro

Astro has no official plugin. Put the snippet in the shared layout so every page loads it once. Fire pageview in the browser, not in getStaticPaths. Amount is rand. zarstat() is an alias for cashline().

## Base layout

src/layouts/Base.astro (or your layout). Host /cashline.js on this origin when you can.

```
<script is:inline>
  window.cashline = window.cashline || function () {
    (window.cashline.q = window.cashline.q || []).push(arguments);
  };
</script>
<script is:inline src="https://YOUR_ORIGIN/cashline.js" data-site="YOUR_SITE"></script>
<script is:inline>cashline('pageview');</script>
```

## Paystack visitor_id

Read identity in the browser and put visitor_id on Paystack initialize metadata. Fire purchase after verify. See /docs/paystack.

```
const id = cashline('identity');
cashline('purchase', { amount: 199, currency: 'ZAR', reference: 'PS_REF' });
```
