diff --git a/src/services/Webhooks.php b/src/services/Webhooks.php index 5388e3b9..48926a08 100644 --- a/src/services/Webhooks.php +++ b/src/services/Webhooks.php @@ -164,27 +164,28 @@ private function bill_created($data) */ private function bill_paid($data) { - if(empty($data->bill->subscription)) { - $order = $this->find_order_by_id($data->bill->code); + if(empty($data->bill->subscription)) { + $order = $this->find_order_by_id($data->bill->code); $vindi_order = $order->get_meta('vindi_order', true); - if(is_array($vindi_order)) { - $vindi_order['single_payment']['bill']['status'] = $data->bill->status; - } else { - return; - } - } else { - $vindi_subscription_id = $data->bill->subscription->id; - $cycle = $data->bill->period->cycle; - $order = $this->find_order_by_subscription_and_cycle($vindi_subscription_id, $cycle); + if(!is_array($vindi_order)) { + return; + } + $vindi_order['single_payment']['bill']['status'] = $data->bill->status; + } + + if(empty($data->bill->subscription)) { + $vindi_subscription_id = $data->bill->subscription->id; + $cycle = $data->bill->period->cycle; + $order = $this->find_order_by_subscription_and_cycle($vindi_subscription_id, $cycle); $vindi_order = $order->get_meta('vindi_order', true); - if(is_array($vindi_order)) { - $vindi_order[$vindi_subscription_id]['bill']['status'] = $data->bill->status; - } else { - return; - } - } + if(!is_array($vindi_order)) { + return; + } + + $vindi_order[$vindi_subscription_id]['bill']['status'] = $data->bill->status; + } $order->update_meta_data('vindi_order', $vindi_order); // Order informations always be updated in last array element