Přeskočit na obsah

Metadata objednávky

Tento obsah zatím není dostupný ve vašem jazyce.

Plugin ukládá informace o platbě do metadat objednávky WooCommerce.

Meta klíčTypPopis
_comgate_trans_idstringID transakce v Comgate
_comgate_payment_urlstringURL platební stránky (iframe)
_comgate_statusstringStav platby
_comgate_methodstringPoužitá platební metoda
StavPopis
createdPlatba vytvořena
pendingČeká na dokončení
paidÚspěšně zaplaceno
authorizedAutorizováno (preautorizace)
cancelledZrušeno zákazníkem
$order = wc_get_order( $order_id );
// Stav platby
$status = $order->get_meta( '_comgate_status' );
// ID transakce
$trans_id = $order->get_meta( '_comgate_trans_id' );
// Použitá metoda
$method = $order->get_meta( '_comgate_method' );

Plugin poskytuje rozšířený model objednávky s pomocnými metodami:

// Získání kontejneru
$container = \Starter\Container::getInstance();
// Získání repository
$order_repo = $container->get( \WpifyWooComgate\Repositories\OrderRepository::class );
// Získání objednávky
$order = $order_repo->get( $order_id );
// Použití metod
$status = $order->get_comgate_status();
$trans_id = $order->get_comgate_trans_id();
$payment_url = $order->get_comgate_payment_url();
$method = $order->get_comgate_method();
$container = \Starter\Container::getInstance();
$order_repo = $container->get( \WpifyWooComgate\Repositories\OrderRepository::class );
// Najde objednávku podle Comgate trans_id
$order = $order_repo->find_by_trans_id( 'ABC123XYZ' );
if ( $order ) {
echo 'Objednávka #' . $order->get_id();
}

Stav platby se automaticky zobrazuje:

  1. V seznamu objednávek - ve sloupci s platebními informacemi
  2. V detailu objednávky - v sekci platebních údajů

Pro vlastní zobrazení můžete použít:

/**
* Zobrazení stavu platby
*
* @param int $order_id ID objednávky
*/
function display_comgate_status( $order_id ) {
$order = wc_get_order( $order_id );
$status = $order->get_meta( '_comgate_status' );
if ( $status ) {
$labels = array(
'created' => 'Vytvořeno',
'pending' => 'Čeká',
'paid' => 'Zaplaceno',
'authorized' => 'Autorizováno',
'cancelled' => 'Zrušeno',
);
echo isset( $labels[ $status ] ) ? $labels[ $status ] : $status;
}
}