---
title: Betaalpagina
description: Zo werkt de betaalpagina van Coinetic: openen op uw website en in een mobiele app, crypto betalingen accepteren en de klant veilig terugsturen.
url: https://coinetic.money/nl/docs/checkout/
lang: nl
---

# Betaalpagina

De betaalpagina bouwen wij. Uw server stuurt de klant er alleen naartoe — via de `checkout_url` uit het antwoord bij het aanmaken van de factuur.

## Wat de klant ziet

- Het orderbedrag en een timer met de looptijd van de factuur.
- Een keuze van de valuta — alleen de assets van de factuur die op dat moment beschikbaar zijn.
- Na de keuze: een QR-code, het exacte bedrag met een knop ‘Kopiëren’, het adres, een waarschuwing over het netwerk en een link ‘Openen in wallet’ (BIP21, EIP-681, Solana Pay, TRON).
- De status werkt zichzelf bij: ‘Betaling gevonden’ → ‘Bevestigingen 7/20’ → ‘Betaling ontvangen’.
- Een knop ‘Terug naar de winkel’ — uw `return_url`.

Zolang er nog niets is betaald, kan de klant van valuta wisselen. Na de eerste betaling ligt de valuta vast. Voor een volatiele asset loopt een koerstimer (20 minuten); is die verlopen, dan worden bedrag en adres verborgen.

De pagina is beschikbaar in het Russisch en het Engels, met een licht en een donker thema — volgens de instellingen van het apparaat.

## Hoe u de pagina opent

| Waar | Hoe |
| --- | --- |
| Website | Doorsturen in hetzelfde tabblad: `303 See Other` vanaf uw server of `location.href` |
| iOS | `ASWebAuthenticationSession` of `SFSafariViewController` |
| Android | Chrome Custom Tabs (`androidx.browser`) |
| Telegram-bot | Inline-knop met een link naar `checkout_url` |
| **Niet gebruiken** | `iframe`, `WKWebView`, `WebView`: geen adresbalk (phishing is niet te onderscheiden) en links naar wallets werken onbetrouwbaar. De pagina verbiedt insluiten (`frame-ancestors 'none'`) |

> **Mobiele apps.** De app roept de Coinetic-API niet rechtstreeks aan en bewaart het secret van de sleutel niet — dat haalt iemand binnen enkele minuten uit de build. Uw server maakt de factuur aan op verzoek van de app en geeft de app alleen de `checkout_url`.

## De klant terugsturen

- De klant kan terugkeren vóór de betaling, tijdens de bevestigingen of helemaal niet. Uw orderpagina mag daar niet van afhangen.
- In de `return_url` kunt u het ordernummer meegeven, maar **haal de status uit uw eigen database** — die wordt bijgewerkt door de webhook. Is de order nog niet betaald, controleer dan opnieuw via `GET /v1/invoices/{id}`.
- Geef voor apps een universele link mee (Universal Links / App Links): `https://shop.example/app/orders/ORDER-1001`. Eigen schema's (`myapp://`) worden niet geaccepteerd.

## Veelvoorkomende situaties

| Situatie | Wat te doen |
| --- | --- |
| De klant heeft het tabblad gesloten | Zet in de order een link ‘Doorgaan naar betalen’ naar `checkout_url` — de factuur blijft geldig tot `expires_at` |
| De factuur is verlopen | Een nieuwe factuur met een nieuw `order_id` (bijvoorbeeld `ORDER-1001-2`) en een nieuwe `Idempotency-Key` |
| Onderbetaling | ‘Betaal het restant bij op hetzelfde adres’ — de betaalpagina toont het resterende bedrag |
| Betaling na de vervaldatum | Het geld is ontvangen, de beslissing ligt bij u: de order leveren of een terugbetaling doen |
| AML-controle | Laat de klant weten dat de betaling wordt gecontroleerd; wacht op `invoice.paid` |
