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

Invalid paymentInit request: authorized trx for merchantId A4715aJpHD and orderNo 40 already exists #506

Closed maggi1 closed 4 years ago

maggi1 commented 4 years ago

Dobrý den, stala se mi taková zvláštní věc. Na integrační bráně jsem provedl bezpočet úspěšných testovacích plateb. Nyní jsem ale na bráně klikl na "zrušení platby a návrat na web obchodníka". Od té chvíle dostávám při přesměrování na bránu tuto hlášku: Invalid paymentInit request: authorized trx for merchantId A4715aJpHD and orderNo 40 already exists

Notice: Undefined index: paymentStatus in C:\xampp\htdocs\eshop3.0\www\payment\crypto.php on line 134

  | payment/init failed, reason: Invalid paymentInit request: authorized trx for merchantId A4715aJpHD and orderNo 40 already exists

Přitom orderNo je orderid nové objednávky (platby). V databázi se mi vše zapisuje jak má.

Děje se to, i když jsem zvýšil autoincrement (orderNo) v databázi o +1

Co s tím?

ratajskym commented 4 years ago

Dobrý den, posíláte duplicitní ID objednávky vůz chybová hláška

maggi1 commented 4 years ago

Posílám a neposílám, tak jednoduché to samozřejmě není. V okamžiku, když dochází k přesměrování na bránu, tak by v posMerchant číslo té nové objednávky nemělo být.

rad3kM commented 4 years ago

Netuším jakou verzi API používáte, ale pro 1.8 se číslo objednávky do banky dostane při INIT, které při úspěchu vrací payId a teprve s ním se přesměrováváte na bránu.

maggi1 commented 4 years ago

Používám 1.8. Odkud bere INIT to orderNo k porovnání s tím, které do aplikace posílám?

ratajskym commented 4 years ago

Chybová hláška je jasná. Payment init request. Tzn k přesměrování ani nedojde, protože se nezaloží samotná platba

Dne čt 2. čvc 2020 16:12 uživatel maggi1 notifications@github.com napsal:

Používám 1.8. Odkud bere INIT to orderNo k porovnání s tím, které do aplikace posílám?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/csob/paymentgateway/issues/506#issuecomment-653029857, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACLMWX5ID3IOBERKPEGPSV3RZSIVHANCNFSM4OO3OWJQ .

maggi1 commented 4 years ago

Tak jasně, že to skončí u INIT. Tam se nepracuje s hodnotami z Pos Merchant? E-shop mi vygeneruje orderid (autoincrement v tabulce orders), to vkládám do $orderNo (init data). Opět se tedy ptám, s čím se v INIT to moje NOVÉ orderNo porovnává? A proč to běželo, dokud jsem na bráně neklikl na zrušení platby?

maggi1 commented 4 years ago

Sorry, já už asi vim, pracuju na dvou místech (dvě databáze). V jedné databázi je těch objednávek méně, ty duplicity tam teda asi budou, i když je divné, že se to projevilo až po tom cancel...

maggi1 commented 4 years ago

Už je to ok.