Wasanidi
API ya malipo ya kripto iliyojengwa kwa malipo ya moja kwa moja
Tengeneza ankara kwa ombi moja lililothibitishwa, na Unheld hurudisha anwani ya kulipia, kiasi kamili, na kina cha uthibitisho kitakachosubiriwa. Malipo huingia moja kwa moja kwenye pochi unayoidhibiti — API haishikilii kamwe kile inachokiripoti.
Tengeneza ankara
POST moja. Kiasi huandikwa jinsi mtu anavyokiandika na hupimwa upande wa seva kulingana na desimali za rasilimali yenyewe, hivyo hubadilishi kamwe kwa mkono kuwa vipimo vya msingi.
curl -X POST https://api.unheld.io/api/v1/invoices \
-H "Authorization: Bearer $UNHELD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"chainId": "11155111",
"assetType": "native",
"amountDecimal": "0.05",
"expiresInSeconds": 900,
"metadata": { "orderId": "A-1043" }
}'Jibu
{
"id": "e2b0…",
"status": "CREATED",
"receiveAddress": "0x…",
"expectedAmount": "50000000000000000",
"minConfirmations": 3,
"expiresAt": "2026-08-10T14:15:00.000Z",
"instructions": {
"chainId": "11155111",
"to": "0x…",
"amount": "50000000000000000",
"assetType": "native"
}
}receiveAddress hutokana na pochi yako na hufungwa kwenye ankara hii. expectedAmount iko katika vipimo vya msingi. minConfirmations ni kizingiti cha mtandao wenyewe, si mpangilio tuliobuni.
Uthibitishaji na ruhusa
Funguo ni tokeni za bearer, hutengenezwa kwenye dashibodi na huonyeshwa mara moja tu. Kila ufunguo una orodha wazi ya ruhusa, na ombi hukataliwa kama ufunguo hauna ruhusa ya njia hiyo.
Ruhusa zilizopo
- invoices:write
- invoices:read
- webhooks:write
- webhooks:read
- balances:read
- customers:write
- customers:read
- subscriptions:write
- subscriptions:read
Toa seti nyembamba zaidi inayofanya kazi. Ufunguo unaotengeneza ankara pekee hauwezi kusoma wateja wako, na ufunguo wa kusoma uliovuja hauwezi kuhamisha chochote — kwa sababu hakuna kitu katika API hii kinachoweza.
Webhooks unazoweza kuthibitisha
Kila uwasilishaji hutiwa saini. Saini ni HMAC-SHA256 ya alama ya muda na mwili ghafi vikiunganishwa kwa nukta, ukitumia siri yako ya webhook, ikitumwa kwa umbo la heksadesimali.
Thibitisha uwasilishaji
const signature = crypto
.createHmac("sha256", webhookSecret)
.update(`${req.headers["x-timestamp"]}.${rawBody}`)
.digest("hex");
crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(req.headers["x-signature"])
);Linganisha alama kwa muda usiobadilika, kataa alama ya muda iliyo nje ya dirisha lako la uvumilivu, na chukulia X-Request-Id kama ufunguo wa kuzuia marudio: majaribio hutumia thamani ile ile, hivyo tukio lile lile kufika mara mbili ni kawaida na halipaswi kushughulikiwa mara mbili.
Matukio ya ankara
Malipo hupitia hali mbalimbali badala ya kugeuka ghafla kutoka hayajalipwa hadi yamelipwa, na kila mabadiliko ni webhook. Kulipa pungufu na kulipa zaidi ni matukio yao wenyewe, si makosa.
| Tukio | Kilichotokea |
|---|---|
| invoice.created | Ankara ipo na anwani ya kupokelea inafuatiliwa. |
| invoice.receiving | Muamala wa malipo umeonekana kwenye mtandao lakini bado haujathibitishwa. |
| invoice.confirming | Malipo yanathibitishwa na bado hayajafikia kizingiti cha mtandao. |
| invoice.paid | Yamethibitishwa kikamilifu kwa kina kinachohitajika na mtandao. Ni salama kutoa huduma. |
| invoice.underpaid | Kilichoingia ni pungufu ya kilichotarajiwa. Malipo ya sehemu hujumlishwa, hivyo uhamisho wa pili unaweza kukamilisha. |
| invoice.overpaid | Kilichoingia ni zaidi ya kilichotarajiwa, kimerekodiwa kwa usahihi badala ya kuzungushwa. |
| invoice.expired | Dirisha limefungwa bila malipo kamili. |
Jaribu mchakato mzima bure
Jaribu ankara, ugunduzi, uthibitisho na webhook bila fedha halisi. Tokeni za testnet hazina thamani ya fedha. Shughuli ya testnet si malipo halisi.
Upeo
- Haishikilii fedha kamwe. Hakuna njia ya salio ya kutolea, kwa sababu malipo hufika kwenye anwani yako na hubaki hapo.
- Haibadilishi wala hailipi kwa sarafu za kawaida. Malipo hufika kwa rasilimali na kwenye mtandao yalipotumwa.
- Bado hakuna SDK rasmi. Kila kitu hapa ni HTTP wa kawaida, nasi huchapisha mifano badala ya vifurushi ambavyo tungevitunza vibaya.
Maswali ya wasanidi
Je, kuna mazingira ya majaribio?
Jaribu ankara, ugunduzi, uthibitisho na webhook bila fedha halisi. Tokeni za testnet hazina thamani ya fedha. Shughuli ya testnet si malipo halisi.
Nizuiaje kushughulikia webhook ile ile mara mbili?
Tumia X-Request-Id kama ufunguo wa kuzuia marudio. Majaribio hutumia thamani ile ile, hivyo iandike na upuuze marudio. Majaribio yanatarajiwa: uwasilishaji uliofeli hurudiwa kwa ratiba badala ya kutupwa.
Je, ni lazima nibadilishe viasi kuwa vipimo vya msingi mwenyewe?
Hapana. Tuma amountDecimal jinsi mtu angeandika, na API hupima kulingana na desimali za rasilimali. Jibu hurudisha expectedAmount kwa vipimo vya msingi, hivyo maumbo yote mawili ni wazi na hayawezi kutofautiana.
Mifano ilihakikiwa dhidi ya API halisi tarehe .
Jenga kwenye testnet kwanza
Tengeneza ufunguo, uelekeze kwenye mtandao wa testnet, na pitia mchakato mzima kabla ya chochote halisi kuhama.
Anza bila malipo