Closed NeXxik91 closed 3 years ago
Dobrý den, Váš požadavek byl zaevidován a předán k řešení. O dalším průběhu Vás bude informovat odpovědný servisní technik. S pozdravem Miroslav Janek
@mjanek super, díky
@mjanek Mohu poprosit o reakci?
Dobrý den, používáte správnou sadu klíčů? Tzn. Váš privátní klíč + veřejnou část klíče banky (https://github.com/csob/paymentgateway/blob/master/keys/mips_iplatebnibrana.csob.cz.pub).
Dále používáte pro šifrování algoritmus založený na SHA-256 (pro eAPI v1.8 a vyšší)? Jakou používáte verzi openSSL? Měla by se používat: OpenSSL s podporou nejméně TLS v1.2.
Projděte si prosím informace zde: https://github.com/csob/paymentgateway/wiki/%C4%8Cast%C3%A9-technick%C3%A9-dotazy
Vyzkoušejte implementovat request "echo" pro kontrolu funkčnosti klíčů: https://github.com/csob/paymentgateway/wiki/Z%C3%A1kladn%C3%AD-metody#echo-operation
S pozdravem,
Daniel Komárek IT application specialist
@dkomarek2
takto mám setup.php
$url = "https://iapi.iplatebnibrana.csob.cz/api/v1.8"; $publicKey = "mips_iplatebnibrana.csob.cz.pub";
// set up your merchant ID $merchantId = "A5134y7NHd";
// place your private key into 'keys' directory and set up key's filename $privateKey = "rsa_A5134y7NHd.key"; $privateKeyPassword = null;
a takto sign verify test.php
require_once ('logger.php'); require_once ('crypto.php');
echo "sign & verify test ...\n";
$text = "some text to sign"; $private_key = "rsa_A5134y7NHd.key"; $private_key_passwd = null; $public_key = "rsa_A5134y7NHd.pub";
echo "signing text '" . htmlspecialchars($text) . "' using private key " . htmlspecialchars($private_key) . "\n"; $signature = sign($text, $private_key, $private_key_passwd); echo "signature is '" . htmlspecialchars($signature) . "'\n";
echo "verifying signature using public key " . htmlspecialchars($public_key) . "\n"; $result = verify($text, $signature, $public_key); echo "verify result: " . ($result == 1 ? "ok" : "failed") . "\n";
Na serveru jsem zkoušel aktualizovat openSSL, ale píše mi, že mám nejposlednější verzi, takže předpokládám, že obsahuje TLS. Co se týče šifrování, stáhnul jsem Váš vzor z 1.8, kde to máte napsané, takže ano :)
@dkomarek2 Verze OpenSSL je 1.1.1
@dkomarek2 ??
Vyřešeno, když stáhnu testovací veřejný klíč tady z gitu, tak mi to nejede, když jsem použil testovací klíč v řešení od Ondřeje Skoupila, tak vše proběhne.
Dobrý den, váš dotaz jsem předal na kolegu z vývojového oddělení ale dosud mi neodpověděl.
Pokud jste vyřešil změnou klíčů, mohl by jste uvést který klíč fungoval a který ne? Klíč z Githubu by měl být platný.
Děkuji
Daniel Komárek IT application specialist
@dkomarek2 klíč z csob/paymentgateway/keys/mips_iplatebnibrana.csob.cz.pub mi dělal výše uvedené
Dobrý den, můžete mi teda poslat klíč, s kterým vám to funguje? (URL nebo samotná data)
Děkuji.
Daniel Komárek IT application specialist
Zdravím.
Řešil jsem nyní problém, že mi přestalo fungovat napojení na testovací účet brány. Používám knihovnu od Ondřeje Koupila a vracelo mi to tohle:
API returned HTTP code 400, which is not code 200. Probably wrong signature, check crypto keys.
Při jeho řešení jsem prošel tohle vlákno, tak napíšu postřehy, třeba pomohou:
ntpdate
vyřešeno - teď jsem se natrápil, 2x jsem přegeneroval klíče a chyba byla ve zpožděném lokálním čase. Dobrý den,
přikládám vyjádření kolegy z vývojového týmu:
Podepsani pozadavku privatnim klicem obchodnika a overeni public klicem obchodnika na strane brany zda se ok (platebni brana vratila response s payId a state=1), to co zda se nefunguje je overeni podpisu odpovedi z brany (tam je potreba mit stazeny verejny klic mips_iplatebnibrana.csob.cz.pub)
Nekdy se stane, ze misto stazeni souboru se stahne cela html stranka, je tedy potreba overit, zda je v souboru mips_iplatebnibrana.csob.cz.pub jen ten klic (musi zacinat a koncip pres ... begin /end rsa public key)
Daniel Komárek IT application specialist
Ahoj, snažím se napojit ČSOB platební bránu vše jsem nastavil dle 1.8dokumentace, ale neustále mi to vrací viz. toto, může někdo poradit?
preparing payment init data ...
preparing cart data: [ { "name": "Shopping at ...", "quantity": 1, "amount": 100, "description": "Lenovo ThinkPad Edge E540..." }, { "name": "Shipping", "quantity": 1, "amount": 0, "description": "PPL" } ]
data to sign: "A5134y7NHd|123456|20210227173922|payment|card|100|CZK|false|https://vasobchod.cz/gateway-return|POST|Shopping at ...|1|100|Lenovo ThinkPad Edge E540...|Shipping|1|0|PPL|1234|CZ"
prepared payment/init request: { "merchantId": "A5134y7NHd", "orderNo": "123456", "dttm": "20210227173922", "payOperation": "payment", "payMethod": "card", "totalAmount": 100, "currency": "CZK", "closePayment": false, "returnUrl": "https://vasobchod.cz/gateway-return", "returnMethod": "POST", "cart": [ { "name": "Shopping at ...", "quantity": 1, "amount": 100, "description": "Lenovo ThinkPad Edge E540..." }, { "name": "Shipping", "quantity": 1, "amount": 0, "description": "PPL" } ], "merchantData": null, "language": "CZ", "customerId": "1234", "signature": "G2tm3HnIo4L0q52R4TUJZ+xStUKQs0rlWAbnSuR74Ag5H4Khdm2/KeWA6OFMzUsCjA0ISJKHLaieK/y++IYNeeiaFPNfCRjIvGsC5iOwD1QqTHM9Jjz+q3X7/Yz4bgIJcWNJAtyDjbPLnk69o3C5uQrB8KkFhj7nGxylug15jFL4wpPNGNVUdOaaMip1B5DgliK7YBV8omVr7mQX78Lg5i4quqh4/7+RcEPLcCzgIy1KrAJFHoTzJEVPixEc2iys4h0+BXr7jl4bPVAIEoWbhSD4lE7nRScwPfvMkMLc2ixPVdZ2UiswoyZXY/UZ5IaPQ5TlSsvLTqIthBgpt/K0HA==" }
processing payment/init request ...
payment/init result: {"dttm":"20210227183922","signature":"MUOzPyLFKp9iunYtmfdCdx8/AtYNpPiRlV+2nK3QPgtxCLRQnu0GyyLAUsPJqz/+h7uFecNTyHhY6iZhFWsfiUYk/d5kXbxPbo+i3LgRxNImJ782g8/uaVReVcxEzxdj76gRu41JCxyTJd7Y09sm3VIYjuMF5XYxH6h0j7uaoGKleCTWhvN07W4wff1g1Xt00/Rlubo4qx5uTkwqqg/xKWvq4YYQmwZw/I23K4kgwPovwTDu2h/TuNfhqNxL/t9aI9N2Z8y8MOyi1ZbPgUlBF4qmykw83tAi8CZuPDZawvEjWyrOaEYm3re+A8LlX8HpgTp8XBTxudahjfFN6rSoKg==","payId":"eb1dab8a6758eGB","resultCode":0,"resultMessage":"OK","paymentStatus":1}
Warning: openssl_verify(): supplied key param cannot be coerced into a public key in /srv/users/grapa/apps/margareta/public/testy/crypto.php on line 180
Warning: openssl_free_key() expects parameter 1 to be resource, bool given in /srv/users/grapa/apps/margareta/public/testy/crypto.php on line 181