private function process_cancelled()
{
$process_cancelled = true;
// If the payment was not in publish or revoked status, don't decrement stats as they were never incremented
if ('publish' != $this->old_status || 'cancelled' != $this->status) {
$process_cancelled = false;
}
// Allow extensions to filter for their own payment types, Example: Recurring Payments
$process_cancelled = apply_filters('give_should_process_cancelled', $process_cancelled, $this);
if (false === $process_cancelled) {
return;
}
$decrease_store_earnings = apply_filters('give_decrease_store_earnings_on_cancelled', true, $this);
$decrease_customer_value = apply_filters('give_decrease_customer_value_on_cancelled', true, $this);
$decrease_purchase_count = apply_filters('give_decrease_customer_purchase_count_on_cancelled', true, $this);
$this->maybe_alter_stats($decrease_store_earnings, $decrease_customer_value, $decrease_purchase_count);
$this->delete_sales_logs();
$this->completed_date = false;
$this->update_meta('_give_completed_date', '');
// Clear the This Month earnings (this_monththis_month is NOT a typo)
delete_transient(md5('give_earnings_this_monththis_month'));
}