TypeScript-SDK
@feitpay/sdk on fetch-rajapinnan päälle rakennettu riippuvuudeton asiakaskirjasto, jonka tyypit on luotu
OpenAPI-sopimuksesta. Se toimii Node.js 20+:ssa, Denossa, Bunissa ja edge-ajoympäristöissä.
pnpm add @feitpay/sdkimport { FeitPay, FeitPayError } from '@feitpay/sdk';
const gp = new FeitPay({ apiKey: process.env.FEITPAY_API_KEY!, // gp_live_… baseUrl: 'https://api.feitpay.com', timeoutMs: 30_000, // per attempt maxRetries: 2, // GET and idempotent POST only});Resurssit
Osio nimeltä “Resurssit”| Nimiavaruus | Metodit |
|---|---|
paymentIntents |
create, retrieve, list, cancel, resolve, timeline |
checkoutSessions |
create, retrieve |
invoices |
create, retrieve, list, void |
paymentLinks |
create, retrieve, list, update |
transactions |
list, retrieve |
wallets |
create, retrieve, list, disable, createOwnershipChallenge, submitOwnershipProof |
stores, organizations, customers |
list / retrieve |
webhookEndpoints |
create, list, retrieve, update, rotateSecret, sendTest |
webhookDeliveries |
list, retrieve, retry |
events |
list, retrieve |
reports |
payments (CSV-merkkijono tai JSON), reconciliation |
billing |
invoices, usage |
auditEvents |
list |
platform |
capabilities, networks, assets, health |
Toiminta
Osio nimeltä “Toiminta”- Idempotenssi — luontimetodit lähettävät
Idempotency-Key-otsakkeen automaattisesti (gp_sdk_…) ja käyttävät sitä uudelleen uudelleenyrityksissä. Anna{ idempotencyKey }sitoaksesi sen omaan tilausnumeroosi. - Uudelleenyritykset — eksponentiaalinen viive täydellä satunnaistuksella (
Retry-Afterhuomioiden) verkkovirheissä sekä429- ja5xx-vastauksissa, vainGET-pyynnöille ja avaimellisillePOST-pyynnöille. - Sivutus —
await gp.invoices.list()palauttaa yhden sivun;for await (const inv of gp.invoices.list())käy läpi kaikki sivut;.toArray(max)kerää rajatun määrän. - Virheet — jokainen virhe on
FeitPayError-aliluokka, jolla on kentättype,code,param,requestIdjastatus. - Raha — summat ovat merkkijonoja.
formatBaseUnits('99834', 8) === '0.00099834'käyttääBigInt-tyyppiä, ei koskaan liukulukuja. - Polkujen turvallisuus — tunnisteet koodataan yhdeksi polun osaksi.
try { const intent = await gp.paymentIntents.retrieve('pi_…'); if (intent.fulfillable) ship(intent.merchant_order_id);} catch (err) { if (err instanceof FeitPayError && err.type === 'not_found_error') return null; throw err;}