Hostet betalingsside (HPP)
Motta betalinger med Cost+ sin hostede betalingsside
Den hostede betalingssiden (HPP) er Cost+ sin PCI DSS-kompatible betalingsside. Den lar deg motta betalinger uten å håndtere sensitive kortdata på dine egne servere. Du oppretter en ordre via API-et, videresender kunden til den hostede siden, og de returnerer til nettstedet ditt etter betaling.
Slik fungerer det
- Serveren din oppretter en ordre ved å kalle POST /v1/orders/.
- API-et returnerer en URL som peker til den hostede betalingssiden.
- Du videresender kunden til betalingssiden.
- Kunden gjennomfører betalingen på Cost+ sin hostede side.
- Kunden videresendes tilbake til din
return_url(ellerfailure_urlfor mislykkede betalinger). - Cost+ sender en webhook-varsling til din
webhook_urlmed ordrestatusen.
Den hostede betalingssiden er fullt PCI DSS-kompatibel. Du trenger aldri å håndtere rå kortnumre eller sensitive betalingsdata på dine servere.
Opprette en ordre
Det er to tilnærminger for å bruke HPP:
Tilnærming 1: Vis alle betalingsmetoder (enklest)
Opprett en ordre uten å angi transactions. Svaret inkluderer en order_url — kunden videresendes dit og ser alle betalingsmetoder som er aktivert for kontoen din:
{
"currency": "EUR",
"amount": 1295,
"merchant_order_id": "my-order-id-1",
"description": "My amazing order",
"return_url": "https://www.example.com",
"webhook_url": "https://www.example.com/webhook"
}{
"id": "43114fde-da30-4115-8004-b7f808f9b25c",
"status": "new",
"currency": "EUR",
"amount": 1295,
"order_url": "https://pay.costplus.online/43114fde.../select-payment-method/",
"return_url": "https://www.example.com",
"webhook_url": "https://www.example.com/webhook"
}Videresend kunden til order_url. På den hostede siden vises alle aktiverte betalingsmetoder.
Tilnærming 2: Forhåndsvelg betalingsmetoder
Opprett en ordre med en transactions-array for å kontrollere hvilke betalingsmetoder som vises og i hvilken rekkefølge. Hver transaksjon inkluderer en payment_method, og svaret returnerer en payment_url i transaksjonsobjektet:
{
"currency": "EUR",
"amount": 1295,
"merchant_order_id": "my-order-id-1",
"description": "My amazing order",
"return_url": "https://www.example.com",
"webhook_url": "https://www.example.com/webhook",
"transactions": [
{ "payment_method": "credit-card" }
]
}{
"id": "4851e31c-4137-4e91-95ef-1df945ee76a2",
"status": "new",
"currency": "EUR",
"amount": 1295,
"transactions": [
{
"id": "d291f03f-a406-428a-967a-4895a46e03fd",
"payment_method": "credit-card",
"status": "new",
"payment_url": "https://pay.costplus.online/4851e31c.../credit-card/d291f03f.../"
}
]
}Videresend kunden til payment_url fra transaksjonen.
Hvis du kun oppgir én oppføring i transactions-arrayen, tas kunden direkte til den betalingsmetoden uten å se en valgskjerm. flags-arrayen inneholder "is-test" når du bruker en sandbox API-nøkkel.
Forespørselsfelt
| Felt | Påkrevd | Beskrivelse |
|---|---|---|
currency | Ja | ISO 4217-valutakode (f.eks. EUR, GBP, SEK) |
amount | Ja | Beløp i øre/cent. For eksempel representeres 12,95 EUR som 1295 |
merchant_order_id | Nei | Din egen referanse-ID for ordren |
return_url | Nei | URL for å videresende kunden etter betaling (standard for alle statuser) |
failure_url | Nei | URL for å videresende kunden ved cancelled, expired eller error-status (se Retur-URL-er nedenfor) |
locale | Nei | Språk for betalingssiden. Støttet: en-GB, de-DE, nl-NL, nl-BE, fr-BE, sv-SE, no-NO, da-DK |
description | Nei | Beskrivelse av ordren, vist til kunden |
payment_methods | Nei | Filter to a single payment method (e.g. ["credit-card"]). Omit to show all enabled methods. For multiple specific methods, use the transactions array instead |
webhook_url | Nei | URL for å motta statusendringsvarsler |
expiration_period | Nei | ISO 8601-varighet for ordreutløp. Standard er PT30M (30 minutter) |
amount-feltet er alltid i minste valutaenhet (øre/cent). 1295 betyr 12,95 i den angitte valutaen. 1295.00 eller 12.95 vil resultere i en feil eller feil beløp.
Flere betalingsmetoder
For å tilby flere spesifikke betalingsmetoder, legg til flere oppføringer i transactions-arrayen. Rekkefølgen på den hostede siden følger arrayens rekkefølge:
"transactions": [
{ "payment_method": "credit-card" },
{ "payment_method": "apple-pay" }
]The payment_methods field on orders accepts at most one value. To offer multiple specific methods, always use the transactions array. If you need a reusable link with multiple payment methods, consider Payment Links instead, which support a true payment_methods array.
Retur-URL-er
Etter betaling videresendes kunden basert på ordrestatusen og hvilke URL-er du oppga:
-
Når både
return_urlogfailure_urler satt:cancelled,expiredellererror→ kunden videresendes tilfailure_url- Alle andre statuser → kunden videresendes til
return_url
-
Når kun
return_urler satt:- Alle statuser → kunden videresendes til
return_url
- Alle statuser → kunden videresendes til
Bruk failure_url for å vise en side for nytt forsøk eller kundestøtte ved mislykkede betalinger, mens return_url viser en ordrebekreftelse. Hvis du kun trenger én destinasjon, er return_url alene tilstrekkelig.
Avbryt-knappens oppførsel
Den hostede betalingssiden inkluderer en avbryt-knapp. Når kunden klikker på den, videresendes de til failure_url (hvis oppgitt) eller return_url. Ordrestatusen vil endres til cancelled. Verifiser alltid ordrestatusen via API-et eller webhooks i stedet for å stole utelukkende på videresendingen.
Relaterte endepunkter
- Opprett ordre — opprett en betalingsordre og motta
payment_url - Hent ordre — sjekk ordrestatusen etter betaling