[Logo] Spazio Aperto Banca Sella
[Register] Registrati   [Login] Login    
[Search] Ricerca   [Recent Topics] Argomenti Recenti   [Hottest Topics] Argomenti vivaci  
[Banner Pubblicitario]
Hidden IFRAME e carte 3d errore 1154  XML
Indice dei Forum » GestPay Sviluppatori
Autore Messaggio
luberti


Registrato: 19/08/2015 18:45:22
Messaggi: 45
Offline

Salve, ho un problema con l'implementazione del workflow del pagamento con hidden IFRAME nel caso di carte con autenticazione 3D .
Sono in ambiente di test account GESPAY65728

Tutto funziona correttamente eccetto il passaggio finale nel quale il mio codice deve invocare la

GestPay.SendPayment({
'TransKey': transKey,
'PARes': PARes
},
LocalObj.PaymentCallBack);


Il risultato, e' sempre

Error:1154 - Chiamata non accettata: parametri non validi

Vedo dalla documentazione sulle API che 1154 dovrebbe corrispondere a "parametro transkey mancante".

In realta' facendo debug del codice javascript i prametri della SendPayment sembrano correttamente popolati.

Se puo' essere utile un esempio di transazione corrisponde allo Shop transaction ID = 2030841117

andrea.morabito


Registrato: 17/02/2017 09:54:17
Messaggi: 143
Offline

Salve,

confermo che l'errore 1154 indica che il parametro TransKey non è stato correttamente valorizzato.
Invito a verificare ulteriormente la presenza di tale dato durante l'invocazione della funzione SendPayment(), magari aggiungendo ulteriori log.

Rispetto alla transazione indicata, ShopTransactionID = 2030841117, verifico che il servizio di crittografia è chiamato correttamente e anche l'iFrame viene inizialmente creato senza problemi.
Qui, però, il giro si interrompe, quindi su GestPay non arriva la seconda chiamata (con Pares e Transkey) prevista per il caso 3D Secure.

Saluti,
Andrea Morabito
luberti


Registrato: 19/08/2015 18:45:22
Messaggi: 45
Offline

Per capire: il fatto che la sceconda chiamata non arrivi e' coerente con il fatto che manchi il parametro, giusto.
La Sendpayment non invia chiamate se i parametri non sono popolati
andrea.morabito


Registrato: 17/02/2017 09:54:17
Messaggi: 143
Offline

Buongiorno.

Il caso che secondo me si sta verificando è che il TransKey viene passato vuoto alla SendPayment().
Simulando questo scenario, nel giro con il 3D secure, ottengo lo stesso errore 1154.
Quindi inviterei a fare ulteriori controlli (aggiungere eventuali log) quando viene recuperato e, successivamente, passato il TransKey.

Saluti
Andrea Morabito
luberti


Registrato: 19/08/2015 18:45:22
Messaggi: 45
Offline

Ho risolto un problema ma ne ho incontrato un altro.

Ho verificato che il problema per cui la SendPayment non inviava chiamate stava nella funziona che leggeva il cookie transKey.
A quanto pare il tipo della variabile non era settato a String.

Effettuando un cast con String(transKey) la SendPayment funziona.


var transKey = getCookie('transKey';

GestPay.SendPayment({
'TransKey': String(transKey),
'PARes': PaRes
},
LocalObj.PaymentCallBack);


Pero' adesso mi restituisce errore 74, "Autorizzazione negata" usando la card di test 4012001037141112
che secondo la documentazione dovrebbe essere accettata sempre.

Esempio di shopTransactionId = 2031839943

Utilizzando la card 4775718800002026 che non passa per il 3d tutto funziona

andrea.morabito


Registrato: 17/02/2017 09:54:17
Messaggi: 143
Offline

Buongiorno.

Si sta ottenendo un esito negativo perchè il Pares non risulta corretto.
Invito a verificare se il dato viene passato in modo corretto e soprattutto a controllarne l'interezza.
Ho il sospetto che il valore inoltrato sia stato troncato oppure ripulito di alcuni caratteri.
Se può essere d'aiuto ho notato che in alcuni test eseguiti dal sottoscritto mi ritrovo sempre il simbolo = a chiudere il Pares mentre nelle transazioni KO, sul profilo GESPAY65728, i vari Pares arrivati non presentano mai tale carattere.

Saluti,
Andrea Morabito
luberti


Registrato: 19/08/2015 18:45:22
Messaggi: 45
Offline

Grazie della tempestiva assistenza, ho risolto tutto.
 
Indice dei Forum » GestPay Sviluppatori
Vai a:   
E.t.v.s.p.b WLS11G