/**
  * Delete a card
  */
 public function delete_card()
 {
     if (!isset($_POST['stripe_delete_card']) || !is_account_page()) {
         return;
     }
     if (!is_user_logged_in() || !($customer_id = get_user_meta(get_current_user_id(), '_stripe_customer_id', true)) || !is_string($customer_id) || !wp_verify_nonce($_POST['_wpnonce'], "stripe_del_card")) {
         wp_die(__('Unable to verify deletion, please try again', 'woocommerce-gateway-stripe'));
     }
     $stripe = new WC_Gateway_Stripe();
     $result = $stripe->stripe_request(array(), 'customers/' . $customer_id . '/cards/' . sanitize_text_field($_POST['stripe_delete_card']), 'DELETE');
     delete_transient('stripe_cards_' . $customer_id);
     if (is_wp_error($result)) {
         wc_add_notice(__('Unable to delete card.', 'woocommerce-gateway-stripe'), 'error');
     } else {
         wc_add_notice(__('Card deleted.', 'woocommerce-gateway-stripe'), 'success');
     }
     wp_safe_redirect(apply_filters('wc_stripe_manage_saved_cards_url', get_permalink(woocommerce_get_page_id('myaccount'))));
     exit;
 }
 /**
  * Cancel pre-auth on refund/cancellation
  *
  * @param  int $order_id
  */
 public function cancel_payment($order_id)
 {
     $order = new WC_Order($order_id);
     if ($order->payment_method == 'stripe') {
         $charge = get_post_meta($order_id, '_stripe_charge_id', true);
         if ($charge) {
             $stripe = new WC_Gateway_Stripe();
             $result = $stripe->stripe_request(array('amount' => $order->order_total * 100), 'charges/' . $charge . '/refund');
             if (is_wp_error($result)) {
                 $order->add_order_note(__('Unable to refund charge!', 'woocommerce-gateway-stripe') . ' ' . $result->get_error_message());
             } else {
                 $order->add_order_note(sprintf(__('Stripe charge refunded (Charge ID: %s)', 'woocommerce-gateway-stripe'), $result->id));
                 delete_post_meta($order->id, '_stripe_charge_captured');
                 delete_post_meta($order->id, '_stripe_charge_id');
             }
         }
     }
 }