Closed petasan closed 8 years ago
Chtělo by to ukázku kódu který vyhazuje vyjímku nebo (ideálně) failující test.
Testovani jsem zjsitil ze test brana CSOB vraci kod 0, ale je to asi string ale vy mate v enmumu strict type na 0 na cislo tim to asi je... isValidValue() {... return in_array($value, self::getAvailableValues(), true); }
kdyz jsem dal isValidValue() {... return in_array($value, self::getAvailableValues()); }
Tak mi to proslo...
diky.
Stejny problem je v pripade equalsValue(); Vypada to ze brana CSOB vraci misto ciselnych kodu stringy .... diky.
V oficialnim prikade od CSOB jsem nasel....
class PaymentStatus { static $requested = '1'; static $pending = '2'; static $canceled = '3'; static $approved = '4'; static $reversed = '5'; static $declined = '6'; static $toClearing = '7'; static $cleared = '8'; static $refundRequested = '9'; static $refunded = '10'; }
Praciji s Csob branou v1.5.... cislelne kody sedi jen se to jinak jmenuje...
Podle dokumentace má být resultCode
a paymentStatus
number. Což v json datech opravdu je. Váš problém pravděpodobně nastává jen u volání createReceivePaymentRequest
, kde předáváte data, která vám brána poslala přes GET (případně POST) a zde jsou všechny datové typy typu string. Takže ukázku z readme je třeba mírně upravit na něco jako:
$paymentResponse = $requestFactory->createReceivePaymentRequest()->send($apiClient, [
'payId' => $_POST['payId'],
'resultCode' => (int) $_POST['resultCode'],
'paymentStatus' => (int) $_POST['paymentStatus'],
....
]);
Omluva a diky za rychlou reakci...
V pořádku. Nepřesnosti v readme upravíme.
Díky za report. Přetypování teď probíhá automaticky.
zlobi if (!self::isValidValue($value)) {
pri hodnote const C0_OK = 0; to vraci vyjimku.