Cost+Docs

Tilakyselyt

Tarkista tilausten ja tapahtumien tilat

Jokainen maksu Cost+:ssa esitetään tilauksena, joka sisältää yhden tai useamman tapahtuman. Voit tarkistaa minkä tahansa tilauksen nykyisen tilan kyselemällä API:lta joko pollaamalla tai käyttämällä webhookeja.

Tilauksen tilan hakeminen

Lähetä GET-pyyntö osoitteeseen /v1/orders/\{id\}/ hakeaksesi täydellisen tilausobjektin, mukaan lukien sen nykyinen tila ja kaikki liittyvät tapahtumat.

GET /v1/orders/b9ae6.../

Vaikka pollaaminen toimii tilauksen tilan tarkistamiseen, webhookit ovat suositeltava tapa tuotantointegraatioissa. Ne tarjoavat reaaliaikaiset ilmoitukset ilman toistuvien API-kutsujen kuormitusta.

Tilausten tilat

Tilaus etenee seuraavien tilojen kautta:

TilaLopullinenKuvaus
newEiTilaus on juuri luotu. Maksuyritystä ei ole vielä tehty.
processingEiMaksuyritys on käynnissä. Asiakas saattaa suorittaa 3D Secure -todennusta tai muuta vahvistusvaihetta.
errorEiMaksuyritys epäonnistui. Asiakas voi yrittää uudelleen samalla tai eri maksutavalla.
completedKylläMaksu onnistui. Voit toimittaa tilauksen.
cancelledKylläTilaus peruutettiin joko asiakkaan tai API:n toimesta.
expiredKylläTilaus vanheni ennen onnistunutta maksua. Oletusvanhenemisaika on 30 minuuttia.

Vain Lopullinen = Kyllä -merkityt tilat ovat lopullisia. Tiloissa new, processing tai error olevat tilaukset voivat edelleen siirtyä tilaan completed.

Esimerkki: Tilaus käsittelyssä

Kun asiakas on aloittanut maksun, mutta se ei ole vielä valmis:

{
  "id": "b9ae6...",
  "project_id": "proj_abc123",
  "merchant_order_id": "my-order-id-1",
  "created": "2024-01-01T12:00:00.000000+00:00",
  "modified": "2024-01-01T12:01:30.000000+00:00",
  "completed": null,
  "expiration_period": "PT30M",
  "status": "processing",
  "currency": "EUR",
  "amount": 1295,
  "description": "My amazing order",
  "return_url": "https://www.example.com",
  "payment_url": "https://pay.costplus.com/...",
  "webhook_url": "https://www.example.com/webhook",
  "transactions": [
    {
      "id": "txn_001...",
      "payment_method": "credit-card",
      "payment_method_brand": "visa",
      "status": "processing",
      "amount": 1295,
      "currency": "EUR"
    }
  ],
  "flags": ["is-test"]
}

Esimerkki: Valmis tilaus

Kun maksu on onnistunut, tilaus saavuttaa completed-tilan:

{
  "id": "b9ae6...",
  "project_id": "proj_abc123",
  "merchant_order_id": "my-order-id-1",
  "created": "2024-01-01T12:00:00.000000+00:00",
  "modified": "2024-01-01T12:02:15.000000+00:00",
  "completed": "2024-01-01T12:02:15.000000+00:00",
  "expiration_period": "PT30M",
  "status": "completed",
  "currency": "EUR",
  "amount": 1295,
  "description": "My amazing order",
  "return_url": "https://www.example.com",
  "payment_url": "https://pay.costplus.com/...",
  "webhook_url": "https://www.example.com/webhook",
  "transactions": [
    {
      "id": "txn_001...",
      "payment_method": "credit-card",
      "payment_method_brand": "visa",
      "payment_method_details": {
        "card_last_four": "4242",
        "card_expiry_month": 12,
        "card_expiry_year": 2026,
        "card_holder_name": "J. Smith"
      },
      "status": "completed",
      "amount": 1295,
      "currency": "EUR"
    }
  ],
  "flags": ["is-test"]
}

Tapahtuman tiedot

Jokainen tilauksen sisällä oleva tapahtuma sisältää seuraavat tärkeimmät kentät:

KenttäKuvaus
payment_methodKäytetty maksutapa (esim. credit-card, ideal, apple-pay)
payment_method_brandBrändi tai myöntäjä (esim. visa, mastercard, amex)
payment_method_detailsObjekti, joka sisältää maksutapakohtaiset tiedot, kuten kortin neljä viimeistä numeroa, voimassaolopäivän ja kortinhaltijan nimen
statusTämän yksittäisen tapahtuman tila
amountTapahtuman summa senteissä
currencyTapahtuman valuutta

Älä luota pelkästään asiakkaan uudelleenohjaukseen return_url-osoitteeseesi maksun vahvistuksena. Vahvista aina tilauksen tila API:n tai webhookin kautta ennen tilauksen toimittamista.

Liittyvät päätepisteet

  • Hae tilaus — hae täydellinen tilausobjekti ja sen nykyinen tila
  • Listaa tilaukset — listaa tilaukset päivämäärävälin mukaan suodatettuna

On this page