Integracijos diegimas

Konsultantams ir atstovams:

Diegimas

  • Į Rivile GAMA\ALL katalogą įrašomi failai:
    • contomobile_qr_link.fxp
  • Pardavimo operacijų sąraše aprašomas testavimo klavišas (CTRL+Q):
 m.lcNuoroda=""
 contomobile_qr_link(@lcNuoroda,1.00,"Mokėjimo paskirtis testas","01000000xxxx","RO")
 f_info(m.lcResult,.t.)

contomobile_w4

  • Pirmą kartą paleidus testavimo klavišą, automatiškai susikuria parametras: CONTOMO_USER

  • Įvedamos parametro CONTOMO_USER reikšmės:

    • Contract id ir Key - ši informacija gaunama iš Contomobile
  • Pardavimo operacijų sąraše paspaudus testavimo klavišą, sėkmės atveju parodoma pilnai suformuota nuoroda, kurią nukopijavus į naršyklę atidaromas dokumento apmokėjimo langas Contomobile puslapyje. Jei viskas veikia tinkamai - testavimo mygtuką galima ištrinti.

  • Susiimportuojama papildoma ataskaita - joje aprašytas nuorodos įkėlimo pavyzdys.

  • Analogiškai pakoreguojamos kliento naudojamos ataskaitos arba el. laiškų tekstai:

    • Įkeliamas nuorodos stulpelis ruošiant duomenis ataskaitos INIT'e
    • Įkeliamas QR ir apmokėjimo tekstas su nuoroda
    • Pridedama sugeneruota nuorda į el. laiško tekstą

CONTOMOBILE_QR_LINK

contomobile_qr_link(@lcNuoroda,lnSuma,lcPaskirtis,lcKodas_op,lcModulis)
  • lcNuoroda - grąžinama nuoroda arba klaidos pranešimas (Privalomas)
  • lnSuma - nurodoma suma. Tipas skaitmeninis (Privalomas)
  • lcPaskirtis - mokėjimo paskirtis, gavus pavedimą bus matoma ši mokėjimo paskirtis (Privalomas)
  • lcKodas_op - operacijos numeris arba sugeneruotas unikalus kodas. Privalomas, nes reikalingas unikalaus kodo generavimui
  • lcModulis - moduliu kodas. Pavyzdžiui: RO, PO, IN... Privalomas, nes reikalingas unikalaus kodo generavimui

Jei nėra žinomas tikslus operacijos numeris, tuomet galima generuoti unikalų kodą (contomobile transakcijos ID)

Contomobile maksimalus transakcijos ID (lcKodas_op) ilgis gali būti 35 simboliai ir negali kartotis. Pavyzdžiui lcKodas_op = kliento kodas+data su laiku (alltrim(i44_kodas_ks)+ttoc(m.ldDateTime,1)), contomobile prg dar prideda modulį ir galutinis rezultatas modulis+kodas+data su laiku.

Procedūra contomobile_qr_link_ro grąžina .T. arba .F., pagal šias reikšmes galime nustatyti ar nuoroda buvo sugeneruota ar ne.

Naudojimo pavyzdys kai perduodams tikslus operacijos numeris:

m.lcNuoroda=""
contomobile_qr_link(@lcNuoroda,i06_suma+i06_suma_pvm,"Dokumentas #"+alltrim(i06_dok_nr),i06_kodas_po,"RO")
* Grąžinama nuoroda:
* "https://quickpay.contomobile.com/initialize?token=..."

Naudojimo pavyzdys kai nežinomas tikslus operacijos numeris:

m.lcNuoroda=""
m.ldDateTime=datetime()
m.lcKodas_op=alltrim(i06_kodas_ks)+ttoc(m.ldDateTime,1)
contomobile_qr_link(@lcNuoroda,200.99,"Dokumentas #AAA",m.lcKodas_op,"RO")
* Grąžinama nuoroda:
* "https://quickpay.contomobile.com/initialize?token=..."

Pavyzdžiai sąskaitoje faktūroje ir el. laiško tekste

Sąskaitoje faktūroje:

Spausdinant ataskaitoje, sugeneruotą nuorodą reikėtų įterpti į ataskaitos duomenis (ataskaitos INIT'e). Pavyzdžiui:

LOCAL lal
lal=ALIAS()

IF TYPE(lal+".contomobile_link")#"C"
    LOCAL lcNuoroda
    IF !contomobile_qr_link(@m.lcNuoroda,i06_suma+i06_suma_pvm,"Dokumentas #"+alltrim(i06_dok_nr),i06_kodas_po,"RO")
        WAIT WINDOW m.lcNuoroda
        RETURN .F.
    ENDIF
    IF EMPTY(m.lcNuoroda)
        WAIT WINDOW "Nepavyko sugeneruoti nuorodos"
        RETURN .F.
    ENDIF
    SELECT *, CAST(m.lcNuoroda as M) as contomobile_link FROM (lal) INTO CURSOR (lal) READWRITE
ENDIF

SELECT (m.lal)
GO TOP

Ataskaitos formoje įkeliama nuoroda. Nuoroda pagal XFRX taisykles aprašoma objekto komentaruose:

#UR A HREF=contomobile_link

Norint ataskaitoje suformuoti QR kodą, komanda paveiksliuko objektui:

bar_kod_gen_qr_full(contomobile_link,330)

contomobile_w3

Detaliau: bar_kod_gen_qr_full.

El. laiško tekste:

Siunčiant el. laišką sugeneruotą nuorodą reikėtų įterpti į ataskaitos duomenis (ataskaitos INIT'e). Pavyzdžiui:

LOCAL lcNuoroda

IF !contomobile_qr_link(@m.lcNuoroda,i06_suma+i06_suma_pvm,"Dokumentas #"+alltrim(i06_dok_nr),i06_kodas_po,"RO")
    WAIT WINDOW m.lcNuoroda
    RETURN .F.
ENDIF

IF EMPTY(m.lcNuoroda)
    WAIT WINDOW "Nepavyko sugeneruoti nuorodos"
    RETURN .F.
ENDIF

m.lcPav="PVM S/F"
m.lcText=[Laba diena,<br><br>]
m.lcText=m.lcText+[Siunčiame Jums PVM Sąskaitą-Faktūrą.<br>]
m.lcText=m.lcText+[Apmokėti galite <a href="]+alltrim(m.lcNuoroda)+[" target="_blank">ČIA</a><br>]
...

IF !f_mail_Chilkat(m.lcE_mail,m.lcPav,,m.lcFile,m.lcText)
...

Kad nuoroda būtų aktyvi el. laiške, privaloma laiško tekstą formatuoti ir siųsti HTML formatu.