vindi / vindi-woocommerce

Plugin Vindi para pagamento recorrente no Woocommerce
https://vindi.com.br
GNU General Public License v3.0
6 stars 12 forks source link

Issue#2 #28

Closed cleberbonifacio closed 3 years ago

cleberbonifacio commented 3 years ago

O que mudou

O problema apresentado na Issue#2 não ocorre mais.

Motivação

Cancelamento da assinatura no WooCommerce após reativação através do Minha conta.

Solução proposta

Ao ajustar a Issue4 o problema foi solucionado.

Como testar

Para reproduzir, poderá seguir estes passos: Criar uma assinatura diária; Pausar a assinatura através do painel minha conta; Reativar a assinatura no dia seguinte.

laerte-guimaraes commented 3 years ago

Só deixando mais claro o que mudou:

-private function subscription_reactivated($data)
-{
-    if ($this->vindi_settings->get_synchronism_status()){
-        $subscription_id = $data->subscription->code;
-        $subscription = $this->find_subscription_by_id($subscription_id);
-        $subscription->update_status('active', sprintf(__('Assinatura %s reativada pela Vindi.', VINDI), $subscription_id));
-    }
-}

+private function subscription_reactivated($data)
+{
+    if ($this->vindi_settings->get_synchronism_status()) {
+        $subscription_id = $data->subscription->code;
+        $subscription = $this->find_subscription_by_id($subscription_id);
+        $order_id = $subscription->get_last_order();
+        $order = $this->find_order_by_id($order_id);
+        $status_available = array('processing', 'completed', 'on-hold');
+        if (in_array($order->get_status(), $status_available)) {
+            $subscription->update_status('active', sprintf(__('Assinatura %s reativada pela Vindi.', VINDI), $subscription_id));
+        }
+
+    }
+}
laerte-guimaraes commented 3 years ago

Será corrigido no PR #33