Dokumentáció / WooCommerce Számlázz.hu / IPN és Autokassza

IPN és Autokassza

Lehetőség van arra, hogy a webáruház értesüljön egy számla kifizetettségi állapotának változásáról a számlázz.hu felől. Tehát ha a számlázz.hu-nál a számla fizetettnek van jelölve, akkor a WooCommerce rendelésnél is ki fogja írni, hogy teljesítve lett. Ez különösen hasznos az Autokassza funkcióval egybekötve és akkor, ha átutalásos fizetést használsz. Erről itt olvashatsz többet: https://www.szamlazz.hu/egyedi-megoldasok/autokassza/

Autokasszával a folyamat úgy néz ki, hogy díjbekérőt állítasz ki átutalásos fizetés esetén. A számlázz.hu érzékeli a MagnetBank-os ás K&H-s összekötésnek köszönhetően, hogy beérkezett e az utalás és elkészíti a számlát automatikusan. Ezután pedig szólni fog az IPN-en keresztül a webáruházadnak, hogy kész a számla. A generált számlát a WooCommerce-ben is eltárolja és opcoinálisan automatikusan le is zárja a rendelést.

Konfigurálás

A beállítása egyszerű, csak keresd meg az IPN linket, amit a bővítmény generál. Ezt a bővítmény beállítások képernyőn az IPN URL mezőben találod:

A linket pedig a számlázz.hu fiókbeállításaiban a Számlázás alapadatok menüben tudod megadni:

Ha a Rendelés státusz IPN hívás után beállításnál kiválasztasz egy rendelési státuszt, akkor egy IPN hívás után ebben a státuszba kerül a rendelés és akár elkészíti a számlát is(például a teljesített státusznál készül automatán számla). 

A beérkezett IPN kérelemben szerepel a rendelés azonosítója. Ha használsz valamilyen bővítményt, ami ezt lecseréli valamilyen más formátumra, akkor módosítanod kell a wc_szamlazz_ipn_request_parameters filterrel a paramétert, hogy a tényleges azonosítót használja. Például a WooCommerce Sequential Order Numbers bővítménynél így néz ki a módosítás:

add_filter('wc_szamlazz_ipn_request_parameters', function($ipn_parameters){
	if(isset($ipn_parameters['order_number'])) {
		$ipn_parameters['order_number'] = wc_sequential_order_numbers()->find_order_by_order_number($ipn_parameters['order_number']);
	}
	return $ipn_parameters;
});