Paikallinen viestintä PDV:n, palvelun/SDK:n ja PINPADin välillä
Integroi TEF.
Oma toimintasi paikan päällä
IOPAYn tehostamana
Virtaa yhteenliitetty kasvokkain myyminen TEF:lla! Tuo Iopay-teknologian hallintavoima käyttöön
Hyvin määritelty kaksitasoinen integraatio
TEF-henkilön vangitseminen tapahtuu paikallisesti välillä Oma SovelluksesiZoop-komponentti ja PINPAD-maksutapahtuma on kuitenkin edelleen integroitu IOPAY-maksutapahtumaan. Näin säilytetään yksi kerros tiliä, tapahtumahallintaa, pääteaktivaatiota, tapahtumia ja webhooks-ohjelmaa varten
Käytä Zoop Desktop SDK- tai Zoop Desktop-palvelinta paikallinen TEF-kaappaus. Jatka käyttöä IOPAY APIs + webhooks Toiminta- ja liiketoimisyklin loppuosa
Luokitus, tili, pääteaktivaatio, tapahtuma ja Webhooks
Pidä APIs ja IOPAY webhooks ja lisää paikallinen TEF-kaappaus
Kuka tekee mitäkin kotoutumisessa
Alla oleva erottaminen estää Zoop-komponentin käytön paikallisessa kaappauksessa, eikä se sekoita toiminnan pääintegraation vaihtoon.
| Osa | Vastuu hankkeesta |
|---|---|
| Oma Sovelluksesi | Integroi TEF-kaappaus Zoop Desktop SDK - tai Desktop-palvelimella ja säilytä integrointi IOPAY APIs - ja webhooks -laitteilla |
| IOPAY | Akkreditointi, tili, portaalipääteaktivaatio, webhooks ja tapahtumavirta |
| SDK / Palvelin Zoop | TEF-paikannuspuhelu ja viestintä sovelluksen ja PINPADin välillä |
| PINPAD / pääte | Fysikaalinen laite, joka on vastuussa vuorovaikutuksesta kortin ja kantaja-aineen kanssa kiinnioton aikana. |
Tätä integrointimallia varten on käytettävä toiminnallista linkkiä aina, kun Zoop-aktivaatiovirta pyytää, että ruudulle vahvistetaan . Portaali IOPAY → Maksupäätteet → Lisää pääte.
SDK Upotettu tai työpöytäpalvelin
Paikallisen kerroksen käyttöön on kaksi dokumentoitua tapaa säilyttää sama IOPAY-arkkitehtuuri tiliä, aktivointia ja tapahtumia varten
Oma Sovelluksesi:een upotettu kirjasto ilmoittaa, milloin PDV voi suoraan kuluttaa liitännän ja kontrolloida paikallista viestintää päätelaitteen kanssa
Taustalla paikallinen palvelu Oma Sovelluksesi keskustelee hänen kanssaan WebSocketin kautta, yleensä
ws://localhost:1337.
Tyhjästä hankkeesta ensimmäiseen maksuun viidessä vaiheessa
Valmistele suunnittelu ja pääte
Vahvista IOPAY-pakkauksella pääte- ja testiympäristö. Määritä Zoop:n Maven-varasto, valitse alustaasi vastaava esine – JVM, Android tai KMP – ja lisää virallisessa dokumentissa mainitut lisäriippuvuudet Käytä projektin sovittua versiota
implementation(
"br.zoop.pos.plugin:zoop-pos-plugin-desktop-jvm:X.Y.Z"
)
Ladattavat paketit voivat vaatia GitHub-käyttäjän ja lukuluvalla toimivan PAT-käyttäjän Tämä käyttö on vain esineen kehittämistä ja jakelua varten ja se on erillinen päätelaitteen tunnistamisesta
Aloita ilman maksutunnuksia
Ensimmäisen aktivoinnin yhteydessä käynnistä Zoop ilman tunnuslukua ja yhdistä DesktopPlugin. JVM:ssä raportoi myös SDK-version vaatimat sovellustiedot; lohko
application ei koske Androidia
Zoop.initialize(context)
val desktopPlugin = DesktopPlugin(
Zoop.constructorParameters()
)
Zoop.plug(desktopPlugin)
Suorita poletti ja linkitä IOPAY-portaaliin
Luo aktivointipyyntö
createDashboardActivationRequestBuilder()hoidetaan tokenCallback ja lähettää pyynnön mukana: Zoop.post(). Näytä kuponki operaattorille ja käytä sitä IOPAY em -portaalissa
Maksupäätteet → Lisää pääte. Odota sitten SDK:n vahvistusta
val activationRequest =
ZoopFoundationPlugin
.createDashboardActivationRequestBuilder()
.tokenCallback(/* receber e exibir o token */)
.confirmCallback(/* persistir dados confirmados */)
.build()
Zoop.post(activationRequest)
Jatka aktivointia ja todenna automaattisesti
Ei , ei confirmCallbackTallenna aktivoimalla palautetut tiedot Seuraavassa aloitusvaiheessa uudelleenkäyttö
marketplace, seller ja
accessKey. Aktivointi tehdään kerran laitetta kohden niin kauan kuin nämä tiedot pysyvät voimassa ja saatavilla
{
"marketplace": "<retornado-na-ativacao>",
"seller": "<retornado-na-ativacao>",
"accessKey": "<retornado-na-ativacao>"
}
Tee ensimmäinen maksu
Ennen kuin myyt, vahvista tapahtuma-avaimen läsnäolo PINPADissa Sitten luo myynti
DesktopPlugin.createPaymentRequestBuilder()Ilmoita arvo sentteinä, moduuleina ja erinä ja käsittele viestejä, menestystä, epäonnistumista ja virran loppumista.
Oma Sovelluksesi:n ei tarvitse pyytää tai syöttää maksunäppäimiä jokaisen päätelaitteen aktivoimiseksi Seuraavissa alustuksissa käytetyt tekniset tiedot saadaan aktivointivirrassa ja ne pysyvät itse sovelluksessa.
Zoop Desktop SDK integroitu suoraan PDV:hen
Tässä lähestymistavassa kaappausosa on Oma Sovelluksesi:ssa Liitännäinen keskustelee paikallisesti PINPAD:n kanssa, kun operaatio on edelleen yhteydessä IOPAY-infrastruktuuriin.
Aktivoinnin jälkeinen aloittaminen
Sen jälkeen marketplace, seller ja
accessKey Jos ne on saatu takaisin ja säilytetty, käytä näitä arvoja aika-ajossa SDK-järjestelmän käynnistämiseksi uudelleen.
Zoop.initialize(context) {
credentials {
marketplace = storedMarketplace
seller = storedSeller
accessKey = storedAccessKey
}
}
val desktopPlugin = DesktopPlugin(
Zoop.constructorParameters()
)
Zoop.plug(desktopPlugin)
Kotouttamisen tila
Alustaa ilman todistuksia, luo kuponkeja ja odottaa linkkiä IOPAY-portaalin kautta
App-kaupan markkinat, seller ja pääsyKey turvallisesti
Tallennettuja tietoja käytetään uudelleen ilman, että käyttäjä kirjoittaa niitä uudelleen
Tokentti on syntynyt SDK:ssa ja linkki on valmistunut IOPAY:ssa
Aktivointi kytkee laitteen oikeaan tiliin Tämä vaihe on tehtävä ennen ensimmäistä tapahtumaa ja testattava myös sen jälkeen, kun käynnistät sovelluksesi uudelleen
Oma Sovelluksesi pyytää aktivoimaan Zoop-komponentin ja saa väliaikaisen merkin
Token on ilmoitettu maksupäätteissä → Lisää pääte
SDK palauttaa tiedot, joita Oma Sovelluksesi tarvitsee pitääkseen kiinni tulevista alustuksista
Tallenna palautetut tiedot turvallisesti. Evit-markkinapaikka, seller ja pääsyAvain käyttäjän näytöille, sovelluslokeille, avoimen telemetrian tai vianetsintäkaapeille
Kysy tapahtuma-avainta ennen veloittamista
Zoop-tapahtuma-avaimen on oltava PINPADissa, jotta korttimaksut voidaan suorittaa Jos olet poissa, napauta IOPAY-näppäintä, jotta korjaus voidaan koordinoida laitetoimittajan kanssa.
Älä pidä avaimen puuttumista ohjelmistovirheenä PDV:ssä Päätettä on säänneltävä ennen kauppaa
Esimerkki korttimaksusta
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)
Käsittele myös virtauksen väliviestejä näyttääksesi operaattorille ohjeita, kuten lähestymistä, syöttämistä tai kortin lukemista Paikallisen palautteen avulla PDV voi seurata, mitä terminaalissa tapahtuu
Mikä jatkuu tuloksessa
Liitä paikallinen tapahtuma tilaukseen ja operaatioon IOPAY:n mukana.
NSU:n säilytys ja lupakoodi palautettu täsmäytystä ja tukea varten
Tallenna SDK-version käyttöön saamat todistetiedot.
Takaisinkutsu onComplete Se kertoo, että virta on päättynyt, vaikka vika olisi tapahtunut, katso hyväksytty maksu vain vastaavasta onnistuneesta tuotosta ja korreloi tulos IOPAY-tapahtuman kanssa.
Vaihtoehto paikallisen WebSocket-palvelun kautta
Zoop Desktop Server toimii paikallisena palveluna ja paljastaa WebSocketin Oma Sovelluksesi:lle. Spektiivisi on edelleen TEF:n kaappaus Akkreditointi-, tili-, webhooks- ja tapahtumavirta IOPAY-alustoille.
Asenna ja käynnistä palvelu
Hanki asentaja virallisiin Zoop-julkaisuihin Oppaassa kuvatuissa Windows- ja Linux-asennuksissa valmista Java/JDK 17, joka on voimassa
java -version ja pitää palvelimen käynnissä PINPAD-yhteysasemalla
java -version
Liitä sovellus
Kun Oma Sovelluksesi- ja Desktop-palvelin ovat samassa koneessa, yhdistä paikalliseen osoitteeseen Treat-pistokkeen avautuminen, viestit, virheet ja sulkeutuminen
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();
};
Käynnistä aktivointi
Lähetä se sisään. {"type":"activation"}. Kun palvelimen vastaus on tila
tokenEsittäkää kenttä
token ja täydennä linkki IOPAY-portaalin Save Status
success.
{
"type": "activation"
}
Menestyksellisesti, sinnikkäästi marketplace,
seller ja accessKey tuleville alustuksille
Aloita talteen otetuista tiedoista
Lähetä viesti initialize käyttämällä täsmälleen aktivoinnin jälkeen tallennettuja arvoja. Kenttä devicePort Serveri voi automaattisesti havaita PINPADin, jos se jätetään pois. Hetkinen. status: success
ennen liiketoimien sallimista
{
"type": "initialize",
"marketplace": "<valor recebido na ativacao>",
"seller": "<valor recebido na ativacao>",
"accessKey": "<valor recebido na ativacao>"
}
Toteuta saalis VPD:ssä
Käytä Desktop-palvelimen dokumentoimia JSON-järjestelmiä paikallisten kaappauskomentojen hoitamiseen ja kaikkien palautusten hoitamiseen. Paikallinen vastaus auttaa PINPAD-kokemuksen johtamisessa. Transaktiohallinta ja webhooks jatkavat IOPAY:n kautta.
<valor recebido na ativacao> edustaa sovelluksesi itsepintaista dataa Nämä eivät ole tietoja, jotka operaattorin on syötettävä jokaisessa aloituksessa.
Oma Sovelluksesi vastaanottaa edelleen IOPAYn tapahtumia.
Lisää TEF ei muuta epäyhtenäistä integraatiosopimusta: Oma Sovelluksesi edelleen vastaanotetaan webhooks mistä IOPAY Kunkin tapahtuman ja liiketoimen osalta sopimuksen mukaisen integraation mukaan SDK/Server Local Return täydentää PDV-kokemusta; se ei poista IOPAY Tapahtumakerros
Liiketoimet, operatiiviset päivitykset ja kotoutumistapahtumat
Pidä webhook- päätetapahtumasi ja korreloi tapahtumat pyynnön, päätetapahtuman ja paikallisen tapahtuman kanssa
Suositeltu vastaavuusmalli
Käytä omaa tunnistettasi yhdistääksesi maksun hakemukseesi, kun se on saatavilla
Tallenna päätteen paikallisvirran palauttamat tunnisteet
Päivitä operaation tilanne IOPAY-integraatio-ohjelman saamiin tapahtumiin
TEF-komponentti on paikallinen, mutta Oma Sovelluksesi:n ei tarvitse luopua IOPAY APIs:n ja webhooks:n olemassa olevasta virrasta Jatka webhooks:n validointia jokaisesta tapahtumasta ja tapahtumasta homologioinnin aikana
Harjoitusviat ennen hyväksyntää
Älä vain hyväksy hyväksymisskenaariota Lentäjän on harkittava viestintähäiriöitä, vanhentunutta kuittia, keskeytystä kiinnioton aikana, uudelleenkäynnistettävä sovellus ja peruutukset
Jos paikallisvirtaa sovelletaan, käytä SDK:n dokumentoimia komentoja keskeyttääksesi/peruuttaaksesi käynnissä olevan toiminnan
Palvelimella on omat peruutus- ja tilaviestin virrat Treat Start, Selection, Success, Fail and End käytetyn version dokumentoinnin mukaan
Peruutus koskee myös IOPAY-tapahtumavirtaa. Ennen kuin toistat veloituksen viestinnästä luopumisen jälkeen, vahvista tapahtuman todellinen tila päällekkäisyyksien välttämiseksi
Aktivointitietojen on pysyttävä rajapinnan ja lokien ulkopuolella
Market, seller ja AccessKey ovat osa laitteen teknistä käynnistystä. Oma Sovelluksesi:n on suojattava ja käytettävä sitä automaattisesti aktivaation jälkeen.
Käytä alustalle sopivaa paikallista mekanismia ja rajoita pääsyä prosesseihin, jotka todella tarvitsevat tietoja
Älä syötä avaintietoja tai vastaavia tietoja lokitietoihin, jälkiin, virheilmoituksiin tai analytiikkaan
Aktivointi on tekninen Toimijan ei tarvitse kopioida valtakirjoja myydäkseen
Tarkistuslista ennen lentäjän julkaisua
Akkreditointi, tili- ja tapahtumavirta jatkuvat IOPAY-alustojen kautta, ja webhooks on validoitu integraatiotapahtumiin ja -tapahtumiin
Vahvista yhteys maksupäätteisiin → Lisää pääte ja käynnistä Oma Sovelluksesi uudelleen, jotta tallennettujen tietojen käyttö voidaan varmistaa
Näytä SDK-viestit, erota virtauksen yksinkertainen lopetus onnistuneesti toisistaan ja säilytä tapahtumaId, NSU, valtuutuskoodi sekä todisteet/vastaanottajatiedot
Tämä viestintähäiriötesti, viestikatkos, pysäytyskatkos ja peruutukset IOPAY-virrassa ja tarvittaessa paikallisessa kerroksessa.
Vahvista tapahtuma-avaimen läsnäolo ennen ensimmäistä myyntiä Jos se on poissa, napauta IOPAYa, jotta korjaus voidaan koordinoida toimittajan kanssa.
Näyttöjen, lokien ja epäasianmukaisen telemetrian aktivointitiedot tallennettu turvallisesti ja poissa käytöstä
Viralliset asiakirjat täytäntöönpanoa varten
Käytä alla olevia oppaita teknisenä viitetietona projektin Parametreihin asennetun komponentin versiolle, yhteensopivuudelle, versioille ja protokollille voi kehittyä; vahvista aina viralliset asiakirjat toteutuksen aikana
Virta on rakennettu IOPAY-tekniikan oppaasta TEF-integraatioon sekä Zoop:n julkisista viitetiedoista. Käytä projektille hyväksyttyä versiota ja vahvista viralliset oppaat täydet parametrit toteutushetkellä
Oletko valmis hyväksymään ensimmäisen terminaalin?
Hallinna token SDK- tai Desktop-palvelimen kautta, yhdistä pääte IOPAY-portaaliin ja vahvista koko virta – paikallinen kaappaus, tapahtuma ja webhooks – ennen kuin siirryt tuotantoon

