Mielőtt kezdi
Szüksége van egy ügyfélazonosítóra, egy kész banki képességre a szándékolt módszerre és devizára, valamint egy ugyanahhoz az ügyfélhez tartozó kész kibocsátott tárcára. AzallowPending segítségével elmentheti a kérést, amíg a kiválasztott bank még felülvizsgálja az ügyfelet. A nyitott munkát végezze el a Képességek és feladatok alapján.
1. Rendezési tárca létrehozása vagy kiválasztása
Hozzon létre egy kibocsátott tárcát a Számlák és tárcák alapján, majd olvassa be újra. Csak akkor folytassa, ha az aktuális státusza engedi a rendezést. Tárolja a válaszból származódata.id értéket SETTLEMENT_WALLET_ID-ként. Ne használjon külső tárcát a settlement.accountId mezőhöz.
2. Kibocsátott bankszámla létrehozása
Használja aPOST /v3/customers/{customerId}/accounts műveletet az alábbi fejlécekkel:
Request headers
Request body
data.id értéket BANK_ACCOUNT_ID-ként. Őrizze meg a data.status, data.openTaskIds, data.details értékeket és a rendezési kapcsolatot is.
Opcionális kérésmezők:
A bank kiválasztása
Küldje el azinstitution mezőt, ha az ügyfélnek egy adott bank banki adataira van szüksége. A Swipelux ügyfelenként, módszerenként, devizánként és intézményenként egy kibocsátott számlát foglal le. Az institution mező nélküli kérés 409 conflict hibát ad vissza, ha az ügyfélnek már van kibocsátott számlája az adott módszerre és devizára bármelyik banknál. Az institution mezőt tartalmazó kérés csak akkor ad vissza 409 conflict hibát, ha az adott bankhoz már létezik számla.
A számla olvasásai a kiválasztott bankot institution értékként adják vissza, id, name és bic mezőkkel. A bic értéke lehet null.
Az idempotencia a kiválasztott bankra vonatkozik. Ugyanannak a kérésnek az ismételt elküldése az eredeti számlát adja vissza. Az institution módosítása ugyanazzal az Idempotency-Key értékkel 409 idempotency_conflict hibát ad vissza.
A kérés mentése a banki jóváhagyás előtt
Alapértelmezés szerint a Swipelux csak akkor fogad el kibocsátott bankszámlára vonatkozó kérést, ha a banki képesség már kész. Ha korábban szeretné rögzíteni az ügyfél számlabeállítását, küldje el azallowPending: true értéket az institution mezővel együtt:
Request body with allowPending
status: "in_review" értéket ad vissza, a statusReason.code értéke pedig waiting_for_approval. A válasz tartalmazza az applicationId értéket és a kérelem openTaskIds listáját is. Ezeket a feladatokat a Képességek és feladatok alapján végezze el.
A mentett kérés megtartja a számlaazonosítóját, a rendezési tárcáját és a számlahelyét. Amikor a kérelem és a képesség kész, a Swipelux ugyanazon a BANK_ACCOUNT_ID azonosítón hozza létre a banki adatokat. Továbbra is ezt az azonosítót olvassa. Ne hozzon létre újabb kérést.
Amíg a mentett kérés várakozik, foglalja a számlahelyet. Egy másik allowPending kérés ugyanarra a helyre, eltérő Idempotency-Key értékkel, 409 conflict választ ad. A probléma holder.accountId mezője megnevezi a várakozó számlát. Újrapróbálkozás helyett olvassa ki azt a számlát.
Ha a kérelmet előbb elutasítják, visszavonják vagy archiválják, a számla rejected állapotba kerül. Ekkor már nem foglalja a számlahelyet.
A rendezési deviza kiválasztása
Alapértelmezés szerint a betétek a rendezési tárca devizájában kerülnek rendezésre. Állítsa asettlement.currency értékét USDC vagy USDT értékre, ha a tárca devizájától függetlenül szeretné kiválasztani a jóváírt eszközt:
Request body with settlement currency
USDT használatához egy USD számlára és egy olyan hálózaton lévő rendezési tárcára van szükség, amely támogatja az USDT jóváírását. Ellenkező esetben a kérés 400 invalid_settlement_target hibát ad vissza. A számla olvasásai visszaadják a mentett választást, a provisioning ideje alatt is.
A bankszámla azonosítójának és a tárca azonosítójának eltérő szerepük van. A provisioning és a banki adatok olvasása a bankszámla azonosítón keresztül történik. A rendezési tárca azonosítóját arra használja, hogy azonosítsa, hová íródnak jóvá a betétek.
3. Provisioning követése
Olvassa be aGET /v3/customers/{customerId}/accounts/{accountId} műveletet a létrehozás után és minden releváns webhook után.
Tartsa függőben az ügyfélfelületet, amíg a details hiányzik. Ha az openTaskIds nem üres, végezze el a legfrissebb feladatokat és olvassa be újra a számlát. Ne következtessen készenlétre az eltelt időből.
Ha a számlát allowPending: true értékkel mentette, in_review állapotban marad waiting_for_approval értékű statusReason.code mellett, amíg a bank jóvá nem hagyja a kérelmet.
Ha a legfrissebb statusReason.code értéke awaiting_assignment, hozza létre az első pénzbefizetést ugyanahhoz az ügyfélhez, képességhez és rendezési tárcához a Pénz fogadása alapján, majd olvassa be újra a bankszámlát. Csak akkor kövesse ezt az ágat, ha az aktuális számla kéri.
4. Banki adatok biztonságos megjelenítése
Csak a legfrissebb számla olvasása által visszaadott teljes részleteket jelenítse meg. Ha adetails.referenceRequired értéke true, mutassa a pontos details.reference értéket és tegye másolhatóvá. Ha false, ne találjon ki hivatkozást.
Kibocsátott swift számlák esetén jelenítse meg a details.bankName, a details.swiftCode (a fogadó bank BIC-kódja), a details.accountNumber, a details.accountHolderName és a details.accountHolderAddress értékét, ha a válasz tartalmazza őket. A küldőknek pontosan át kell másolniuk a kedvezményezett címét a nemzetközi átutalásba. Jelenítse meg a details.bankAddress értékét és a számla által visszaadott esetleges közvetítő banki mezőket is.
Ezek a banki adatok újrafelhasználhatók. Ne cserélje őket árazott pénzbefizetésből származó befizetési koordinátákra, amelyek csak arra az átutalásra vonatkoznak.
Ezután adjon hozzá Webhookokat, hogy a provisioning frissítései eljussanak az alkalmazásához anélkül, hogy az ügyfelet lekérdezési képernyőn tartaná.