csob/platebnibrana

v1.9 googlepay/init, applepay/init

Daaarkling opened this issue · 13 comments

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.

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"}"
}

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\"}"}

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á

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.

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

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

@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?

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á

@jgrmelova

Dobrý den,

skutečně chyba byla na mojí straně s špatně nastaveným merchantId 🤦. Díky opravě #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?

@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?

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á

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á

@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.

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á