Webhook-ar
Fáðu rauntímatilkynningar um stöðu greiðslna
Webhook-ar gera Cost+ kleift að tilkynna þjóninum þínum í rauntíma hvenær sem staða pöntunar breytist. Í stað þess að kanna API gefur þú upp URL og Cost+ sendir HTTP POST-beiðni á hann hvenær sem uppfærsla á sér stað.
Hvernig webhook-ar virka
- Þú tilgreinir
webhook_urlþegar þú stofnar pöntun eða stillir sjálfgefið webhook-URL á verkefnisstigi. - Þegar staða pöntunar breytist (t.d. úr
newícompleted) sendir Cost+ POST-beiðni á webhook-URL-ið þitt. - Þjónninn þinn tekur á móti webhook-inum og kallar síðan á Cost+ API til að sækja fulla pöntunarupplýsingarnar.
- Þú uppfærir kerfið þitt byggt á staðfestri stöðu pöntunar.
Treystu aldrei webhook-gagnagrunni einum til að uppfylla pöntun. Staðfestu alltaf stöðu pöntunar með GET /v1/orders/{id}/ beiðni eftir móttöku webhook. Webhook-urinn er tilkynningarkerfi, ekki sannleiksuppspretta.
Gagnagrunnur webhook
Meginmál webhook-sins er JSON-hlutur sem inniheldur tegund atburðar og auðkenni pöntunar:
{
"event": "status_changed",
"order_id": "b9ae6...",
"project_id": "proj_abc123"
}| Reitur | Lýsing |
|---|---|
event | Tegund atburðar. Nú er status_changed fyrir uppfærslur pantana. |
order_id | Einstakt auðkenni pöntunarinnar sem breytti stöðu. |
project_id | Verkefnið sem pöntunin tilheyrir. |
Stilling webhook-URL
Þú getur stillt webhook-URL á tvo vegu:
Á hverja pöntun
Taktu webhook_url reitinn með þegar þú stofnar pöntun:
{
"currency": "EUR",
"amount": 1295,
"webhook_url": "https://www.example.com/webhook"
}Sjálfgefið verkefni
Stilltu sjálfgefið webhook-URL í Cost+ stjórnborðinu þínu undir verkefnisstillingum. Þetta URL verður notað fyrir allar pantanir sem tilgreina ekki eigið webhook_url.
Jafnvel þótt þú hafir sjálfgefið á verkefnisstigi geturðu yfirskrifað það á hverja pöntun með því að taka webhook_url með í beiðni um stofnun pöntunar.
Endurtilraunarrök
Ef þjónninn þinn svarar ekki með 2xx stöðukóða reynir Cost+ aftur:
- Hámarksendurtilraunir: 10 tilraunir
- Endurtilraunabil: 2 mínútur á milli hverrar tilraunar
- Tímamörk fyrstu tilraunar: 4 sekúndur
- Tímamörk síðari tilrauna: 10 sekúndur
Ef allar 10 endurtilraunir mistakast er webhook-urinn merktur sem misheppnaður. Þú getur samt sótt stöðu pöntunar hvenær sem er með könnun gegnum API.
Gakktu úr skugga um að webhook-endapunkturinn þinn svari fljótt (innan 4 sekúndna fyrir fyrstu tilraun). Framkvæmdu hvaða langvarandi vinnslu sem er á ósamstilltan hátt eftir að 200 OK svar hefur verið skilað.
Bestu venjur
- Staðfestu alltaf gegnum API. Við móttöku webhook-s, kallaðu á
GET /v1/orders/\{order_id\}/til að staðfesta núverandi stöðu áður en gripið er til aðgerða eins og sendingar vöru eða veitingar aðgangs. - Skilaðu 200 fljótt. Staðfestu webhook-inn með
200svari strax og vinndu úr pöntuninni á ósamstilltan hátt til að forðast tímamörk. - Meðhöndlaðu tvítekningar. Webhook-endapunkturinn þinn gæti fengið sama atburðinn oftar en einu sinni. Gakktu úr skugga um að vinnslurökin þín séu idempotent.
- Notaðu HTTPS. Notaðu alltaf HTTPS URL fyrir webhook-endapunkt þinn til að tryggja örugga sendingu gagnagrunnsins.
- Skráðu webhook-gagnagrunna. Geymdu móttekinn webhook-gögn til villuleitar og endurskoðunar.
Tengdir endapunktar
- Stofna pöntun — stilltu
webhook_urlá hverja pöntun - Uppfæra pöntun — uppfærðu webhook-URL á fyrirliggjandi pöntun
- Webhook-atburðarskemu — snið gagnagrunns fyrir
OrderStatusChangedEventogTransactionStatusChangedEvent