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

PayId is invalid or expired. #492

Closed petrvacha closed 4 years ago

petrvacha commented 4 years ago

Dobrý den, občas u nás v testovacím prostředí nastane stejná chyba jako ve stejně pojmenovaném vlákně, která po nějaké odmlce odezní. Metodu oneclick bychom měli mít aktivovanou.

Můžete mi, prosím, napsat v čem je problém např. u této transakce?

PayId b4e51b26f66feFE is invalid or expired.

Mspisar commented 4 years ago

Dobrý den, požadavek jsme zaevidovali a již je předán k řešení. s pozdravem Spisar

mrazekl commented 4 years ago

Dobrý den, u vás je problém v něčem jiném. Konkrétně pro payId b4e51b26f66feFE evidujeme jen pokus o payment/process. Tomu však musí předcházet payment/init na základě kterého obdržíte payID které použijete právě v payment process. Nemůžete použít process s neexistujícím(nebo už i jednou autorizovaným) payID. Jestli se můžu zeptat, kde jste přišel k tomuto payId??

Pokud chcete používát oneclick, musíte založit a dokončit klasickou platbu s parametrem payOperation: oneclickPayment a tím se vytvoří šablona pro oneclick. Na tohle payId se pote odvolavate v metodě oneclick/init.

petrvacha commented 4 years ago

Tomu však musí předcházet payment/init na základě kterého obdržíte payID které použijete právě v payment process. Nemůžete použít process s neexistujícím(nebo už i jednou autorizovaným) payID.

To dělám.

Jestli se můžu zeptat, kde jste přišel k tomuto payId??

Z logu jsem vyčetl, že jsem payment/init udělal, ale nezkontroloval návratový stav a dál pracoval s payId. Pokud to správně chápu, tak mi payment/init vrátil resultCode 110 a resultMessage Invalid paymentInit request: authorized trx for merchantId M1MIPS8122 and orderNo 67 already exists.

Což je zvláštní, protože pro každý init vytvářím nový orderNo. Nejspíš tedy cache nebo něco přehlížím.

mrazekl commented 4 years ago

Dobrý den, a právě proto, že se k tomuto payId vrátil tento result code, nelze s ním ani realizovat payment process. A dle našich záznamů jste udělal objednávku 67 dnes: 05.05.20 10:50:43,213000000 - payId 85f7bfbf0d030FE

proto nebylo možné zvalidovat pokus ve: May 5th 2020, 12:46:06.993 | Invalid paymentInit request: authorized trx for merchantId M1MIPS8122 and orderNo 67 already exists

petrvacha commented 4 years ago

Tak už mi došlo, kde byl problém. Na test serveru i na lokální stanici používáme stejné merchantId. Pak došlo ke kolizi.

Děkuji za Váš čas, pomohl jste mi.