Support » Plugin: Barion Payment Gateway for WooCommerce » Többször elindított fizetések kezelése

  • Hello,

    Korábban már indítottam egy topic-ot ezzel kapcsolatban, és akkor @szelpe válasza elfogadhatónak tűnt, de a probléma folyamatosan jelentkezik.

    A probléma:
    Viszonylag gyakran előfordul, hogy a vásárló elindít egy fizetést, majd visszalép valahová (nem egyértelmű hogy ilyenkor mit csinálnak a vásárlók), és elindít egy újabb fizetést. A második fizetése sikeresen lezajlik, a pénzt levonják tőle, és mi is megkapjuk. Ezt követően az első fizetési próbálkozás timeout-al elszáll, és Töröltre állítja a rendelést. Ilyenkor az ügyfél kap egy automatikus emailt, hogy a rendelését törölték, ami elég kellemetlen. Az email üzenettől eltekintve ez elég kellemetlen, mert minden sikertelen Barion fizetésnél meg kell győződnünk arról manuálisan, hogy nem lett e a fizetés mégis sikeres. Jó lenne ha egy sikeresen kifizetett rendelést egy másik fizetési folyamat már nem tudna sikertelenre átállítani.
    Nem tudom ez másoknál nem jön e elő, de nálunk ez napi szintű probléma, ami folyamatos ügyfélelégedetlenséget generál.

    Az a véleményem, hogy a vásárló soha nem tud “hülye” lenni, a rendszereknek kell biztosítaniuk a félreérthetetlen működést. Kérlek vizsgáljátok meg, hogy van e lehetőség az ilyen félreértések kiküszöbölésére technikai úton.

    Köszi,

    The page I need help with: [log in to see the link]

Viewing 2 replies - 1 through 2 (of 2 total)
  • Bocs, most látom, hogy korábban https://wordpress.org/support/topic/sikerees-fizetest-hibasnak-jelolt-a-plugin/ azt írtad, hogy “Normál esetben fizetés után nem Függőben állapotban kerül a rendelés, hanem “Feldolgozás alatt” vagy “Teljesített” lesz, és akkor nem jelentkezik ez a hiba.”

    Ha ez így van akkor nálunk van a hiba, az egyedi módosításokban. Meg tudod mondani, hogy ha teljesített állapotba kerül a rendelés, akkor ez a hiba miért nem jelentkezik? Mi e mögött a logika? Ha megérjük a logikát, akkor ki tudjuk javítani az egyedi fejlesztést.

    Bocs, hogy új topic-ot indítottam…

    Köszi,

    Plugin Author szelpe

    (@szelpe)

    Szia,

    A 3.3.0-s verzióba belekerül egy új hook (woocommerce_barion_custom_callback_handler), aminek a segítségével meg tudod javítani az oldalatokon lévő működést az egyedi állapot miatt.

    Ez a hook a callback machanizmus során kerül meghívásra, mielőtt még az állapotváltozás lefutna. Itt megvizsgálhatod, hogy az egyedi állapotban van-e a megrendelés, és ha igen, akkor true-val visszatérve feldolgozottnak lehet jelölni a megrendelést, így az alap kód nem fut le. Fontos, hogy minden más esetben false-al kell visszatérni, különben a helyes fizetések sem kerülnek beállításra.

    Valami ilyesmivel (nem tesztelt kód):

    
    add_filter('woocommerce_barion_custom_callback_handler', 'handle_custom_status', 10, 3);
    
    function handle_custom_status($is_callback_handeled, $order, $payment_details) {
      if($is_callback_handeled) return;
    	
      if($order->has_status(array('Függőben'))) {
        $order->add_order_note('Barion visszahívás figyelmen kívül hagyva, mivel a rendelés állapota Függőben volt.');
        return true;
      }
    	
      return false;
    }
    
    • This reply was modified 4 months, 1 week ago by szelpe.
Viewing 2 replies - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.