Giter Site home page Giter Site logo

Comments (14)

encero avatar encero commented on September 25, 2024

Zítra se na to pořádně podívám a zkusím dát dohromady pull request. Pokud z mé snahy vypadne něco kloudného.

from gopay.

hrach avatar hrach commented on September 25, 2024

@encero 👍

from gopay.

hranicka avatar hranicka commented on September 25, 2024

@encero Já jsem si toho všiml až v dobu, kdy nastal problém při komunikaci s GoPay - možná chybný WSDL soubor nebo nějaká jiná chyba při zpracování. Kompletně celá aplikace přestala pracovat (výjimka GopayFatalException('Loading of native Gopay payment channels failed due to communication with WS.')).

Problém jsem řešil rovněž tak, že jsem channels odstranil z configu a přidávám je bezprostředně před voláním $gopay->pay(...).

Řešil už jsi to nějak jinak? Pull-request nevidím a nevím jestli se v tom mám dále vrtat nebo prostě channels v configu NIKDY nepoužívat.

Jinak @hrach díky za skvělou práci :)

from gopay.

encero avatar encero commented on September 25, 2024

@hranicka Nakonec na to nezbyl cas a resil jsem jine veci na projektu. Mam to porad v todo. Ale v tuhle chvili jsme zustali u workaroundu s pridanim platebnich kanalu na "posledni chvili".

from gopay.

vojtech-dobes avatar vojtech-dobes commented on September 25, 2024

První vylepšení implementováno - extenze automaticky registruje metody addPaymentButton a addPaymentButtons do formuláře, a k tomu se vytvářela instance Markette\Gopay\Service. Nyní už tomu tak není, a instance se vytvoří až v okamžiku zavolání těchto metod.

from gopay.

vojtech-dobes avatar vojtech-dobes commented on September 25, 2024

Chápu to dobře, že problém je načítání Gopay kanálů i když používáte jen svoje custom vlastní? Nebylo by pak řešením, kdyby se v allowChannel a denyChannel nejdřív kontrovalo, jestli je kanál znám, a teprve pokud ne, načetly by se ty z Gopay, a kontrola by se opakovala?

from gopay.

hrach avatar hrach commented on September 25, 2024

Nacitani kanalu bych uplne odstranil - je uplne k nicemu. protoze nevraci relevantni kanaly, ktery dany user muze pouzivat. Jediny k cemu nam muze byt, ze tak jakoby povolime vsechno a nechceme je vyjmenovat, ale to je knicemu, kdyz tam budou pak kanaly, ktery uzivatel nema. Tj. urcite uplne odstranit tuto podporu a nechat uzivatele explicitne kanaly jmenovat.

from gopay.

mkoubik avatar mkoubik commented on September 25, 2024

@hrach 👍

from gopay.

matak avatar matak commented on September 25, 2024

take bojuji s pochopením

@hrach 👍

from gopay.

hranicka avatar hranicka commented on September 25, 2024

@hrach 👍

from gopay.

michallohnisky avatar michallohnisky commented on September 25, 2024

@hrach 👍

nedávno měl Gopay výpadek a tak Soap vyhodil warning:

SoapClient::SoapClient(https://testgw.gopay.cz/axis/EPaymentServiceV2?wsdl): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found

a proto nám nefungovala celá aplikace, a to ani na stránkách, které Gopay nepotřebují.

from gopay.

hrach avatar hrach commented on September 25, 2024

@michallohnisky to je samozrejme vase chyba, kdyz instancujete servicu, kdyz ji nepotrebujete ;) nebo ne?

from gopay.

hranicka avatar hranicka commented on September 25, 2024

@michallohnisky také jsem s tím měl problém - celá aplikace přestala fungovat pokud se pokazilo něco při komunikaci s GoPay serverem, řešil jsem to pak:

  • kanály jsem nenastavoval v configu jak píše @encero tady - pokud GoPay neodpovídal, celá aplikace spadla už při inicializaci
  • kanály nastavuji až když je to potřeba a zároveň ošetřuji případný problém při volání ::allowChannel když náhodou GoPay nefunguje
    // ...

    private function pay()
    {
        $goPay = $this->goPay;

        try {
            $this->setChannels($goPay);
            $response = $goPay->pay($payment, $goPay::METHOD_CARD_CESKAS, [$this, 'onResponseCreate']);
            $this->presenter->sendResponse($response);
        } catch (\Exception $e) {
            if ($e instanceof Gopay\GopayException || $e instanceof Gopay\GopayFatalException) {
                Debugger::log($e, Debugger::WARNING);
                $this->presenter->flashMessage('Platební služba GoPay bohužel momentálně nefunguje. Zkuste to prosím za chvíli.');
                $this->runOnError();
            } else {
                throw $e;
            }
        }
    }

    /**
     * @param Gopay\Service $goPay
     * @throws Gopay\GopayFatalException
     */
    private function setChannels(Gopay\Service $goPay)
    {
        $goPay->allowChannel($goPay::METHOD_GOPAY);
        $goPay->allowChannel($goPay::METHOD_CARD_CESKAS);
        $goPay->allowChannel($goPay::METHOD_CARD_UNICREDITB);
        $goPay->allowChannel($goPay::METHOD_SUPERCASH);
        $goPay->allowChannel($goPay::METHOD_PREMIUMSMS);
        $goPay->allowChannel($goPay::METHOD_MPLATBA);
        $goPay->allowChannel($goPay::METHOD_KOMERCNIB);
        $goPay->allowChannel($goPay::METHOD_RAIFFEISENB);
        $goPay->allowChannel($goPay::METHOD_MBANK);
        $goPay->allowChannel($goPay::METHOD_FIOB);
        $goPay->allowChannel($goPay::METHOD_UNICREDITB);
        $goPay->allowChannel($goPay::METHOD_SLOVENSKAS);
        $goPay->allowChannel($goPay::METHOD_TRANSFER);
    }

from gopay.

michallohnisky avatar michallohnisky commented on September 25, 2024

@hrach Myslím, že stačilo jen v neonu povolit extension a už to bylo. Extension, předpokládám, nejde povolit jen pro některé stránky.
@hranicka Moc díky, vyzkouším.

from gopay.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.