Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function get_paypal_order($raw_custom) {
- $custom = json_decode($raw_custom);
- if ($custom && is_object($custom)) {
- $order_id = $custom->order_id;
- $order_key = $custom->order_key;
- } else {
- return false;
- }
- $order = wc_get_order($order_id);
- if (!$order) {
- $order_id = wc_get_order_id_by_order_key($order_key);
- $order = wc_get_order($order_id);
- }
- if (!$order || $order->get_order_key() !== $order_key) {
- return false;
- }
- return $order;
- }
- function update_wc_order_status($posted) {
- $order = !empty($posted['custom']) ? get_paypal_order($posted['custom']) : false;
- if ($order) {
- $posted['payment_status'] = strtolower($posted['payment_status']);
- if ('completed' === $posted['payment_status']) {
- $order->add_order_note(__('IPN payment completed', ''));
- $order->payment_complete(!empty($posted['txn_id']) ? wc_clean($posted['txn_id']) : '' );
- }
- }
- }
- add_action('paypal_ipn_for_wordpress_payment_status_completed', 'update_wc_order_status', 10, 1);
Add Comment
Please, Sign In to add comment