Comments (14)
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.
@encero 👍
from gopay.
@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.
@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.
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.
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.
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.
@hrach 👍
from gopay.
take bojuji s pochopením
@hrach 👍
from gopay.
@hrach 👍
from gopay.
@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.
@michallohnisky to je samozrejme vase chyba, kdyz instancujete servicu, kdyz ji nepotrebujete ;) nebo ne?
from gopay.
@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.
@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)
- Bump 2.3 HOT 1
- [stable] v3.0.0 HOT 1
- Zrušenie recurrent platby HOT 10
- Tracy - tracking panel
- How to set SK lang HOT 8
- EET support HOT 7
- Ambiguous class App\Model\ShopModel resolution HOT 2
- https://testgw.gopay.cz ssl certificate expired HOT 11
- Move to PHP 7.1 HOT 6
- Dependencies - move nette to optional dependencies HOT 1
- ID objednavky muze byt string (nyni jen int) HOT 1
- Update readme
- Remove Nette\Object HOT 5
- Bitcoin platby HOT 4
- Movement ID, additional_params, is there a way how to set?
- Nette 3.0 HOT 1
- Contributte style docs folder
- Nastavení notification_url HOT 1
- Failing tests HOT 1
- trim(): Passing null to parameter #1 ($string) of type string is deprecated
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gopay.