Google Pay init - paymentData base64 encoding
Closed this issue · 2 comments
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
?
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
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.