csob / platebnibrana

Česká dokumentace ČSOB platební brány a jejího eAPI pro platby platebními kartami, Apple Pay, Google Pay, mallpay a platebními tlačítky ČSOB.
https://platbakartou.csob.cz/platebni-brana
GNU General Public License v3.0
7 stars 1 forks source link

v1.9 googlepay/init, applepay/init #11

Closed Daaarkling closed 2 years ago

Daaarkling commented 2 years ago

Dobrý den,

pří testování endpointu googlepay/init dostávám odpověď 110 Invalid payload. Na endpoint odesílám obsah google parametru paymentMethodData -> tokenizationData -> token, který obsahuje json data:

{"signature":"MEUCICStJKPt0lbuD...","intermediateSigningKey":{"signed … u003d\"}"}

zákódované do base64. Na api verzi 1.8, kterou máme implementovanou, vše funguje.

Obdobný problém mám u applepay/init, kde rovněž dostávám 110 Invalid payload. Zde v payload parametru posílám

{
    "data": "TUl\/Q4r...",
    "signature": "MIAGCSqG...",
    "header": {
        "publicKeyHash": "q2N1CiDY...",
        "ephemeralPublicKey": "MFkwEw...",
        "transactionId": "a6e0472c8b57..."
    },
    "version": "EC_v1"
}

zakódované do base64.

Podíváte se na to. Děkuji a s pozdravem.

rlombart commented 2 years ago

u googlepay by mel payload dekodovany z base64 vypadat priblizne takto: { "protocolVersion":"ECv2", "signature":"MEQCIH6Q4OwQ0jAceFEkGF0JID6sJNXxOEi4r+mA7biRxqBQAiAondqoUpU/bdsrAOpZIsrHQS9nwiiNwOrr24RyPeHA0Q\u003d\u003d", "intermediateSigningKey":{ "signedKey": "{\"keyExpiration\":\"1542323393147\",\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/1+3HBVSbdv+j7NaArdgMyoSAM43yRydzqdg1TxodSzA96Dj4Mc1EiKroxxunavVIvdxGnJeFViTzFvzFRxyCw\u003d\u003d\"}", "signatures": ["MEYCIQCO2EIi48s8VTH+ilMEpoXLFfkxAwHjfPSCVED/QDSHmQIhALLJmrUlNAY8hDQRV/y1iKZGsWpeNmIP+z+tCQHQxP0v"] }, "signedMessage":"{\"tag\":\"jpGz1F1Bcoi/fCNxI9n7Qrsw7i7KHrGtTf3NrRclt+U\u003d\",\"ephemeralPublicKey\":\"BJatyFvFPPD21l8/uLP46Ta1hsKHndf8Z+tAgk+DEPQgYTkhHy19cF3h/bXs0tWTmZtnNm+vlVrKbRU9K8+7cZs\u003d\",\"encryptedMessage\":\"mKOoXwi8OavZ\"}" }

Daaarkling commented 2 years ago

V ukázce jsem to zkrátil, celá data vypadají takto

{"signature":"MEQCIHGeZtF216fSCR2sBORqHisWAMTEMOnkesaVT2zILPVtAiBS2aMv7gomgbeVtIjzT0W352336Ukic07W3JSneMIREg\u003d\u003d","intermediateSigningKey":{"signedKey":"{\"keyValue\":\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPwLjpVgo92/pGQIELyYzMkjfKXSnNbW9sE0NPfQFXjIaZq0KK9uldHH084wQwepbBL6sp4XZQUR/8qTxXm6QzQ\\u003d\\u003d\",\"keyExpiration\":\"1658979971394\"}","signatures":["MEYCIQCPv29C5fpVlDukosMEAB2PdHdav3bypxwrZsKQRLlgewIhANdTmzmJh5sbObor8UAfPyynr9f07a+lHfMxll4ZovVr"]},"protocolVersion":"ECv2","signedMessage":"{\"encryptedMessage\":\"4uBIUY7j1+6FKdL0wlgBjzRVcQ0lTjbqwL0ZZCWwhYJrb+yPPJWuYOjvGD8ZEaN7ztYdaZEUEqdDk6G892gWD4e9UVwi6pQ9kgBPHvXayTUBiNioWSpWiOh3BKYlDJdzWaO1o067LcfYVb8CM/9YJgKCDFYs0zRDHYHm/wQiy8SIiWTrY8q1geRcC3+PwkaznI/JFeHlkmBV5OrXKEwQBgs8VmU+3sHwhlJbvJFn+XKYXEv8gd5RxTAl7rXs1CFh5bTGnntgHnq/akQqpJDPbSRkIGk4Z1txwwiU40nAalsGy8F7Ks4O7dihKV+jX2UM7sG8CxcUgaZRASai1Suh/s4FEXmuWfuQcVHk3h2ABeEmiXMyDXFcPSKOg319iyGUiczO5jIlf5N4YP6+Bl9DUW66m3SzNRyyHkQH4I99D70In78TjvaToh6HZPAtYhS1UERfifa8HUYTzWktA9HmiURa8eCrVV+V9zUH73ezrqJvOVl6YYrroXCrooQkRafQc7Od0GalIyt3cNwolSHtTjJuU1sTqgPLsdFyu9r+1pnHJjtXCbZp2J+6iE+QbBtv92+4wzwTpD4HVprEul67\",\"ephemeralPublicKey\":\"BAMbSTFHfDLV6+8o9QB6hMni06y4mrB76AoZ45nB5DeXxKd2FejtOSD8apC9nrVExLCBCA3lBlzDUciFmd8oyVo\\u003d\",\"tag\":\"pnyBuLnkpQ7edNb28Zos3q7+T/4CNZ85XJQSL5bOo+8\\u003d\"}"}
jgrmelova commented 2 years ago

Dobrý den,

pro merchant ID M1E3CB0860 a transakci 396d1f41526a@HG v logu vidím:

Jul 20, 2022 @ 10:13:11.270 Received googlepayInit request M1E3CB0860 / 396d1f41526a@HG, orderNo: 7076832844 Jul 20, 2022 @ 10:13:11.371 gatewayMerchantId BCR2DN6TZ67N5HYR does not match merchantId M1E3CB0860 Jul 20, 2022 @ 10:13:11.390 Trx M1E3CB0860 / 396d1f41526a@HG declined: Invalid payload

Zkontrolujte, prosím, merchant ID pro GPay zda je správně napárováno na merchant ID platební brány.

Co se týče ApplePay, můžete mi, prosím zaslat čas, kdy pokus probíhal?

Děkuji.


Jana Grmelová

Toret-plugins commented 2 years ago

Dobrý den,

Bohužel mám stejný problém s googlepay/init, code 110, invalid payload.

Jako payload použito:

{\"signature\":\"MEUCIQDXEJb/vnBF2C9pjLeeViI9bQ139g7pIvFK4R0jAESLawIgE89Uju7oCDwUeqWiapT9/HndjWvDg/2iaVi6Lo1bt10\u003d\",\"intermediateSigningKey\":{\"signedKey\":\"{\\"keyValue\\":\\"MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8iS5O1g9ep9TfRv3Gy0IxssFlVTR2KEqF55QBSm4qFhZxja4SRs1uucMg1bKiZyMZRkWll5LpoawZJ56bfMyCg\\u003d\\u003d\\",\\"keyExpiration\\":\\"1659063615385\\"}\",\"signatures\":[\"MEQCID9HY+MiNOofbRxpzmG6hxkgLTcH6KP8/72cV1cqMmblAiAZYm8m8HsFQccoFneuKCGtVCCz2IxRvdbc/2GPwbRF/Q\u003d\u003d\"]},\"protocolVersion\":\"ECv2\",\"signedMessage\":\"{\\"encryptedMessage\\":\\"UafFzmiN0I/BlSH1lvgLRdMQkm6EIWq45ul1ZRPXGPk1mEgUUdVm9WIyZE2cVQ1a8h82HA5lhlsa+/NgO98nJARWQ3EKTECwoRYhckr0jPbcSrzIPp1RLYi58xYgHNgOkKiPsCvpLcHd4Cl03BlqCtd8Z0BND1/ownYfmLO0UnTU7mM4GYQ8+rmAMm7h5v4lGKHELiJTxlkhAqCx5cVeniuv9E0nLsYQmaDQ5Kgpw+MNJm1hTcxaQWphbviWduZpYdjfWpcJRgCiNSoawB5yBpyUkQtNj5hJlP2xY5tCsrp1PsWo5Sbsd4XU8/aT0uDbOYwBWOY+QOsFh7J004PSIhik97gJo1egjwtacEJeMJn8h4XvHuIp5t80T3zIPHvNbUECn7q3c/UYXqXfW6kZha7AKXiNy2DSdNXVee5cqOSO5GC5DRbArZjTR9D3m9L224vXEEIJvnA6P1ZOi9mVZrT/WGbWj8ez0AL/pftuaBNB4nf05BKbOqEwlsFtI4n06RekD5sBfYqRdpI7Np83jxbMhBK9eCQr7v9TRLKWnZLBYXeHjm4AkSQ2kbyD/GffnbcX1RhKONg7\\",\\"ephemeralPublicKey\\":\\"BGIQyXgjwnf0CsuVUyR6+k/qX7c1C13y7heajmzRGjQ25me9Z9pnP4Wxe+k/tKO7BxuBxDMo3MSGNkTzmZJlhew\\u003d\\",\\"tag\\":\\"fgljSwEXVrkwsM2zJOQkGxUZRqK+6Lw1YGOnRfkHrdo\\u003d\\"}\"}

Metoda volána cca v 07:21:51.

Předem děkuji za pomoc.

Daaarkling commented 2 years ago

@jgrmelova applepay jsem zkoušel teď, zhruba ve 2022-07-21 09:26.

Na párování merchantId se podívám, děkuji.

Daaarkling commented 2 years ago

@jgrmelova Koukal jsem na mechantId. Endpoint 1.9 googlepay/echo vrací v datech:

gatewayMerchantId: 'M1E3CB0860'
googlepayMerchantId: 'BCR2DN6TZ67N5HYR'

Ve verzi 1.8 googlepay/info vrací taktéž:

'googlePayMerchantId' => 'BCR2DN6TZ67N5HYR'
'gatewayMerchantId' => 'M1E3CB0860'

Na verzi 1.8 google pay funguje na 1.9 ne, takže chyba bude asi někde na vaší straně.

V logu co jste poslala Jul 20, 2022 @ 10:13:11.371 gatewayMerchantId BCR2DN6TZ67N5HYR does not match merchantId M1E3CB0860

se píše gatewayMerchantId BCR2DN6TZ67N5HYR což ale je googlePayMerchantId ne gatewayMerchantId. Nemůže být chyba tam?

jgrmelova commented 2 years ago

Dobrý den,

níže zasílám vyjádření od kolegy:

Ve verzi 1.8 se obsah payloadu neverifikoval, jelikož se s ním dále víceméně nepracovalo (requesty neporocházely autentizací a šly rovnou do autorizace). Ve verzi 1.9 se již s payloadem plně pracuje a tudíž se oproti předchozí verzi provádí kontrola správnosti vyplněných polí. Výše uvedené chybové hlášení se generuje pokud nesouhlasí merchant_id brány s hodnotou gatewazMerchantId v payloadu.

-- Jana Grmelová

Daaarkling commented 2 years ago

@jgrmelova

Dobrý den,

skutečně chyba byla na mojí straně s špatně nastaveným merchantId 🤦. Díky opravě https://github.com/csob/platebnibrana/issues/7 googlepay funguje.

Nicméně pořád se mi nedaří zprovoznit applepay. Na request applepay/init dostávám odpověď 110 Invalid payload. payload:

'data' => 'nqbwN9G14CjdJwYkNMu5xEAXRb/bfhm4ETkitJxR+wbUB6fmh8te8BdxHGNOIxv+EzOdeEH7mvNorWOgj/YLAtTExQUpHvjIJnrgLwDJ5/6Xox9EU8j8aFqegj5XveshkEW2NoQc1Rb7A2uU0VVY4E … Sx+0ZGntc='
'signature' => 'MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID4zCCA4igAwIBAgIITDBBSVGdVDYwCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbG … AAAAAAAA=='
'header' => array
    'publicKeyHash' => 'q2N1CiDYVh1CUAZMtC+5wP8Le44G39njkuCSNmRhlFM='
    'ephemeralPublicKey' => 'MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEF2vA/DdMkud0mCBGINQzQJgreNpO/mkQLGM0tx9/FrpWXAip0m3pC0hShAJlhT2mUtezHq9HEjWOWXZG7dJlIA=='
    'transactionId' => '3b20d1a2af4091e688bcc078a40ffc9c3b0809b48983f0faf49f4942707b2b32'
'version' => 'EC_v1'

Request:

{"merchantId":"M1E3CB0860","orderNo":"7076887038","clientIp":"10.10.120.105","totalAmount":29900,"currency":"CZK","closePayment":true,"payload":"eyJkYXRhIjoibnFid045Rz..."}

Response:

actions: null
statusDetail: null
payId: 'd99d5799fdf8@HG'
responseDateTime: '2022-07-27 11:28:49.000000'
resultCode: 110
resultMessage: 'Invalid payload'
paymentStatus: 6

Je možné z logu vyčíst nějakou podrobnější chybovou hlášku?

janlanger commented 2 years ago

@jgrmelova Dobrý den, máte prosím k problému nějaké nové informace? Nebo se čeká na aktualizaci platební brány zmíněné v jiném ticketu?

jgrmelova commented 2 years ago

Dobrý den,

Vašemu požadavku se aktuálně věnuje kolega z vývoje, až obdržím bližší informace, budu Vás ihned informovat.


Jana Grmelová

jgrmelova commented 2 years ago

Dobrý den,

kolegovi se podařilo zjistit, že certifikáty, které pro Apple Pay využíváte nejsou již platné. Platnost vypršela 28.03.2021. Prosím Vás tedy o aktualizaci certifikátu a klíčů pro Apple Pay a nahrání do systému POS Merchant na integračním prostředí.

Hezký den.


Jana Grmelová

Daaarkling commented 2 years ago

@jgrmelova Dobrý den, tak problém byl opravdu v certifikátech 🤦. Tímto tedy potvrzuji funkčnost apple pay.

Děkuji a pěkný den.

jgrmelova commented 2 years ago

Dobrý den,

děkuji za informaci. Jsem ráda, že metoda Apple Pay je již funkční. :)

V případě dalších dotazů se na nás neváhejte znovu obrátit.


Jana Grmelová