csob / paymentgateway

English documentation of the ČSOB Payment Gateway that offers an API for credit card payments, Apple Pay, Google Pay, mallpay and ČSOB Payment Button.
https://platbakartou.csob.cz/platebni-brana
GNU General Public License v3.0
121 stars 68 forks source link

Nedostatečný popis sestavení signatury #634

Closed pvlst closed 2 years ago

pvlst commented 2 years ago

Pro Google Pay, kde je poprvé použito pole stringů v echo endpointu, není jasně popsáno, jak z toho sestavit signaturu. Předpokládám, že se hodnoty v poli seřadí za sebe. Například:

"polozka1":["zxcvb","1234","ASDF"],
"polozka2": true

->

zxcvb|1234|ASDF|true

Ovšem co kdyby bylo pole prázdné, nebo obsahovalo prázdné řetězce? Obecně není vysvětleno, jak naložit se stringem, který je prázdný (""), zda by se měl přidávat do signatury jako prázdná položka (např. zxcvb||ASDF) či nikoliv.

Dále sdělení, že

"Pokud tedy nebude některý nepovinný parametr použit, nebude ani ve výsledném řetězci."

je technicky neexaktní. Co to znamená, že není použit? Že není obsažen v requestu/response? Co když tam je obsažen, ale má hodnotu null, což je obvykle technicky ekvivalentní?

mjanek commented 2 years ago

Dobrý den, Váš požadavek byl zaevidován a předán k řešení. O dalším průběhu Vás bude informovat odpovědný servisní technik. M. Janek

jgrmelova commented 2 years ago

Dobrý den,

v případě, že se jedná o nepovinný parametr, který je prázdný "null", tak se do výsledného řetězce nezahrnuje.

Obecně se datové položky řadí za sebe v pořadí, v jakém jsou ve specifikaci uvedeny.

Co se týče googlepay/process, tak je v současné chvíli chyba na naší straně. Aktuálně se (v rozporu s dokumentací), očekává pořadí podepisovaného objektu "browser" takto:

acceptHeader javaEnabled language colorDepth screenHeight screenWidth timezone userAgent challengeWindowSize javascriptEnabled

místo správného: userAgent acceptHeader language javascriptEnabled colorDepth screenHeight screenWidth timezone javaEnabled challengeWindowSize

Oprava bude nasazena v nejbližším release.

V případě doplňujících dotazů jsem Vám k dispozici.


Jana Grmelová

jgrmelova commented 2 years ago

Dobrý den,

dnes proběhlo plánované nasazení nového release pro produkční prostředí.

Očekávané pořadí podepisovaného objektu "browser" je již v souladu s dokumentací.

Správné pořadí: userAgent acceptHeader language javascriptEnabled colorDepth screenHeight screenWidth timezone javaEnabled challengeWindowSize

V případě doplňujících dotazů jsem Vám k dispozici.

Hezký den.


Jana Grmelová

jgrmelova commented 2 years ago

Dobrý den,

u požadavku neevidujeme žádné doplňující dotazy. Tento požadavek v současné chvíli ukončuji.

V případě potřeby je možné vytvořit požadavek nový nebo požadavek znovu otevřít.

Hezký den.


Jana Grmelová

janbrasna commented 1 year ago

SIce to neni odpoved na otazku (jak nakladat s prazdnymi poli, poli prazdnych stringu, jak funkcne predavat null ci jak spolehat na poradi polozek v poli…), ale nove je v HTTP hlavickach na iAPI/iBrane v odpovedi hodnota, ktera ukazuje z jakych hodnot v jakem poradi byl digest pro podpis sestaven:

Treba to pomuze pro debug.