PDV, SDK ja PINPad vaheline kohalik side.
Integreeri TEF.
Sinu kohapealne tegevus
võimendatud IOPAY abil
Tõhusta oma ühendatud kohapealse müügi, lõpetades TEF! Võtke Iopay tehnoloogia juhtimisvõime oma tegevusele
Üksindamine, mis on jagatud kaheks selgelt määratletud laagiks.
TEF isiklik kinnipeamine toimub kohapeal vahel Sinu Rakendus, Zoop-komponent ja PINPad. Makse tehing jääb siiski IOPAY integreeritud. See säilitab ühe laadi konto, tehingute haldamise, terminali aktiveerimise, sündmuste ja webhooks jaoks.
Kasuta Zoop Desktop SDK või Zoop Desktop Server TEF kohalik püügi. Jätkake kasutamist IOPAY APIs + webhooks ülejäänud operatiiv- ja tehingujärgeks.
Tunnistus, konto, terminali aktiveerimine, tehing ja webhooks.
Hoidke oma APIs ja webhooks IOPAY ja lisage kohalik TEF püügi.
Kes teeb mida integreerimisel.
Allpool kirjeldatud eraldamine välistab Zoop osa kasutamist kohapealse püügi jaoks segadusse ajamise peamise operatsiooni integreerimise vahetamisega.
| Parte | Tegevuse vastutus |
|---|---|
| Sinu Rakendus | Integreerida TEF püügi Zoop Desktop SDK või Desktop Serveriga ja säilitada integreerimine APIs ja webhooks IOPAYga. |
| IOPAY | Korraldamine, konto, terminalite aktiveerimine portaali kaudu, webhooks ja tehingute liikuvus. |
| SDK / Server Zoop | TEF ja Sinu Rakendus ja PINPad vaheline kommunikatsioon. |
| PINPad / terminal | Füüsiline seadme, mis on vastutav interaktsioonist kaardi ja kandjaga püügi ajal. |
Selle integreerimismudeliga, kui Zoop aktiveerimisvoog nõuab, et tooki oleks kinnitatud IOPAY portaal → Makse terminalid → Terminaali lisamine.
SDK-i sisestatud või Desktop Server.
Seal on kaks dokumenteeritud viisi kohalikku katmist rakendada. Mõlemad säilitavad sama IOPAY arhitektuuri arvestamiseks, aktiveerimiseks ja sündmustele.
Teie rakenduse sisseehitatud raamatukogu. Märgitakse, millal PDV saab otse kasutada pluginit ja kontrollida kohalikku suhtlemist terminaliga.
Kohalik teenindus taustal. Sinu Rakendus räägib temaga WebSocket'i kaudu, tavaliselt
ws://localhost:1337.
Vaevalt projektist kuni esimesele maksele viie sammuga.
Lõpeta projekt ja terminali
Kontrollige IOPAY-ga katsemenetlus ja -keskkond. Seada Zoop Maven'i repository, vali oma platvormi vastav artefakt - JVM, Android või KMP - ja lisa ametlikus dokumendis esitatud abiülesandeid. Kasutage oma projekti jaoks kokkulepitud versiooni.
implementation(
"br.zoop.pos.plugin:zoop-pos-plugin-desktop-jvm:X.Y.Z"
)
Pakettide alla laadimine võib nõuda GitHub'i kasutajat ja PAT'i lugemise luba. See juurdepääs on üksnes artefakti arendamiseks/tarbimiseks ja on eraldatud terminali autentimisest.
Alusta ilma maksekredientideta
Esimese aktiveerimisel alustada Zoop ilma tunnusblokiga ja ühendada DesktopPlugin. JVM-is teatage ka rakenduse andmetest, kui need on nõutud SDK versiooniga;
application See ei kehti Androidis.
Zoop.initialize(context)
val desktopPlugin = DesktopPlugin(
Zoop.constructorParameters()
)
Zoop.plug(desktopPlugin)
Käivita token ja liige portalli IOPAY
Loe üles aktiveerimisnõue
createDashboardActivationRequestBuilder()Treat the tokenCallback ja saatke taotlus koos Zoop.post(). Näita oma token operaatorile ja kasutage seda IOPAY portaalis
Makse terminalid → Terminalide lisamine. Siis oota kinnitust SDK poolt.
val activationRequest =
ZoopFoundationPlugin
.createDashboardActivationRequestBuilder()
.tokenCallback(/* receber e exibir o token */)
.confirmCallback(/* persistir dados confirmados */)
.build()
Zoop.post(activationRequest)
Jätke aktiveerimine ja autentiseerige automaatselt
Ei confirmCallback, salvestab aktiveerimisel tagasi toodud andmed. Lähedal algatusel kasuta uuesti
marketplace, seller ja
accessKey. Aktiveerimine toimub üks kord seadme kohta, kuni need andmed jäävad kehtivad ja kättesaadavad.
{
"marketplace": "<retornado-na-ativacao>",
"seller": "<retornado-na-ativacao>",
"accessKey": "<retornado-na-ativacao>"
}
Tegevake esimene makse
Enne müüki kinnita, et tehingukäik on PINPadis. Lase siis müüa
DesktopPlugin.createPaymentRequestBuilder(), teatab selle kohta, kas see on võimalik, kui on võimalik, tsentide, modaalsuse ja osade kohta, ning käsitleb sõnumid, edu, ebaõnnestumist ja voogu lõpetamist.
Sinu Rakendus ei pea iga terminaali aktiveerimiseks eelnevalt taotlema ega sisestama makse võtme. Järgmiste alguste tehnilised andmed on saadud aktiveerimisvoogus ja jätkatud rakenduse poolt.
Zoop Desktop SDK integreeritud otse PDV-sse.
Selle lähenemisviisi puhul on püügikomponent Sinu Rakendus. Plugin räägib PINPadiga kohapeal, samal ajal kui toiming on veel seotud IOPAY infrastruktuuriga.
Autamine pärast aktiveerimist
Seejärel marketplace, seller ja
accessKey kui need on taastatud ja jätkatud, kasutage neid väärtusi jooksval ajal SDK uuesti käivitamiseks. Neid ei tohi operaator käsikäeliselt kirjutada.
Zoop.initialize(context) {
credentials {
marketplace = storedMarketplace
seller = storedSeller
accessKey = storedAccessKey
}
}
val desktopPlugin = DesktopPlugin(
Zoop.constructorParameters()
)
Zoop.plug(desktopPlugin)
Integratsiooni seisund
See algab ilma tunnita, genereerib tokenid ja ootab sidet IOPAY portaali kaudu.
Sinu Rakendus varustab turgu, seller ja accessKey turvaliselt.
Salvestatud andmed taaskasutatakse ilma, et operaator oleks neid uuesti kirjutanud.
Token sündib SDK-l ja seos lõpeb IOPAY-l.
Aktiveerimine ühendab seadme õigese kontoga. See samm peab toimuma enne esimest tehingut ja peab olema testitud ka pärast Sinu Rakendus uuesti käivitamist.
Sinu Rakendus taotleb Zoop komponendi aktiveerimist ja saab ajutise token.
Toon on teatatud Payment Terminals → Add Terminal'is.
SDK toob tagasi andmeid, mida Sinu Rakendus peab jätkama tulevaste alguste jaoks.
Tagastatud andmeid salvestatakse kaitstud viisil. Vältige marketplace, seller ja accessKey kasutajakeskrites, rakenduslogis, avatud telemetria või debug dumpides.
Kontrollige tehingukähe enne tasumist.
Transaktsionaalne võti Zoop peab olema PINPadis, et teha kaardiga makseid. Kui see pole olemas, lülitage IOPAY, et korrigeerida seadme tarnijaga.
Ärge käsitlege võti puudumist ainult PDV-i tarkvaraga taastavaks vigaks. Terminaal peab enne tehingut regulaarseks muutma.
Kaardi tasumise näide
val paymentRequest = DesktopPlugin
.createPaymentRequestBuilder()
.amount(1000) // R$ 10,00 — valor em centavos
.option(Option.CREDIT)
.installments(2)
.referenceId("pedido-84217")
.callback(/* tratar sucesso e falha */)
.build()
Zoop.post(paymentRequest)
Samuti käsitlevad vahekordseid voolu sõnumid, et näidata operaatorile juhiseid, nagu lähenemine, sisestamine või kaardi lugemine. Kohalik tagasisaatmine võimaldab PDVil jälgida, mis toimub terminali juures.
Mida tulemusest jääb
Võrdle kohalik tehing IOPAYga kaasatud taotlusesse ja operatsioonile.
Jätke NSU ja tagasi antud luba koodi tasakaalustamiseks ja toetamiseks.
Säilitage kasutuses SDK versiooni poolt kättesaadavad tõendite andmed.
Kõnnetus onComplete See näitab, et voolu on lõpetatud, isegi siis, kui on toimetulek. Mõista heakskiidetud makse vastava edukuse tagasimaksmise põhjal ja korrigeeri tulemust IOPAY tehinguga.
Alternatiiv on kohalik WebSocket.
Zoop Desktop Server töötab nagu kohalik teenus ja esitab WebSocket Sinu Rakendus jaoks. Teie eesmärk on endiselt TEF püümine. Akrediteerimine, konto, webhooks ja tehingute voog jääb platvormidele IOPAY.
Installeeri ja alusta teenust
Saada asendaja Zoop ametlikes avaldustes. Juhendis kirjeldatud Windows ja Linux installatsioonidel valmistada Java/JDK 17, valideerida
java -version ja hoiab Server PINPadiga ühendatud jaamist käimas.
java -version
Lingita oma rakendus
Kui Sinu Rakendus ja Desktop Server on samal masinal, liige allpool olevale kohalikule aadressile. Tegelege soketi avamise, sõnumite, vigade ja sulgemisega.
ws://localhost:1337
const socket = new WebSocket('ws://localhost:1337');
socket.onopen = () => {
console.log('Desktop Server conectado');
};
socket.onmessage = (event) => {
const message = JSON.parse(event.data);
handleZoopMessage(message);
};
socket.onerror = (error) => {
handleSocketError(error);
};
socket.onclose = () => {
handleSocketClosed();
};
Alusta aktiveerimine
Saada {"type":"activation"}. Kui server vastab staatusele
tokennäita välja
token ja lõpeta seos IOPAY portaalis. Säästa staatuse
success.
{
"type": "activation"
}
Suukseks, püsi marketplace,
seller ja accessKey Järgmiste alguste jaoks.
Alustage taastatud andmetega
Lisendage sõnum initialize kasutades täpselt pärast aktiveerimist säilitatud väärtusi. Kampus devicePort See on vabatahtlik; kui see jäetakse välja, saab Server automaatselt tuvastada PINPadi. Oota status: success
enne tehingute lubamist.
{
"type": "initialize",
"marketplace": "<valor recebido na ativacao>",
"seller": "<valor recebido na ativacao>",
"accessKey": "<valor recebido na ativacao>"
}
Tööd kinni PDV-s
Kasutage Desktop Serveris dokumenteeritud JSON skeeme kohalike salvestuskommandoideks ja käsitlege kõiki tagasimakseid. Kohaliku vastuse abil juhitakse PINPadis eksperimente; tehingute juhtimine ja webhooks jätkub IOPAYga.
<valor recebido na ativacao> See on teie rakenduse poolt säilitatud andmed. See ei ole teave, mida operator peab iga alguse korral kirjutama.
Sinu Rakendus võtab jätkuvalt IOPAY sündmusi vastu.
TEF lisamine ei muuda asinkroonilise integreerimise lepingu: Sinu Rakendus saab IOPAY poolt iga sündmuse ja tehingu webhooks vastavalt lepingulisele integreerimisele. SDK/Serveri kohalik tagasisaatmine täiendab PDV kogemust; see ei kõrvalda IOPAY sündmuste laagrit.
Tehingud, operatiivised uuendused ja integratsiooni sündmused.
Hoidke oma webhook lõpppunkti ja korrigeerige sündmusi kohalike nõudmise, terminaali ja tehinguga.
Rekommendatud korrelatsiooni mudel
Kasutage oma ID, et ühendada Sinu Rakendus taotlusele makse, kui see on saadaval.
Hoidke tagastatud identifitseerijad terminaali kohalikest voogist.
Päevastage operatsiooni seisundit IOPAY integreerimisel saadud sündmustega.
Osa TEF on kohalik, kuid Sinu Rakendus ei pea lahkuma olemasoleva APIs ja webhooks IOPAY voogist. Jätkake tüübikinnituse ajal iga sündmuse ja tehingu webhooks.
Harjutage puudusi enne kinnitamist.
Ära kinnita ainult heakskiitmise stsenaariumi. Õppejõud peab arvestama sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõiduki sõ
Kui see kehtib kohalikul vool, kasutage SDK dokumenteeritud juhiseid, et peatada/lõpeta käivitust.
Serveril on oma kustutamis- ja staatussõnade voodid. Käituda alguses, valikus, edukas, ebaõnnestumises ja lõppedes vastavalt kasutatud versiooni dokumentidele.
Validierida tühistamist ka IOPAY tehingute voogis. Enne, kui teete, et te ei saa pärast teatamise ebaõnnestumist uuesti nõuda, kinnita tehingu tegelikku seisundit, et vältida topeltööd.
Aktiveerimisandmed peavad jääma väljapoole kasutajaliidma ja logid.
marketplace, seller ja accessKey on osa seadme tehnilist algustamist. Sinu Rakendus peab neid kaitsma ja kasutama automaatselt pärast aktiveerimist.
Kasuta platvormi kohane kohalik mehhanism ja piira juurdepääsu protsessidele, kes tegelikult vajavad andmeid.
Ärge salvestage accessKey'i või samaväärseid andmeid logis, jälgides, eksimiste või analüüsides.
Aktiveerimine on tehniline. Käitaja ei pea müümiseks oma tunnuseid kopeerima.
Kontrolliga enne kui piloot vabastatakse.
Akrediteerimine, konto ja tehingute voog jätkub IOPAY platvormidel, milles webhooks on integreerimise sündmuste ja tehingute jaoks kinnitatud.
Võtke kinnitust Linkis "Payment Terminals → Add Terminal" ja alustage Sinu Rakendus, et validida salvestatud andmete kasutamist.
Näita SDK sõnumid, eristage lihtsa voogu lõpetamise edukus ja säilitage transaktionId, NSU, lubade kood ja tõendite/tunnistuste andmed.
Kommmunikatsioonikorra testimine, tokeni aegumine, püügi katkestamine ja voolu tühistamine IOPAY ja kui see on asjakohane, kohalikul tasemel.
Kontrollige tehingukäe olemasolu enne esimest müüki. Kui see pole olemas, kasutage IOPAY ja koordineerige korrigeerimist tarnijaga.
Turvaliselt säilitatud aktiveerimisandmed, mis ei ole ekraanid, logid ja ebaõiglane telemetria.
ametlik rakendamise dokumentatsioon.
Kasutage allpool olevaid juhiseid projekti paigaldatud komponendi versiooni tehnilise viitega. Parameetrid, koostalitlus, versioonid ja protokollid võivad muutuda; kinnita alati ametlikku dokumente rakendamise ajal.
Vaatlus on struktuuritud TEF integreerimise tehnilise juhendi IOPAY ja avalike Zoop võrdlusaluste põhjal. Kasutage projekti heaks kiidetud versiooni ja kinnita rakendamise ajal ametlike juhiste täielikud parameetrid.
Kas olete valmis esimese terminaali heaks kiitma?
Käivita token SDK või Desktop Server'i kaudu, siduda terminal IOPAY portaalile ja valideerida kogu voog - kohalik, tehing ja webhooks - enne tootmist.

