Cost+Docs

Pikaopas

Vastaanota ensimmäinen maksusi 5 minuutissa

Tämä opas ohjaa sinut testmaksun luomisen ja suorittamisen läpi Cost+ API:n avulla. Lopussa sinulla on toimiva integraatio, jonka päälle voit rakentaa.

Edellytykset

  • Cost+-tili, jossa on sandbox-verkkosivustoluo sellainen kauppiasportaalissa
  • Sandbox-API-avaimesi (löytyy kohdasta Websites → sandbox-verkkosivustosi → Integration)

Etkö ole varma, miten API-avain haetaan? Katso Integraation testaus yksityiskohtaiset asennusohjeet.

Vaihe 1: Luo tilaus

Lähetä POST-pyyntö maksutilauksen luomiseksi. Korvaa YOUR_API_KEY sandbox-API-avaimellasi:

Create an order
curl -X POST https://api.costplus.online/v1/orders/ \
  -u YOUR_API_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "currency": "EUR",
    "amount": 1295,
    "merchant_order_id": "my-first-order",
    "description": "Test order",
    "return_url": "https://example.com/return",
    "webhook_url": "https://example.com/webhook",
    "transactions": [
      {
        "payment_method": "credit-card"
      }
    ]
  }'

amount ilmoitetaan pienimmässä valuuttayksikössä (senteissä). 1295 tarkoittaa 12,95 EUR.

API palauttaa täydellisen tilausobjektin. Tärkeimmät kentät ovat id, status ja tapahtuman sisällä oleva payment_url:

Response
{
  "id": "4851e31c-4137-4e91-95ef-1df945ee76a2",
  "status": "new",
  "currency": "EUR",
  "amount": 1295,
  "merchant_order_id": "my-first-order",
  "description": "Test order",
  "return_url": "https://example.com/return",
  "webhook_url": "https://example.com/webhook",
  "created": "2026-01-15T12:00:05.433502+00:00",
  "modified": "2026-01-15T12:00:05.553125+00:00",
  "expiration_period": "PT1H",
  "transactions": [
    {
      "id": "d291f03f-a406-428a-967a-4895a46e03fd",
      "payment_method": "credit-card",
      "status": "new",
      "amount": 1295,
      "currency": "EUR",
      "payment_url": "https://pay.costplus.online/4851e31c.../credit-card/d291f03f...",
      "is_capturable": false,
      "expiration_period": "PT30M"
    }
  ]
}

Tallenna id — tarvitset sitä vaiheessa 3.

Vaihe 2: Suorita testimaksu

  1. Avaa vastauksen payment_url selaimessasi
  2. Syötä maksusivulle testikortin tiedot:
KenttäArvo
Korttinumero4111 1111 1111 1111
VoimassaoloMikä tahansa tuleva päivämäärä (esim. 12/28)
CVCMitkä tahansa 3 numeroa (esim. 123)
  1. Lähetä maksu
  2. Sinut ohjataan takaisin return_url-osoitteeseesi

Älä luota pelkästään uudelleenohjaukseen maksun vahvistamiseksi. Asiakas saattaa sulkea selaimensa ennen uudelleenohjausta. Vahvista aina API:n (vaihe 3) tai webhookien (vaihe 4) kautta.

Vaihe 3: Vahvista maksu

Hae tilaus varmistaaksesi, että se on suoritettu:

Check order status
curl -u YOUR_API_KEY: \
  https://api.costplus.online/v1/orders/4851e31c-4137-4e91-95ef-1df945ee76a2/

Onnistunut maksu näyttää tältä:

Response (completed)
{
  "id": "4851e31c-4137-4e91-95ef-1df945ee76a2",
  "status": "completed",
  "currency": "EUR",
  "amount": 1295,
  "merchant_order_id": "my-first-order",
  "completed": "2026-01-15T12:02:30.123456+00:00",
  "transactions": [
    {
      "id": "d291f03f-a406-428a-967a-4895a46e03fd",
      "payment_method": "credit-card",
      "status": "completed",
      "amount": 1295,
      "currency": "EUR",
      "payment_method_details": {
        "truncated_pan": "1111",
        "card_expiry": "122028"
      }
    }
  ]
}

Tilauksen status on "completed" — maksu onnistui.

Vaihe 4: Käsittele webhook (suositeltava)

Kun maksun tila muuttuu, Cost+ lähettää POST-pyynnön webhook_url-osoitteeseesi:

Webhook payload
{
  "event": "status_changed",
  "order_id": "4851e31c-4137-4e91-95ef-1df945ee76a2"
}

Kun vastaanotat tämän:

  1. Kutsu GET /v1/orders/{order_id}/ varmistaaksesi nykyisen tilan (älä koskaan luota pelkästään webhook-dataan)
  2. Palauta HTTP 200 vastaanottokuittauksena
  3. Toimita tilaus, jos tila on "completed"

Paikalliseen kehitykseen voit käyttää tunnelia, kuten ngrok, paljastaaksesi paikallisen palvelimesi ja vastaanottaaksesi webhookeja.

Katso Webhookit-opas uudelleenyrityslogiikasta, parhaista käytännöistä ja datan rakenteesta.

Vaihtoehto: Maksulinkit

Jos et tarvitse palvelinpuolen uudelleenohjausta, maksulinkit tarjoavat yksinkertaisemman tavan. Luo linkki, jaa URL asiakkaallesi ja tarkista tila myöhemmin.

Create a payment link
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": 2500,
    "currency": "EUR",
    "description": "Invoice #1234"
  }'

Vastaus sisältää payment_url-osoitteen, jonka voit jakaa sähköpostitse, tekstiviestillä tai chatissa. Asiakas voi yrittää maksua useita kertoja (enintään 25), kunnes linkki vanhenee tai maksu onnistuu.

Katso Maksulinkit-opas täydellisestä työnkulusta.

Mitä seuraavaksi?

Olet suorittanut ensimmäisen maksusi. Tässä jatkosuuntia:

Liittyvät päätepisteet

On this page