Jump to content

OnAjaxEvent içerisinde form kapatma sorunu hk.


sertacb

Recommended Posts

Merhaba,

Sanal POS entegrasyonu ile ilgili çalışmalar yapıyorum.

Onajaxevent içerisinde, http callback ile dönen bilgileri aldıktan sonra ilgili formu her ne şekilde kapatmaya çalışırsam çalışayım  Ajax Error "O2Bclose is not defined" şeklinde hata

almaktayım. 

UniSession.CallbackUrlex('POSCallBack', self, ['RES', 'OK'],true,false) ile oluşan adres http://xxx.xxx.xxx.xxx:8077/HandleEvent?IsEvent=1&Obj=O2B&Ajax=1&Evt=POSCallBack&RES=OK&_S_ID=UepMzOxlGt1096C1C36&__EXCB__=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

4 hours ago, sertacb said:

Merhaba,

Sanal POS entegrasyonu ile ilgili çalışmalar yapıyorum.

Onajaxevent içerisinde, http callback ile dönen bilgileri aldıktan sonra ilgili formu her ne şekilde kapatmaya çalışırsam çalışayım  Ajax Error "O2Bclose is not defined" şeklinde hata

almaktayım. 

UniSession.CallbackUrlex('POSCallBack', self, ['RES', 'OK'],true,false) ile oluşan adres http://xxx.xxx.xxx.xxx:8077/HandleEvent?IsEvent=1&Obj=O2B&Ajax=1&Evt=POSCallBack&RES=OK&_S_ID=UepMzOxlGt1096C1C36&__EXCB__=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Merhaba

HTTP Post Callback - HTMLFrame2 demosunu incelediniz mi? Orda veri geldikten sonra var olan formu kapatiyor

 

Link to comment
Share on other sites

Merhaba,

 

Orada form kapanmıyor. Callback üzerinden dönen veriler showmessage ile gösteriliyor.

if EventName = 'mycallback' then
  begin
    ShowMessage('Operation Succeeded:'^M^M+Params.Values['user']+^M^M+Params.Text)
  end;

Link to comment
Share on other sites

54 minutes ago, sertacb said:

Merhaba,

 

Orada form kapanmıyor. Callback üzerinden dönen veriler showmessage ile gösteriliyor.

if EventName = 'mycallback' then
  begin
    ShowMessage('Operation Succeeded:'^M^M+Params.Values['user']+^M^M+Params.Text)
  end;

Merhaba

Yanlis ornege baktiniz sanirim. "HTTP Post Callback - HTMLFrame2" demosuna bakacaksiniz.

image.png.43df6e5d8f2996f48b5640bc004d3559.png

Link to comment
Share on other sites

Günaydın,

Verdiğiniz örnek online demo üzerinde HTML Frame 1 olarak geçiyor. Ondan bir karışıklık oldu sanırım.

Ama zaten benim kullanım şeklimde herhangi bir sorun yok.

 

procedure Tfrm_postest.UniFormAjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings);
begin

if SameText(EventName,'POSCallBack') then
  begin
   if (Params.Values['RES']='OK') then
    Begin
     modalresult:=mrok;
    end
    else
    Begin
     ModalResult:=mrcancel;
    End;
  end;

end;

 

Bu yapı Vakıfbank tarafında sağlıklı bir şekilde çalışırken, aynı yapı Akbank ve Denizbank tarafında işlemiyor.

Bir şekilde aktif unigui session sonlanıyor gibi. Mevcutta var olan O2B objesine ajax tarafından erişemiyor.

Aşağıda işlem sonucu dönen callback çağrısını bulabilirsiniz.

http://xxx.xxx.xxx.xxx:8077/HandleEvent?Version=1.0.2&MerchantID=&ShopCode=XXXX&TxnStat=Y&MD=&RetCode=&RetDet=&VenderCode=&Eci=05&PayerAuthenticationCode=AgEBCSEiEgAAAAQ1VEmIAAAAAAA%3D&PayerTxnId=MjAyMTEyMDEwODUwNDI2Mzc3Mzk%3D&CavvAlg=2&PAResVerified=True&PAResSyntaxOK=True&Expiry=1222&Pan=XXXXXXXXXXXXXXXX&OrderId=SYSOID357633&PurchAmount=9%2C95&Exponent=2&Description=&Description2=&Currency=949&OkUrl=http%3A%2F%2FXXX.XXX.XXX.XXX%3A8077%2FHandleEvent%3FIsEvent%3D1%26Obj%3DO2B%26Ajax%3D1%26Evt%3DPOSCallBack%26RES%3DOK%26_S_ID%3Ds5a7cxeyUp1096D79D7%26__EXCB__%3D1&FailUrl=http%3A%2F%2FXXX.XXX.XXX.XXX%3A8077%2FHandleEvent%3FIsEvent%3D1%26Obj%3DO2B%26Ajax%3D1%26Evt%3DPOSCallBack%26RES%3DCANCEL%26_S_ID%3Ds5a7cxeyUp1096D79D7%26__EXCB__%3D1&3DStatus=1&AuthCode=805836&HostRefNum=hostid&TransId=133508000005&TRXDATE=01.12.2021+08%3A51%3A05&CardHolderName=KA*+AB*+&mdStatus=1&ProcReturnCode=00&TxnResult=Success&ErrorMessage=&ErrorCode=&Response=Approved&HASH=ZxxDo8aCaXxhda9xt2orqb3Z7i1DM%3D&HASHPARAMS=Version%3APurchAmount%3AExponent%3ACurrency%3AOkUrl%3AFailUrl%3AMD%3AOrderId%3AProcReturnCode%3AResponse%3AmdStatus%3A&HASHPARAMSVAL=1.0.29%2C952949http%3A%2F%2FXXX.XXX.XXX.XXX%3A8077%2FHandleEvent%3FIsEvent%3D1%26Obj%3DO2B%26Ajax%3D1%26Evt%3DPOSCallBack%26RES%3DOK%26_S_ID%3Ds5a7cxeyUp1096D79D7%26__EXCB__%3D1http%3A%2F%2FXXX.XXX.XXX.XXX%3A8077%2FHandleEvent%3FIsEvent%3D1%26Obj%3DO2B%26Ajax%3D1%26Evt%3DPOSCallBack%26RES%3DCANCEL%26_S_ID%3Ds5a7cxeyUp1096D79D7%26__EXCB__%3D1SYSOID35763300Approved1&IsEvent=1&Obj=O2B&Ajax=1&Evt=POSCallBack&RES=OK&_S_ID=s5a7cxeyUp1096D79D7 

Form modalresult atandığında alınan hata.

   image.png.ef27ab0a79fef3ff136716e2fcf8dfa3.png

 

 

 

 

Link to comment
Share on other sites

7 hours ago, sertacb said:

Günaydın,

Verdiğiniz örnek online demo üzerinde HTML Frame 1 olarak geçiyor. Ondan bir karışıklık oldu sanırım.

Ama zaten benim kullanım şeklimde herhangi bir sorun yok.

 

procedure Tfrm_postest.UniFormAjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings);
begin

if SameText(EventName,'POSCallBack') then
  begin
   if (Params.Values['RES']='OK') then
    Begin
     modalresult:=mrok;
    end
    else
    Begin
     ModalResult:=mrcancel;
    End;
  end;

end;

 

Bu yapı Vakıfbank tarafında sağlıklı bir şekilde çalışırken, aynı yapı Akbank ve Denizbank tarafında işlemiyor.

Bir şekilde aktif unigui session sonlanıyor gibi. Mevcutta var olan O2B objesine ajax tarafından erişemiyor.

Aşağıda işlem sonucu dönen callback çağrısını bulabilirsiniz.

http://xxx.xxx.xxx.xxx:8077/HandleEvent?Version=1.0.2&MerchantID=&ShopCode=XXXX&TxnStat=Y&MD=&RetCode=&RetDet=&VenderCode=&Eci=05&PayerAuthenticationCode=AgEBCSEiEgAAAAQ1VEmIAAAAAAA%3D&PayerTxnId=MjAyMTEyMDEwODUwNDI2Mzc3Mzk%3D&CavvAlg=2&PAResVerified=True&PAResSyntaxOK=True&Expiry=1222&Pan=XXXXXXXXXXXXXXXX&OrderId=SYSOID357633&PurchAmount=9%2C95&Exponent=2&Description=&Description2=&Currency=949&OkUrl=http%3A%2F%2FXXX.XXX.XXX.XXX%3A8077%2FHandleEvent%3FIsEvent%3D1%26Obj%3DO2B%26Ajax%3D1%26Evt%3DPOSCallBack%26RES%3DOK%26_S_ID%3Ds5a7cxeyUp1096D79D7%26__EXCB__%3D1&FailUrl=http%3A%2F%2FXXX.XXX.XXX.XXX%3A8077%2FHandleEvent%3FIsEvent%3D1%26Obj%3DO2B%26Ajax%3D1%26Evt%3DPOSCallBack%26RES%3DCANCEL%26_S_ID%3Ds5a7cxeyUp1096D79D7%26__EXCB__%3D1&3DStatus=1&AuthCode=805836&HostRefNum=hostid&TransId=133508000005&TRXDATE=01.12.2021+08%3A51%3A05&CardHolderName=KA*+AB*+&mdStatus=1&ProcReturnCode=00&TxnResult=Success&ErrorMessage=&ErrorCode=&Response=Approved&HASH=ZxxDo8aCaXxhda9xt2orqb3Z7i1DM%3D&HASHPARAMS=Version%3APurchAmount%3AExponent%3ACurrency%3AOkUrl%3AFailUrl%3AMD%3AOrderId%3AProcReturnCode%3AResponse%3AmdStatus%3A&HASHPARAMSVAL=1.0.29%2C952949http%3A%2F%2FXXX.XXX.XXX.XXX%3A8077%2FHandleEvent%3FIsEvent%3D1%26Obj%3DO2B%26Ajax%3D1%26Evt%3DPOSCallBack%26RES%3DOK%26_S_ID%3Ds5a7cxeyUp1096D79D7%26__EXCB__%3D1http%3A%2F%2FXXX.XXX.XXX.XXX%3A8077%2FHandleEvent%3FIsEvent%3D1%26Obj%3DO2B%26Ajax%3D1%26Evt%3DPOSCallBack%26RES%3DCANCEL%26_S_ID%3Ds5a7cxeyUp1096D79D7%26__EXCB__%3D1SYSOID35763300Approved1&IsEvent=1&Obj=O2B&Ajax=1&Evt=POSCallBack&RES=OK&_S_ID=s5a7cxeyUp1096D79D7 

Form modalresult atandığında alınan hata.

   image.png.ef27ab0a79fef3ff136716e2fcf8dfa3.png

 

 

 

 

Merhaba

Test case yapmaniz mumkun mu? 

BrowserWindow demosunu denediniz mi?

Link to comment
Share on other sites

Merhaba,

 

Browser Windows olarak denedim. Uniurlframe içerisine gönderdiğim html kodları (html kodlar her işlemde değişiyor) aşağıdaki kod bloğu ile bir html dosyası içerisine yazıp onu direk olarak browser windows ile çağırıyorum. Banka aracı sayfasına yönleniyorum sorunsuz bir şekilde, şifre giriş işlemi başarılı olarak gerçekleştikten sonra OnAjaxEvent tetikleniyor, buradan sonra mevcut browser windows üzerine '___BASE64___TzJCLnJldGZhbHNlLmJlZm9yZWNsb3NlPTA7TzJCLmNsb3NlKCk7' kodu çıkıyor. Bu çıkan kodu base64decode yaptığımızda diğer yöntemlerde olduğu gibi 'O2B.retfalse.beforeclose=0;O2B.close();' mesajı karşımıza çıkıyor.

 

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...