Cost+Docs

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

  1. Serveren din oppretter en ordre ved å kalle POST /v1/orders/.
  2. API-et returnerer en URL som peker til den hostede betalingssiden.
  3. Du videresender kunden til betalingssiden.
  4. Kunden gjennomfører betalingen på Cost+ sin hostede side.
  5. Kunden videresendes tilbake til din return_url (eller failure_url for mislykkede betalinger).
  6. Cost+ sender en webhook-varsling til din webhook_url med 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:

Request
{
  "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"
}
Response
{
  "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:

Request
{
  "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" }
  ]
}
Response
{
  "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

FeltPåkrevdBeskrivelse
currencyJaISO 4217-valutakode (f.eks. EUR, GBP, SEK)
amountJaBeløp i øre/cent. For eksempel representeres 12,95 EUR som 1295
merchant_order_idNeiDin egen referanse-ID for ordren
return_urlNeiURL for å videresende kunden etter betaling (standard for alle statuser)
failure_urlNeiURL for å videresende kunden ved cancelled, expired eller error-status (se Retur-URL-er nedenfor)
localeNeiSpråk for betalingssiden. Støttet: en-GB, de-DE, nl-NL, nl-BE, fr-BE, sv-SE, no-NO, da-DK
descriptionNeiBeskrivelse av ordren, vist til kunden
payment_methodsNeiFilter 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_urlNeiURL for å motta statusendringsvarsler
expiration_periodNeiISO 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_url og failure_url er satt:

    • cancelled, expired eller error → kunden videresendes til failure_url
    • Alle andre statuser → kunden videresendes til return_url
  • Når kun return_url er satt:

    • Alle statuser → kunden videresendes til return_url

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

On this page