SkjölunTaktu við greiðslum
Greiðslugluggi á þinni síðu
Opnaðu greiðslusíðu Kling sem glugga ofan á þinni eigin vefsíðu með @klingis/embed, svo viðskiptavinir greiða með korti án þess að fara af síðunni.
Greiðsluglugginn opnar greiðslusíðu Kling í glugga ofan á þinni síðu. Þjónninn þinn býr til greiðsluferli með leynilyklinum; vafrinn opnar það með @klingis/embed. Kortaupplýsingar fara beint til Kling og koma aldrei við síðuna þína.
Uppsetning
npm install @klingis/embedEða notaðu script-tag, ekkert byggingarskref:
<script src="https://api.kling.is/v1/kling.js"></script>1. Búðu til greiðsluferli á þjóninum
// t.d. route handler í Next.js: app/api/checkout/route.ts
export async function POST() {
const res = await fetch("https://api.kling.is/v1/checkout/sessions", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.KLING_SECRET_KEY}`,
"Content-Type": "application/json",
},
// Krónan hefur enga aukastafi: 5000 þýðir 5.000 kr.
body: JSON.stringify({ amount: 5000, currency: "ISK" }),
});
const session = await res.json();
return Response.json({ sessionId: session.id });
}2. Opnaðu gluggann í vafranum
import { Kling } from "@klingis/embed";
const kling = Kling.init({ locale: "is" });
const { sessionId } = await fetch("/api/checkout", { method: "POST" }).then((r) => r.json());
const result = await kling.checkout({
sessionId,
onSuccess: (res) => console.log("Greitt", res.sessionId, res.paymentStatus),
onError: (err) => console.log("Mistókst", err.code, err.message),
onCancel: () => console.log("Lokað"),
});Með script-taginu er Kling aðgengilegt beint:
<script src="https://api.kling.is/v1/kling.js"></script>
<script>
const kling = Kling.init();
kling.checkout({ sessionId: "cs_..." });
</script>Stillingar
Kling.init(options):
| Stilling | Sjálfgefið | Lýsing |
|---|---|---|
locale |
greint sjálfkrafa | is eða en |
baseUrl |
https://pay.kling.is |
Slóð greiðslusíðunnar, fyrir þróun |
apiUrl |
https://api.kling.is |
Slóð API-sins |
kling.checkout(options):
| Stilling | Lýsing |
|---|---|
sessionId |
Nauðsynlegt. Greiðsluferlið sem þjónninn bjó til |
onSuccess |
Kallað þegar greiðsla tekst |
onError |
Kallað þegar greiðsla mistekst |
onCancel |
Kallað þegar viðskiptavinurinn lokar glugganum |
showSuccessScreen |
Sýna staðfestingarskjá Kling (sjálfgefið true) |
kling.checkout() skilar stýringu: bíddu eftir henni (await) til að fá niðurstöðuna, eða kallaðu á .close() til að loka glugganum. kling.preload({ sessionId }) byrjar að hlaða áður en smellt er, svo glugginn opnast hraðar.
Staða greiðslunnar í vafranum
onSuccess og niðurstaðan innihalda paymentStatus:
paid: greiðsla með korti eða veski fór í gegn.awaiting_claim: krafa var send í heimabanka og viðskiptavinurinn greiðir hana seinna. Ekki afhenda strax.
Notaðu niðurstöðuna í vafranum bara til að uppfæra viðmótið. Afgreiddu pantanir út frá webhooks á þjóninum.