Closed radekhulan closed 1 year ago
@radekhulan Diky Radku, vypada to na bug v example validaci. Predavam…
@radekhulan Ano, je videt ze ta trida vubec takovy parametr do stringbuilderu nepridava… Nahlaseno. Diky za odchyceni!
Evidentne ad #630 to neni problem jen PHP, ale merchantData chybi ve validacich i C# a Java… @rlombart
Dobrý den, Váš požadavek byl předán na servis.
S pozdravem Bc. Michal Horák IT Support Specialist
Dobrý den,
v příkladech je uvedena třída pro volání payment/status a tato skutečne merchantData neobsahuje (https://github.com/csob/platebnibrana/wiki/Z%C3%A1kladn%C3%AD-metody#payment-status-operation):
V případě redirectu zpět na eshop je použita struktura (https://github.com/csob/platebnibrana/wiki/Z%C3%A1kladn%C3%AD-metody#payment-process-operation):
a tato merchantData obsahuje, co jsem teď testoval tak se provede redirect s parametry: payId=64a660e295fd%40HG&dttm=20220725141537&resultCode=0&resultMessage=OK&paymentStatus=7&authCode=448372&merchantData=c29tZS1iYXNlNjQtZW5jb2RlZC1tZXJjaGFudC1kYXRh&signature=rjdLEYvEbYtfkSJ9H2%2FiKsPepv1%2FXpOxvGBOcW1GI%2BhEr6Ld8nDmmImvM3pWsQx0PKqtFOLd3ERVUgXSZCVThlQMlsqfyUNZJjX2pWIV%2Be64T9BIFTybjMhkG3rmiZu9ZPatCRxKLsuI1TO6UCMyfTYieRHNd7B3VEnJ7nuvaTfLbt1ggqYl%2FdxEnbg9uiwD%2Bizs5BT9%2FSsELPj1RxRGzYMemV4Wy6xxRx8tmZeCJOu7u62yr58AiOG%2F7lpWuJmLcVGHjx3r43c7acIUNIwzcLFGrEF1leM%2Bd57cLAu%2FRFeHvGPvmIIRx10Tj4XjAJj1jC8VBdHCbqUABKOTb9sYcg%3D%3D
a příslušný toSign že kterého byl vygenerován podpis: 64a660e295fd@HG|20220725141537|0|OK|7|448372|c29tZS1iYXNlNjQtZW5jb2RlZC1tZXJjaGFudC1kYXRh
@rlombart Tzn. chapu to tak, ze PHP example neobsahuje kod na vyhodnoceni vraceneho redirectu/POSTu (kde ta merchantData jsou), ale pouze na nasledne vytazeni si payment/status vysledku (kde se ta hodnota uz nevyskytuje)?
ano, process response nema zadnou strukturu, v examples jenom zobrazi url - brana totiz na process vraci redirect na dane url a nevraci zadna strukturovana data v json
@radekhulan Chapu to tak, ze vedome CryptoService
v examples neni zamyslena pro produkcni provoz, a proto krom overeni podpisu odpovedi na vyjmenovana volani (napr. status
) neumi jine payloady ktere mohou mimo tato example volani nastavat (jako treba predavany result na returnUrl
). Pokud si myslis ze je to chybne rozhodnuti, a example kod by mel umet obslouzit i finalni navrat a je to neco co v PHP examples chybi, tak to nejlepe sdel svemu obchodnimu zastupci v bance, aby to nechal dat do pripadnych priorit na zmeny. Protoze podle dostupnych informaci to vypada, ze soucasne chovani je takto omezene vedome. 🤷
PHP eAPI 1.9: pokud do PaymentInitRequest dám svoje merchantData , tak po návratu na returnUrl se mi tento vrátí, ale Payment(Status)Response hlásí invalid signature. Bez použití merchantData vše projde v pořádku.