Skip to content

Noční můra jménem payU

Ve své praxi jsem již realizoval řadu platebních bran. Odhadem asi tak deset. Zejména zahraniční, ale i českou GoPay. Nyní mi osud do cesty přivedl payU.

Oproti jiným platebním branám jsem nedostal žádnou předpřipravenou PHP třídu, kterou by stačilo „přiohnout“. Nevadí, to není vždycky.

Jejich návody mi přijdou na můj vkus docela chaotické.

Ale při všech těch těžkostech jsem se implementací jakžtakš prokousal. Zcela jsem se vyhnul používání jejich javascriptů (nefungovaly). Stejně to, v souladu s dobrou praxí musí fungovat i bez JS. Jednoduše bylo tlačítko s formulářem, které odeslalo požadavek na novou platbu. Tento požadavek směřoval na jejich platební bránu, kde si uživatel vybral platbu a zaplatil. Na testovacích platbách vše fungovalo.  Zpětné volání z payU proběhlo správně a předávalo nám i typ platby. Z mého pohledu plně funkční implementace.

Když v tom od payU přišel požadavek na to, abychom naše skripty opravily tak aby jim předávaly typ platby. Marně jsem se snažil podpoře vysvětlit, že typ platby si volí uživatel v jejich platební bráně a tudíž jim ho my nemůžeme předat. Ale naopak jej musejí oni předávat nám. A že nám ho i předávají a z toho logicky plyne, že jej znají a tudíž ho od nás ani nepotřebují dostávat.

Pak do toho začali motat cosi o externí šabloně. Že prý používáme externí šablonu a v tom případě jim musíme předat typ platby. Do dnešního dne jsem jim nedokázal vysvětlit, že žádnou externí šablonu nepoužíváme, že se naopak snažíme používat jejich (logicky interní) šablonu. Je to jako když háže hrách na stěnu.

Nicméně pokusil jsem se tedy upravit implementaci tak abych použil i jejich JS. Původně jsem se jejich použití vyhnul hlavně proto, že vypisovaly ve FireBugu chybu a funkce PlnPrintTemplate() nic nevypisovala. Nyní jsem to zkusil znovu. Totožná implementace (provedl jsem jen odkomentování) nyní chyby neházela a funkce aspoň něco vypisuje, i když platební metody nenabízí. Tak jsem to paní napsal. Že vkládáme skripty a na příslušném místě voláme funkci PlnPrintTemplate(), ale že se žádné platební metody nenabízejí, místo toho se vypisuje text, který jsem paní okopíroval. Na to mi odpověděla, že mám vložit skripty a na příslušné místo vložit volání funkce PlnPrintTemplate().

Pokud se Vám nad tím nechce moc přemýšlet, je to jakobyste někomu řekli: „Čoveče já pokládám A na B, ale místo C se stane D“ a on Vám odpověděl: „Jasně, jasně. Polož A na B.“ Tak nevím jak tohle dopadne a co to všechno má vlastně znamenat.

Je pravda, že implementovat platební bránu někdy bývá trochu komplikovanější. Ale to co předvádí payU vydá v součtu za všechny ostatní brány co jsem kdy nasazoval.

Technická podpora platební brány by měla být na zcela jiné úrovni než jak to předvádí payU. Pracovnice se kterými komunikuji nejsou moc odborně zdatné. Jedna se se mnou pře, že Javascript, který je vložen do stránek je záležitostí komunikace mezi naším serverem a jejich branou a že tudíž funguje i když má klient vypnutý JS. Neměl jsem sílu jí to vymlouvat.

Zdlouhavá komunikace se neustále vede v tom duchu, že údajně používám nějakou externí šablonu (kterou podle mě nepoužívám). A že protože ji používám, tak jim musím předávat typ platby. Jenže po celou dobu této komunikace. Ať již bylo řešení s JS nebo bez, testovací platby fungovaly. A z payU jsme dostávali na náš server správný typ platby. Tak nevím. Buďto tam mají takový nepořádek, že ani nevědí jaké proměnné jejich server zná. V takovém případě bych se bál takovou bránu používat. A nebo se podpora snaží řešit situaci, které sama nerozumí.

Už jsem z toho strašně znechucen a jsem zvědav jak tohleto dopadne.

3 Comments

  1. Martin wrote:

    A jak to dopadlo? Mám úplně stejný problém. Jednak externí šablona a jednak pay_type.

    Komunikace s podporou absolutně k ničemu.

    Pondělí, Květen 4, 2015 at 16.25 | Permalink
  2. Barvajz wrote:

    Nakonec jsem jim napsal trošičku ošklivější email, že s takovou podporou platební brány jsem se ještě nesetkal. A zřejmě v důsledku toho je napadlo předat můj případ programátorovi, od kterého mi stačil jediný email, abych problém vyřešil.

    Odpověď jejich programátora byla, že k POS ID čislo XY není přiřazena žádná platba. Tzn. ani testovací. Což mi bylo divné, protože jsem si byl jistý, že testovací platbu jsem přiřadil. Tak jsem to prověřoval v jejich admin sekci a zjistil jsem, že nějakým způsobem došlo ke změně konfiguračních klíčů (POS ID, klíč, druhý klíč, autorizační klíč). Buďto to změnili oni nebo zákazník, že by smazal původní POS a založil nový a nic mi neřekl – to se mi ale moc nezdá. Poté co jsem změnil klíče na aktuální, to začalo fungovat. Je to ale divné, že se ty klíče změnily, samy od sebe … a jejich rady tedy byly zezačátku silně zavádějící.

    Úterý, Květen 5, 2015 at 9.26 | Permalink
  3. Martin wrote:

    Tak mě se to s nimi taky nakonec podařilo. Jediný problém tedy byl že ať chci nebo ne musím jim předávat pay_type.

    Lze ho sice volit na bráně ale oni to prostě nutně potřebovali. Už jsem byl na nervy takže jsem to přeprogramoval a je klid.

    Ještě dva dny po schválení mi tam ale nedoplnili ČSOB (prý čekají na schválení bankou ale vědět o tom sami od sebe nedají…).

    Středa, Květen 6, 2015 at 16.46 | Permalink

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*


sedm × 3 =