Pārbaudiet resursu saderību
Pirms kotēšanas apstipriniet, ka:- Iespēja ir gatava, pieder klientam un atbilst paredzētajam virzienam un metodei.
- Stabilas monētas avots ir aktīvs izsniegts maks, kas atbalsta ievades valūtu.
- Maka uz maku resursi izmanto to pašu valūtu un tīklu.
- Fiat izmaksas konts vai galamērķis ir gatavs un atbalsta izejas valūtu un metodi.
Izvēlieties precīzu summu
Izveidojiet kotāciju arPOST /v3/quotes. Nosūtiet vienu summas pusi, abas valūtas un no atbildes iegūtos resursu ID ar šīm galvenēm:
- Precīzs ienākošais
- Precīzs izejošais
Iestatiet
in.amount un izlaidiet out.amount. Atbilde aprēķina, ko saņem galamērķis.data.id, data.status, data.expiresAt, atgrieztos posmus, likmi un maksas. Izmantojiet atgrieztās decimāldaļu virknes; nepārrēķiniet izpildāmās summas ar peldošā punkta aritmētiku.
Pēc stabilas monētas finansētas precīzas izejas kotācijas nolasiet GET /v3/customers/{customerId}/accounts/{accountId}. Salīdziniet pašreizējo avota balances[].available ievades valūtai ar atgriezto data.in.amount. Ja līdzekļi nav pietiekami, mainiet vai papildiniet avotu un izveidojiet jaunu kotāciju. Fiat finansētas precīzas izejas kotācijas neizmanto šo avota maka bilances vārtus.
Izpildiet vienreiz un droši atgūstiet
Nolasiet pašreizējo kotāciju arGET /v3/quotes/{quoteId}. Izpildiet tikai tad, kad tās statuss un expiresAt to atļauj.
Izveidojiet pārvedumu ar POST /v3/transfers:
Idempotency-Key šim paredzētajam pārvedumam un saglabājiet to pirms pieprasījuma nosūtīšanas. Ja atbilde ir zaudēta, atkārtojiet identisku metodi, ceļu, pamattekstu un atslēgu. Neveidojiet otru izpildes atslēgu, lai atgūtu neskaidru rezultātu.
Ja API atgriež quote_already_executed, izmantojiet tā transferId, lai turpinātu ar esošo pārvedumu. Idempotents atkārtojums var arī atgriezt Idempotency-Replayed: true.
Sekojiet pašreizējam pārvedumam
Pēc izveides un pēc katra webhook izsauciena nolasietGET /v3/transfers/{transferId}. Saglabājiet jaunāko data.state, data.stateDetail un data.openTaskIds.
Ja uzdevumu ID ir atvērti, iegūstiet GET /v3/transfers/{transferId}/tasks un pabeidziet katru uzdevumu, izmantojot tā pašreizējo versiju un prasības.
Ienākošai kustībai GET /v3/transfers/{transferId}/instructions var atgriezt pārvedumam specifiskas finansēšanas detaļas. Attēlojiet tikai atgriezto instrukciju variantu un precīzu atsauci.
Tālāk ieviesiet Webhook izsaukumus, lai katra asinhroni pārveduma atjauninājums nokļūtu tajā pašā pašreizējā stāvokļa apstrādes ceļā.