csob / paymentgateway

English documentation of the ČSOB Payment Gateway that offers an API for credit card payments, Apple Pay, Google Pay, mallpay and ČSOB Payment Button.
https://platbakartou.csob.cz/platebni-brana
GNU General Public License v3.0
121 stars 68 forks source link

http response: 400 - TSGSMIPS-5978 #377

Closed maleklukas1 closed 6 years ago

maleklukas1 commented 6 years ago

Dobrý den,

podobně jako předchozí příspěvky mám potíže s návratovou hodnotou 400. Po celodenním hledáním příčiny nejsem moudřejší. Můžete mi prosím poradit?

Předem děkuji

Zkoušel jsem přes: https://iapi.iplatebnibrana.csob.cz/api/v1.5 https://iapi.iplatebnibrana.csob.cz/api/v1.6 https://iapi.iplatebnibrana.csob.cz/api/v1.7

Účet mám vygenerovaný: A32499urMF.

ověření klíče: sign & verify test ... signing text 'some text to sign' using private key rsa_A32499urMF.key signature is 'I9b7tLjT6XQjNiD6IFZPWNJtqECx27O42HXB6Er2gckndR1WVgI0ob9XJOSkUSzucWHGtt24TJOjuuLLkuHCNtj1vsHeNbHo0KMaub3ADY1OJeQ3EXi1p2oCeEbF0YhBwm03KdQsWPYJw05wwVzpGKSVgwySg2u9vC4P5xUpz0gwE4W8CHEfcNd0ThLVooK/BaM73tHTciq9ZYTPAv6E4B82L/tHHltRu+bu8NoEwHdcv6u+2x0oQogxGm9s88mIMB7S/DKeJuoOJOq8BFzPnPV8FAOuoqXUxQ+lfvP2DaDYJyfrVz9MbEzTKLGLYWtr2+X064VWyvvFp3i/UDb6Ow==' verifying signature using public key rsa_A32499urMF.pub verify result: ok

data to sign: "A32499urMF|554822|20180403182209|payment|card|1789600|CZK|false|https://vasobchod.cz/return-gateway|POST|Vyrobek|1|1789600|Popis vyrobku|Doprava|1|0|Doprava PPL|Popis nakupu|c29tZS1iYXNlNjQtZW5jb2RlZC1tZXJjaGFudC1kYXRh|55|CZ"

prepared payment/init request: { "merchantId": "A32499urMF", "customerId": "55", "orderNo": "554822", "payOperation": "payment", "payMethod": "card", "totalAmount": 1789600, "currency": "CZK", "closePayment": "false", "returnUrl": "https://vasobchod.cz/return-gateway", "returnMethod": "POST", "cart": [ { "name": "Vyrobek", "quantity": 1, "amount": 1789600, "description": "Popis vyrobku" }, { "name": "Doprava", "quantity": 1, "amount": 0, "description": "Doprava PPL" } ], "description": "Popis nakupu", "merchantData": "c29tZS1iYXNlNjQtZW5jb2RlZC1tZXJjaGFudC1kYXRh", "language": "CZ", "dttm": "20180403182209", "signature": "kzJrrnpilPR+yTjdWS1OTOS9GTUHbsW/3+8cCgl4FU+oFsxS4Xsse6TjfF+tZ1E4fcz9ayfJttbNiZNE7tAUefy9kxy7nycnZnx6fupcTiJmmI4JW/d95oe7Kyv7IwpOpP+16RSyj7vW+nEyAdIxywUYXkxoALUGCzAyQywA5V6JAPtLXNk0hWPSNnolIzHRtupA/nfLyuaP+11g3pLCKv2oc/Ox1vx9MCj6o0nugG2Vp8eDixpzoMwXqHa2OLzRpHIleQmgmae6DaP49s0D7uLsMMOgdALA0MzOXhnR4B3wvHawYcGK3cqQViRKLx/5758UZF/11bzwWX4EhYMKTQ==" }

processing payment/init request ...

payment/init failed, http response: 400

ratajskym commented 6 years ago

Dobrý den,

a jako vždy doporučím začít s metodou payment/echo abychom věděli, že máte v pořádku klíče.

ratajskym commented 6 years ago

Nevšiml jsem si .. víte že odpověď z platební brány NEOVĚŘUJETE Vaším veřejným klíčem, ale veřejným klíčem platební brány ?

viz tato hláška verifying signature using public key rsa_A32499urMF.pub

maleklukas1 commented 6 years ago

Děkuji za rychlou reakci. Ano, zkoušel jsem i mips_iplatebnibrana.csob.cz.pub z https://github.com/csob/paymentgateway/tree/master/keys , přičemž ověřovací kód vypisuje:

sign & verify test ... signing text 'some text to sign' using private key rsa_A32499urMF.key signature is 'I9b7tLjT6XQjNiD6IFZPWNJtqECx27O42HXB6Er2gckndR1WVgI0ob9XJOSkUSzucWHGtt24TJOjuuLLkuHCNtj1vsHeNbHo0KMaub3ADY1OJeQ3EXi1p2oCeEbF0YhBwm03KdQsWPYJw05wwVzpGKSVgwySg2u9vC4P5xUpz0gwE4W8CHEfcNd0ThLVooK/BaM73tHTciq9ZYTPAv6E4B82L/tHHltRu+bu8NoEwHdcv6u+2x0oQogxGm9s88mIMB7S/DKeJuoOJOq8BFzPnPV8FAOuoqXUxQ+lfvP2DaDYJyfrVz9MbEzTKLGLYWtr2+X064VWyvvFp3i/UDb6Ow==' verifying signature using public key mips_iplatebnibrana.csob.cz.pub verify result: failed

maleklukas1 commented 6 years ago

Chybu jsem už našel. Při vygenerování klíče jsem ho neměl potvrzený. Chyba na mé straně. Děkuji za navedení.

ratajskym commented 6 years ago

Jedna věc je, když posíláte zprávy směrem na platební bránu (eshop -> brána). V tomto případě podepisejete Vaším privátním klíčem a můžete ověřit svým veřejným. Stejně tak ho veřejným klíčem ověří platební brány, díky tomu že jste při generování klíčů stiskl tlačítko odeslat do banky

Druhý směr jsou zprávy z platební brány (brána -> eshop). V tomto případě zprávu podepisuje brána vlastním privátním klíčem a Vy ji musíte ověřit veřejným klíčem brány.

//Vidím, že už jste to vyřešil, ale když už mám tu odpověď dopsanou, tak to pošlu. Třeba to v budoucnu někomu pomůže