Cost+Docs

Betalingslenker

Opprett gjenbrukbare betalingslenker

Betalingslenker er gjenbrukbare URL-er som lar kunder betale for en ordre. I motsetning til standardordrer som utløper etter ett mislykket forsøk, støtter betalingslenker flere nye forsøk, noe som gjør dem ideelle for fakturaer, e-postbaserte betalinger og scenarioer der kunden kanskje ikke betaler umiddelbart.

Nøkkelegenskaper

  • Gjenbrukbare: Kunder kan forsøke betaling opptil 25 ganger hvis tidligere forsøk mislykkes.
  • Langtidslevende: Standard utløpstid er 30 dager (konfigurerbart via expiration_period).
  • Delbare: Send lenken via e-post, SMS, chat, eller bygg den inn på nettstedet ditt.

Opprette en betalingslenke

Send en POST-forespørsel til /v1/paymentlinks/:

POST /v1/paymentlinks/
curl -X POST https://api.costplus.online/v1/paymentlinks/ \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "merchant_order_id": "invoice-1234",
    "amount": 995,
    "currency": "EUR",
    "description": "Invoice #1234"
  }'

Svaret inkluderer payment_url som du kan dele med kunden, og en unik id for sporing:

Response (201 Created)
{
  "id": "e6eecc6a-47c5-4948-bcc0-d8b73f5c55a1",
  "merchant_order_id": "invoice-1234",
  "amount": 995,
  "currency": "EUR",
  "description": "Invoice #1234",
  "expiration_period": "P30D",
  "payment_url": "https://pay.costplus.online/paymentlinks/e6eecc6a.../",
  "status": "new",
  "reason": "Payment Link was created, not yet visited",
  "orders": {},
  "created": "2026-01-15T12:00:00.000000Z"
}

Lagre id — du bruker den til å sjekke betalingslenkestatusen senere.

Påkrevde felt

FeltBeskrivelse
merchant_order_idDin egen referanse-ID for betalingslenken
amountBeløp i øre/cent (f.eks. 9,95 EUR = 995)
currencyISO 4217-valutakode (f.eks. EUR, GBP)

Valgfrie felt

FeltBeskrivelse
descriptionBeskrivelse som vises til kunden
expiration_periodISO 8601-varighet. Standard er P30D (30 dager)
return_urlURL for å videresende kunden etter vellykket betaling
failure_urlURL for å videresende kunden ved avbrudd, utløp eller feil
webhook_urlURL for å motta statusendringsvarsler
customerKundedetaljer-objekt (navn, e-post, osv.)

Hvis du oppgir både return_url og failure_url, videresendes kunder til failure_url når ordrestatusen er cancelled, expired eller error. Ellers går alle videresendinger til return_url.

Hente en betalingslenke

Send en GET-forespørsel til /v1/paymentlinks/{id}/ med betalingslenkens id fra opprettelsessvaret:

GET /v1/paymentlinks/{id}/
curl -u YOUR_API_KEY: \
  https://api.costplus.online/v1/paymentlinks/e6eecc6a-47c5-4948-bcc0-d8b73f5c55a1/

Svaret inkluderer gjeldende status og referanser til alle ordrer opprettet fra lenken, gruppert etter status:

Response (completed example)
{
  "id": "e6eecc6a-47c5-4948-bcc0-d8b73f5c55a1",
  "merchant_order_id": "invoice-1234",
  "amount": 995,
  "currency": "EUR",
  "description": "Invoice #1234",
  "expiration_period": "P30D",
  "payment_url": "https://pay.costplus.online/paymentlinks/e6eecc6a.../",
  "status": "completed",
  "reason": "Completed",
  "completed": "2026-01-15T12:05:30.123456+00:00",
  "completed_order_id": "3bb663cc-2a20-400d-8bf6-18d9695d0c66",
  "orders": {
    "error": ["0d79014c-0aaa-4fd6-87c5-c8cfa5f5ac69"],
    "completed": ["3bb663cc-2a20-400d-8bf6-18d9695d0c66"]
  }
}

I dette eksemplet gjorde kunden ett mislykket forsøk (ordre 0d79014c... med error-status) før det lyktes (ordre 3bb663cc... med completed-status). Du kan hente fullstendige detaljer for enhver ordre via GET /v1/orders/{order_id}/.

Betalingslenkestatuser

StatusBeskrivelse
newLenken er opprettet, men det er ikke gjort noe betalingsforsøk.
processingEt betalingsforsøk pågår.
all_unsuccessfulAlle betalingsforsøk så langt har mislyktes. Kunden kan fortsatt forsøke på nytt (opptil 25 forsøk).
completedBetalingen var vellykket. Lenken er ikke lenger aktiv.
expiredLenken har utløpt før en vellykket betaling ble gjennomført.

all_unsuccessful-statusen er ikke en endelig status. Kunden kan fortsatt forsøke å betale igjen til enten betalingen lykkes, maksimalt antall forsøk (25) er nådd, eller lenken utløper.

Når en betalingslenke når statusen completed eller expired, kan den ikke brukes igjen. Opprett en ny betalingslenke hvis kunden trenger å betale på nytt.

Eksempel på arbeidsflyt

  1. Opprett en betalingslenke via POST /v1/paymentlinks/.
  2. Del den returnerte payment_url med kunden din (f.eks. via e-post, SMS eller faktura).
  3. Kunden åpner lenken og gjennomfører betalingen.
  4. Cost+ sender en webhook til din webhook_url når statusen endres.
  5. Verifiser betalingslenkestatusen via GET /v1/paymentlinks/{id}/.
  6. Fullfør ordren når statusen er completed.

Relaterte endepunkter

On this page