Closed sknight80 closed 1 year ago
Szia, Nekem is feltűnt ez a probléma.
Kicsit bele kellett nyúlni a pluginba, az IPNHandler.php-ba írtam egy kis scriptet, ami lekérdezi az aktuális ordert, és átállítja 'completed'-re az order státuszát.
<?php
namespace Cone\SimplePay\Handlers;
use Cone\SimplePay\Support\Log;
class IPNHandler extends Handler
{
/**
* Handle the IPN request.
*
* @param array $payload
* @return void
*/
public function handle($payload)
{
Log::info(sprintf(
"%s\n%s",
__('IPN event was fired.', 'cone-simplepay'),
json_encode($payload)
));
$order = wc_get_order( $this->order->get_id() );
$order->update_status( 'completed' );
//$this->order->payment_complete();
}
}
@ghenius30 a $this->order->payment_complete();
sor miert van kikommentezve?
@sknight80 amikor teszteltem akkor az $order->update_status( 'completed' );
átállította 'completed'-re a státuszt, és a $this->order->payment_complete();
pedig visszaállította 'processing'-re a státuszt.
@ghenius30 es ha felvan cserelve igy:
$this->order->payment_complete();
$order = wc_get_order( $this->order->get_id() );
$order->update_status( 'completed' );
@sknight80 most teszteltem, valóban így is megfelelően működik. :)
@ghenius30 kiraly. Akkor berakom ezt a modositast en is a pluginba.
@sknight80 csak ne felejtsd el, ha update van, valószínűleg ezt ki fogja törölni belőle, és majd neked kell vissza tenned.
Sziasztok!
Ha jól értem akkor ez csak virtuális termék esetében probléma?
csak ne felejtsd el, ha update van, valószínűleg ezt ki fogja törölni belőle, és majd neked kell vissza tenned.
Ha ez valóban megoldás, akkor bevesszük a forráskódba. @ghenius30 @sknight80 Ha esetleg van kedvetek nyitni egy PR-t erre, akkor örömmel vesszük.
Köszi!
Szia @iamgergo ,
Mivel mi csak virtualis termeket arusitunk igy en csak azzal kapcsolatban tudok nyilatkozni. Es igen ott ez problema. Ha gondolod szivesen nyitok ezzel kapcsolatban egy PR-t.
Istvan
Szia @iamgergo , Én is virtuális termékekkel, rendezvények regisztrációs díjával foglalkozom.
@sknight80 @ghenius30 Volt egy kis időm rá, így nyitottam egy PR-t. Esetleg le tudjátok tesztelni, hogy ez a kód (https://github.com/conedevelopment/simplepay-gateway/pull/112/files#diff-6a50c0e79f358172c2f4624731357a53c4440b1c0f7459c983752400444f47c2R24-R35) működik-e megfelelően?
Köszi!
@iamgergo teszteltem, nekem így már jól működik virtuális termék esetén.
@iamgergo hagytam egy kérdést a PR ban. Jónak tűnik nekem és működik is. A kérdés majd azokhoz fog menni akik több fajta terméket árusítanak. Virtuális meg fizikai. Ok bútor meg ajandekkartya. Bár az utóbbi lehet mindkettő típusban.
Köszönöm az asszitot, mergeltem a PR-t és frissítettem a verziót. Ezt pedig zárom.
Hiba leírása
Feltunt nekem, hogy amikor az ugyfelunk a weboldalunkon vasarol voucher-t (virtualis termek) simplepay-en keresztul, a megrendeles statusza "Feldolgozas alatt" -ban marad sikeres fizetes utan es nem valtozik a megrendeles statusza "Teljesitve".
Ez most a kiegeszito limitacioja vagy nekem kell egy kis kodot berakjak a WP-be, hogy amikor sikeres fizetes megtortent, akkor a status menjen at "Teljesitve" statusba?
Extra info: