Hook function not called
-
Hi all,
Thank for this plugin.
I use this, it’s work, i my wordpress admin, in paypal IPN menu, i receved transaction information correctly.
But i hadded in function.php the code for custom hook for test :
add_action('paypal_ipn_for_wordpress_ipn_response_handler', 'process_completed_payment_ipn', 10, 1); function process_completed_payment_ipn($posted) { session_start(); $_SESSION["test"] = "ok"; }And in my page, $_SESSION[“test”] value is empty.
I tried many things, change the hook name by “paypal_ipn_for_wordpress_payment_status_completed”, changed session variable by email test, but nothing work… π
Thank for your help !
-
The snippet you’re showing above would not do anything, so I’m a little confused. It looks like it should set the session variable, but you’re not going to see that value anywhere . You need to save a log file or email yourself or something.
I use the variable $_SESSION[“test”] in another page, with a “echo”.
It is just a test to see if the function “process_completed_payment_ipn” is called.
But in my page test where i did the echo, the value is empty.
Thank π
IPN is not something you will see on screen, so echoing a value will do no good. As I said, you need to save a log file or send yourself an email from within the IPN handler.
Remember, IPN happens completely separate from the checkout flow, and again, the user will never see anything IPN is doing on screen.
Thank, i did this test because the action for record was not called, so i create this variable just for check if the hook is called.
If my variable “test” is ok, i will call my real function to record…
but she didnt called i think…
I tried to send me a email, but nothing appear… so i tried with the session variable…
How can i do to be sure than the function “process_completed_payment_ipn” is called?
Thanks
How exactly are you testing it? Are you using the IPN Simulator, actual sandbox transactions, or what?
I need to record some transaction information, so i need to had code after the :
/** * At this point you can use the data to generate email notifications, * update your local database, hit 3rd party web services, or anything * else you might want to automate based on this type of IPN. */in my “function.php” :
add_action('process_completed_payment_ipn', 'function_name', 10, 1); function function_name($posted) { // Parse data from IPN $posted array $mc_gross = isset($posted['mc_gross']) ? $posted['mc_gross'] : ''; $protection_eligibility = isset($posted['protection_eligibility']) ? $posted['protection_eligibility'] : ''; $payer_id = isset($posted['payer_id']) ? $posted['payer_id'] : ''; $tax = isset($posted['tax']) ? $posted['tax'] : ''; $payment_date = isset($posted['payment_date']) ? $posted['payment_date'] : ''; $payment_status = isset($posted['payment_status']) ? $posted['payment_status'] : ''; $charset = isset($posted['charset']) ? $posted['charset'] : ''; $first_name = isset($posted['first_name']) ? $posted['first_name'] : ''; $mc_fee = isset($posted['mc_fee']) ? $posted['mc_fee'] : ''; $notify_version = isset($posted['notify_version']) ? $posted['notify_version'] : ''; $payer_status = isset($posted['payer_status']) ? $posted['payer_status'] : ''; $business = isset($posted['business']) ? $posted['business'] : ''; $quantity = isset($posted['quantity']) ? $posted['quantity'] : ''; $verify_sign = isset($posted['verify_sign']) ? $posted['verify_sign'] : ''; $payer_email = isset($posted['payer_email']) ? $posted['payer_email'] : ''; $txn_id = isset($posted['txn_id']) ? $posted['txn_id'] : ''; $payment_type = isset($posted['payment_type']) ? $posted['payment_type'] : ''; $btn_id = isset($posted['btn_id']) ? $posted['btn_id'] : ''; $last_name = isset($posted['last_name']) ? $posted['last_name'] : ''; $receiver_email = isset($posted['receiver_email']) ? $posted['receiver_email'] : ''; $shipping_discount = isset($posted['shipping_discount']) ? $posted['shipping_discount'] : ''; $insurance_amount = isset($posted['insurance_amount']) ? $posted['insurance_amount'] : ''; $receiver_id = isset($posted['receiver_id']) ? $posted['receiver_id'] : ''; $txn_type = isset($posted['txn_type']) ? $posted['txn_type'] : ''; $item_name = isset($posted['item_name']) ? $posted['item_name'] : ''; $discount = isset($posted['discount']) ? $posted['discount'] : ''; $mc_currency = isset($posted['mc_currency']) ? $posted['mc_currency'] : ''; $residence_country = isset($posted['residence_country']) ? $posted['residence_country'] : ''; $handling_amount = isset($posted['handling_amount']) ? $posted['handling_amount'] : ''; $shipping_method = isset($posted['shipping_method']) ? $posted['shipping_method'] : ''; $shipping = isset($posted['shipping']) ? $posted['shipping'] : ''; $ipn_track_id = isset($posted['ipn_track_id']) ? $posted['ipn_track_id'] : ''; $IPN_status = isset($posted['IPN_status']) ? $posted['IPN_status'] : ''; /** * At this point you can use the data to generate email notifications, * update your local database, hit 3rd party web services, or anything * else you might want to automate based on this type of IPN. */ /* HERE MY CODE ; Tried auto-email write in a file and session variable at last just for a test */ }I tried to write in a file, to send me a email, a session variable, but nothing appear.
I dont know if my function is called…
Thank
Again, how are you testing it? Are you using PayPal IPN Simulator? Running actual sandbox orders? Running actual live orders?
Are you sure you have IPN configured in the PayPal account that you’re working with?
Sorry for my bad explain π
In wordpress, in the “paypal IPN” menu, all transaction appaers, with the transaction_ID, date, transaction_type (=web_accept), paiement_status(=Completed).
I can see all my transaction test.
So i think my paypal account is correctly configured.I not using PayPal IPN Simulator but i running actual live orders.
Thank π
ok, there’s no reason your function wouldn’t be firing then. Can you check the IPN History in your PayPal account and see if it shows any errors?
Thank, i will check today.
Have a nice day !Hello,
I see nothing wrong in the IPN History in my Paypal account.
I see all my transactions…Hi angelleye !
My apologies !! I moved the function “process_completed_payment_ipn” and the “add_action” on the top of my “function.php” and i receved my mail test !
Certainely something wrong in my “function.php”. I will chek this !Thank for your help !
Alexis
Glad you’re on the right track! π
The topic ‘Hook function not called’ is closed to new replies.