conedevelopment / simplepay-gateway

OTP SimplePay bővítmény WooCommerce (WordPress) áruházak részére.
https://simplepay.conedevelopment.com
MIT License
57 stars 22 forks source link

Kosár kedvezmény nem megy át a simple felületre #106

Closed jofbe closed 2 years ago

jofbe commented 2 years ago

Sziasztok! Az egyik oldalon használjuk a Woo Discount Rules plugin-t (v.: 2.4.4), ami úgy van beállítva, hogy x pénz elköltése után a vásárló törzsvásárló lesz, és 10% kerdvezményt kap (percentage cart adjustment). Az egyik ilyen vásárló a legutóbbi tranzakciónál jelezte, hogy a kosárban, a pénztár oldalon, és a számlázz.hu-s számlán is rajta van a kedvezmény, de a Simple oldalán a kedvezmény nélküli árat kellett fizetnie. Korábban nem volt ilyen problémánk.

IPNs OK, Finish, 2022.10.20 19:18:06 Sent emails OK, Customer finish, 2022.10.20 19:18:07 OK, Merchant finish, 2022.10.20 19:18:07

{"salt":"Xi1eX9iRmJ8NApEi0xxqdnk3Y3A9tQjd","orderRef":"wc-12424","method":"CARD","merchant":"__________","finishDate":"2022-10-20T19:18:01+02:00","paymentDate":"2022-10-20T19:16:18+02:00","transactionId":318132261,"status":"FINISHED"}

Hol mászhatott el a dolog?

iamgergo commented 2 years ago

Szia!

Erről itt írunk bővebben: https://simplepay.conedevelopment.com/a-simplepay-bovitmeny-korlatai, a kedvezmények résznél.

Tehát a SimplePay felületén fizetendő összeg eltért a számlán szereplő összegtől?

jofbe commented 2 years ago

Szia! Igen, eltér a számlán levő végösszeg és a fizetett összeg, a kedvezmény mértékével.

Azóta kiderült, hogy 1 vásárlás kivételével mindegyik törzsvásárló többet fizetett, mint kellett volna, ami rendkívül kellemetlen a bolt tulajdonosnak.

image

image

iamgergo commented 2 years ago

Szia!

Ez valóban kellemetlen, de ez sajnos benne van, nem tudjuk felkészíteni a bővítményt hogy minden más bővítménnyel kompatibilis legyen.

Mi volt más abban az egy vásárlásban, azt lehet tudni?

Köszi!

jofbe commented 2 years ago

Szia! Azt az egy vásárlást rosszul néztük, ott nem volt törzsvásárló a vevő. Most átállítottam a kedvezményt kezelő plugint, hogy nem "fee"-ként adja hozzá a kedvezményt a kosárhoz, hanem kuponként, így most legalább annyit fizet, amennyit kell, mert a simple felületén a termék árából kerül levonásra a kedvezmény. Mivel nekünk most így is megfelel, tudom zárni az issue-t, de ha van lehetőségetek utána nézni, hogy mibe telne a "cart adjustment" típusú "fee" alapú kedvezményt is átvinni a simple-be, kérlek jelezzétek. Bence

iamgergo commented 2 years ago

@jofbe Itt még annyi kérdésem lenne, hogy ez esetben a fee az negatív?

jofbe commented 2 years ago

Mind a kettő esetben negatív számként jelenik meg a kedvezmény. Kupon: image _order_total: a kedvezmény már benne van, ennyi is lett fizetve _cart_discount: az eredeti rendelés 10%-a

Fee: image _order_total: a kedvezmény már benne van, mégsem ennyi lett a simple felületen levonva _cart_discount: 0

iamgergo commented 2 years ago

Igen, tehát a gond itt az, hogy a SimplePay-nek nem lehet átadni negatív értékű elemet. Ezért ezt már az átadás előtt ki kell szűrni, egyébként hibát ad a tranzakció.

A negatív fee-t pedig nem lehet egy az egyben átadni mint discount, mert az egyéb gondokat okozna. Így sajnos az az egyetlen járható út jelen esetben, amit te is említettél fent.

jofbe commented 2 years ago

Abban tudsz segíteni, hogy a simple plugin az adatbázisban milyen helyeken (tábla+kulcs) keresi az esetleges kedvezményeket? Megnézném, hogy ott negatív számként van-e tárolva.

iamgergo commented 2 years ago

A plugin nem közvetlenül DB-ből keresi. A Woo API-ban van ilyen metódus amivel az adott kosár/rendelés elemeit lekérdezzük: https://github.com/conedevelopment/simplepay-gateway/blob/master/src/Payloads/PaymentPayload.php#L112-L124