[wpify_woo_render_qr_code]
Shortcode automaticky detekuje objednávku v tomto pořadí:
- Parametr
order_id v shortcode
- Parametr
key v URL (děkovná stránka)
- Globální proměnná
$email (v e-mailu)
- Globální proměnná
$order
- Query variable
order-pay nebo view-order
| Parametr | Typ | Popis |
|---|
order_id | int | ID objednávky (volitelné) |
[wpify_woo_render_qr_code order_id="12345"]
do_action( 'wpify_woo_render_qr_code', $order );
| Parametr | Typ | Popis |
|---|
$order | int|WC_Order | ID objednávky nebo objekt WC_Order |
add_action( 'woocommerce_view_order', function( $order_id ) {
$order = wc_get_order( $order_id );
if ( $order->get_status() === 'on-hold' ) {
do_action( 'wpify_woo_render_qr_code', $order );
Upraví data platby před vygenerováním QR kódu.
apply_filters( 'wpify_woo_qr_payment_details', array $payment_details, WC_Order $order );
| Parametr | Typ | Popis |
|---|
$payment_details | array | Data platby (viz níže) |
$order | WC_Order | Objekt objednávky |
| Klíč | Typ | Popis |
|---|
order | string | Číslo objednávky |
total | float | Celková částka |
vs | string | Variabilní symbol (číslo objednávky bez nečíselných znaků) |
currency | string | Měna (CZK, EUR, HUF) |
due_date | string | Datum splatnosti (Y-m-d) |
account_number | string | Číslo účtu (CZ) |
bank_code | string | Kód banky (CZ) |
iban | string | IBAN |
bic | string | BIC/SWIFT |
note | string | Zpráva pro příjemce |
recipient_name | string | Jméno příjemce |
add_filter( 'wpify_woo_qr_payment_details', function( $details, $order ) {
// Použít vlastní meta jako variabilní symbol
$custom_vs = $order->get_meta( '_custom_variable_symbol' );
$details['vs'] = $custom_vs;
add_filter( 'wpify_woo_qr_payment_details', function( $details, $order ) {
// Splatnost 14 dní od vytvoření objednávky
$due_date = new DateTime( $order->get_date_created()->format( 'Y-m-d' ) );
$due_date->modify( '+14 days' );
$details['due_date'] = $due_date->format( 'Y-m-d' );
Přeskočí vykreslení QR kódu pro konkrétní objednávku/účet.
apply_filters( 'wpify_woo_skip_qr_payment', bool $skip, WC_Order $order, array $account );
| Parametr | Typ | Popis |
|---|
$skip | bool | Přeskočit vykreslení (výchozí: false) |
$order | WC_Order | Objekt objednávky |
$account | array | Data bankovního účtu |
add_filter( 'wpify_woo_skip_qr_payment', function( $skip, $order, $account ) {
if ( $order->is_paid() ) {
add_filter( 'wpify_woo_skip_qr_payment', function( $skip, $order, $account ) {
if ( $order->get_total() < 100 ) {
Upraví data bankovního účtu po načtení z BACS a před validací.
apply_filters( 'wpify_woo_qr_account_data', array $account, WC_Order $order );
| Parametr | Typ | Popis |
|---|
$account | array | Data účtu (viz níže) |
$order | WC_Order | Objekt objednávky |
| Klíč | Typ | Popis |
|---|
source | string | Zdroj dat (index BACS účtu nebo prázdný) |
iban | string | IBAN |
number | string | Číslo účtu |
bank_code | string | Kód banky |
bic | string | BIC/SWIFT |
recipient_name | string | Jméno příjemce |
type | string | Typ QR (cz, sk, hu, epc) |
enabled_currencies | array | Povolené měny |
enabled_countries | array | Povolené země |
label | string | Info label |
add_filter( 'wpify_woo_qr_account_data', function( $account, $order ) {
// Pro objednávky nad 10000 Kč použít jiný účet
if ( $order->get_total() > 10000 && $order->get_currency() === 'CZK' ) {
$account['number'] = '123456789';
$account['bank_code'] = '0100';
Modul loguje chyby při generování QR kódu do logu dostupného v administraci:
WPify Woo → WPify Logs
| Událost | Popis |
|---|
| Chyba generování QR | Selhání při vytváření QR kódu (neplatná data, výjimka knihovny) |
| Nepodporovaná měna | Měna objednávky neodpovídá QR standardu |
[2024-01-15 10:30:45] ERROR: QR payment: error create QR code.
"message": "Invalid IBAN format",
"payment_details": { ... }
| Soubor | Cesta |
|---|
| QR obrázky | wp-content/uploads/qr-payment/ |
| Logy | wp-content/uploads/logs/ |