Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

applepay/process -> Cannot construct instance of cz.monetplus.mips.model.eapi.EApiBase$AuthData #652

Open
radek-jurica opened this issue Nov 24, 2022 · 8 comments

Comments

@radek-jurica
Copy link

Dobrý den,

při zaslání requestu na API endpoint applepay/process se nám vrátí kód 400 s následující chybou:

Invalid attribute type in request: Cannot construct instance of cz.monetplus.mips.model.eapi.EApiBase$AuthData (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value

Problém je v parametru fingerprint, který předáváme jako JSON objekt (enkodovany do base64; zkouseli jsme i posilat primo jako JSON string). V dokumentaci je uvedeno, ze typ parametr je "Objekt", ale bohuzel nevime jaky objekt.

V odpovědi na request na applepay/init se nám vůbec nevrátí property "actions" pro ověření fingerprintu.

Jedná se o ověření ve webovém prohlížeči.

Díky za pomoc.

@FVarak

This comment was marked as outdated.

@jgrmelova
Copy link

Dobrý den,

můžu Vás, prosím, požádat o Merchant ID a přibližný čas pokusu applepay/init pro dohledání logů?

Moc děkuji.

@jgrmelova jgrmelova self-assigned this Nov 29, 2022
@radek-jurica
Copy link
Author

Dobrý den,

děkuji za reakci.

  • merchant ID je M1E3CB0759
  • naposledy jsme to zkoušeli 24.11. zhruba mezi 16-19 hodinou

@jgrmelova
Copy link

Dobrý den, 

děkuji za upřesnění. V logu vidím poslední pokus pro applepay/init 24.11. 16:13, kde vidím následující:

Nov 24, 2022 @ 16:13:59.811    Received applepayInit request M1E3CB0759 / f5d89b3151c5@HK, orderNo: 5838479
Nov 24, 2022 @ 16:13:59.857    decoded applepay encrypted message: ...
Nov 24, 2022 @ 16:13:59.860    skipping processing, unable to load merchant's applepay processing certificate
Nov 24, 2022 @ 16:13:59.881    Trx M1E3CB0759 / f5d89b3151c5@HK declined: Invalid payload

f5d89b3151c5@HK - mCode 3231-   APPLEPAY_INVALID_MERCHANT_CONFIG - applepay / nelze provest decrypt, merchant applepay processing certificate nebo pkcs12 chybí. 

Certifikát pro ApplePay vidím, že byl nahrán v systému POS Merchant cca 24.11.2022 16:25. Po tomto čase v logu již nevidím, žádný další pokus o applepay/init.

Můžete, prosím, zkusit zaslat požadavek applepay/init znovu a zaslat mi přesný čas pokusu? 

Co se týče  fingerprintu, měl by vypadat takto (s reálnými daty z prohlížeče):
"fingerprint": {
      "browser" : {
          "acceptHeader" : "application/json, text/plain, /",
          "challengeWindowSize" : "01",
          "javaEnabled" : false,
          "language" : "cs_CZ",
          "colorDepth" : 24,
          "screenHeight" : 720,
          "screenWidth" : 1280,
          "timezone" : -60,
          "javascriptEnabled" : true,
          "userAgent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36"

      }
  }

Hezký den. 

@radek-jurica
Copy link
Author

radek-jurica commented Dec 2, 2022 via email

@jgrmelova
Copy link

Dobrý den,

bylo by, prosím, možné k Vašemu dotazu doplnit nějakou konkrétní transakci (číslo objednávky, variabilní symbol nebo PayID)?

Děkuji.

@janbrasna
Copy link
Contributor

@jgrmelova ID jsou videt na screenshotu, u reverzovane 408a538704c4@HL (1165838479) je videt typ "Apple Pay", kdezto u zamitnute accac1568af4@HL (5838479) je metoda platby jako "Neznamy".

Kazdopadne pokud ta chybova hlaska "Cannot construct instance of cz.monetplus.mips.model.eapi.EApiBase$AuthData" nepochazi z klienta (nejspis ne) ale vraci ji primo server, asi by mela byt konkretni chybovou hlaskou osetrena situace, kdy fingerprint misto pole obsahuje string, a vracet se validacni kod a duvod pro ukazujici na danou hodnotu. (Ted to vypada jako nejaka interni chyba parsovani.)

@janbrasna
Copy link
Contributor

@radek-jurica Pro integracni prostredi se chovani k overeni na simulatorech ridi castkou transakce:

Pro produkci si to ridi vydavatel karty, tj. pokud danym tokenem uz mate historii placeni jinde a vydavatelska banka nema duvod si rikat o aktualni challenge, tak pak platby obzvlaste u MC prochazi v Pay rovnou; u VISA se s kryptogramem zachazi jinak a tam overeni nastava casteji, ale opet, zalezi na vracenych ECI a SLI hodnotach a lisi se to platba od platby. Testovat v produkci na overeni se da napr. u nove karty, tj. s bankou ktera umi vydavat mnoztvi "jednorazovych" virtualnich karet ktere lze take tokenizovat do penezenky. U nove nikdy nepouzite karty je vetsi sance ze se overeni objevi, hlavne u VISA karet. Ale garance neni, cele 3DS 2 ma tyto challenge za cil minimalizovat, a u kryptogramu z Pay a MC karet je temer vzdy otisku zarizeni duverovano. Google Pay a oneclicky vyvolavaji overeni casteji.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants