Kompabilitási probléma a WooCommerce Sequential Order Numbers Pro pluginnal, kikapcsolhatatlan prefix
Closed this issue · 1 comments
zbacsi commented
- Simplepay Gateway bővítmény verzió: 2.5.1
- WooCommerce verzió: 7.9.0
- WordPress verzió: 6.2.2
- PHP verzió: 7.4
Leírás
A WooCommerce Sequential Order Numbers Pro plugin egy szép, formázott order numbert készít. Hiába állítom üresre a prefixet, a Simplepay már a wc- prefix-el kapja meg a rendelésszámot.
A probléma az IPN-nél jelentkezik. A handleNotification függvényben a Str::idFromRef($payload['orderRef']) eltávolítja a prefixeket, de a suffixeket nem (pl. ha évszám van a rendelésszám végén).
Ha nincs meg a rendelés, ezzel a kiegészítéssel találom meg a formázott azonosító alapján:
`
$input = file_get_contents('php://input');
$payload = json_decode($input, true);
$order = wc_get_order(Str::idFromRef($payload['orderRef']));
if (! $order instanceof WC_Order) {
// search for the order by custom order number
$query_args = array(
'numberposts' => 1,
'meta_key' => '_order_number_formatted',
'meta_value' => preg_replace("/^wc-/","", $payload['orderRef']),
'post_type' => 'shop_order',
'post_status' => 'any',
'fields' => 'ids',
);
$posts = get_posts( $query_args );
list( $order_id ) = ! empty( $posts ) ? $posts : null;
// order was found
if ( $order_id !== null ) {
$order=wc_get_order($order_id);
}
}
if (! $order instanceof WC_Order) {
die(__('Order not found.', 'cone-simplepay'));
}
`
Biztosan lehetne valami okosabb megoldást találni a makacs wc- prefix eltávolítására, nekem most ez volt a gyors.
Reprodukáláshoz szükséges lépések
- Használd a WooCommerce Sequential Order Numbers Pro plugint
- Állíts prefixet, suffixet
- A Simplay Gatewayben a Tranzakció Előtag legyen üres.
iamgergo commented
Hello,
Köszi az infót.
Ebben az ingyenes verzióban ezt már nem tervezzük javítani.