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

Google Pay init - paymentData base64 encoding #53

Closed ondrejbenes closed 9 months ago

ondrejbenes commented 9 months ago

Dobrý den,

Vycházíme z JS šablonu uvedené zde.

Nejsme si jistí, že správně provést base64 encoding paymentData, který vrací Google API, pro předání do fieldu payload v gateway endpointu googlepay/init. Pokud provedeme encoding celého paymentData objektu ve funkci processPayment takto:

const payload = window.btoa(unescape(encodeURIComponent(JSON.stringify(paymentData))))

tak API vrátí error 110: Invalid length of payload parameter.

Pokud zkusíme jen

const payload = window.btoa(JSON.stringify(paymentData))

tak havaruje už JS na The string to be encoded contains characters outside of the Latin1 range..

Pokud zaencodujeme pouze paymentData.paymentMethodData.tokenizationData.token, tak googlepay/init projde, ale následné volání googlepay/process vrací error 180: Operation not allowed, used different API version.

Můžete prosím poskytnout JS snippet pro správné encodování paymentData?

jgrmelova commented 9 months ago

Dobrý den,

můžete mi, prosím, zaslat Merchant ID platební brány a přesný čas požadavku kdy Vám googlepay/process neprošel?

Údaje můžete případně zaslat na e-mail servis@monetplus.cz.

Děkuji

Jana Grmelová IT administrátor

jgrmelova commented 9 months ago

Vyřešeno prostřednictvím e-mailu. Místo požadavku googlepay/process došlo omylem k zaslání požadavku na applepay/process. Zároveň na základě podnětu došlo k upřesnění dokumentace u zasílaného payloadu.

Požadavek ukončuji.