2016-01-08 3 views
0

Я пытаюсь получить идентификатор транзакций на странице thankyou.php, но у объекта WC_Order нет идентификатора транзакции paypal.Как получить идентификатор транзакции Paypal в WooCommerce?

WC_Order Объект: -

WC_Order Object 
(
    [order_type] => simple 
    [id] => 49 
    [post] => WP_Post Object 
     (
      [ID] => 49 
      [post_author] => 1 
      [post_date] => 2016-01-08 13:55:24 
      [post_date_gmt] => 2016-01-08 13:55:24 
      [post_content] => 
      [post_title] => Order – January 8, 2016 @ 01:55 PM 
      [post_excerpt] => 
      [post_status] => wc-pending 
      [comment_status] => open 
      [ping_status] => closed 
      [post_password] => order_568fbfcc2b0f2 
      [post_name] => order-jan-08-2016-0155-pm 
      [to_ping] => 
      [pinged] => 
      [post_modified] => 2016-01-08 13:55:24 
      [post_modified_gmt] => 2016-01-08 13:55:24 
      [post_content_filtered] => 
      [post_parent] => 0 
      [guid] => http://localhost/lfdemo/?post_type=shop_order&p=49 
      [menu_order] => 0 
      [post_type] => shop_order 
      [post_mime_type] => 
      [comment_count] => 0 
      [filter] => raw 
     ) 

    [order_date] => 2016-01-08 13:55:24 
    [modified_date] => 2016-01-08 13:55:24 
    [customer_message] => 
    [customer_note] => 
    [post_status] => wc-pending 
    [prices_include_tax] => 
    [tax_display_cart] => excl 
    [display_totals_ex_tax] => 1 
    [display_cart_ex_tax] => 1 
    [formatted_billing_address:protected] => 
    [formatted_shipping_address:protected] => 
) 

Мне нужна помощь! поэтому, пожалуйста, напишите комментарий с помощью решения!

+1

Когда вы тянете этот объект заказа? Он показывает статус как ожидающий. Идентификатор транзакции не возвращается в порядок до тех пор, пока триггеры IPN, которые произойдут после завершения платежа. Вы уверены, что не слишком быстро проверяете его? –

+0

Спасибо, Андрей. Я пишу триггер в IPN PayPal вместо того, чтобы делать это в WooCommerce. –

+0

Вы получили это отсортировано? Я тоже ищу решение. – user1448031

ответ

2

Идентификатор транзакции является частью почтового метаданных ...

$ TRANSACTION_ID = get_post_meta ($ order_id, '_transaction_id', правда);

0

Лучше пройти через API:

global $woocommerce; 

//Retrieve the order 
$order = new WC_Order($order_id); 

//Retrieve the transaction ID 
$transID = $order->get_transaction_id(); 
Смежные вопросы