Title: Swipe Again — Failed Payment Recovery
Author: swipeagain
Published: <strong>October 22, 2026</strong>
Last modified: October 22, 2026

---

Search plugins

![](https://ps.w.org/swipe-again/assets/banner-772x250.png?rev=3760310)

![](https://ps.w.org/swipe-again/assets/icon-256x256.png?rev=3760310)

# Swipe Again — Failed Payment Recovery

 By [swipeagain](https://profiles.wordpress.org/swipeagain/)

[Download](https://downloads.wordpress.org/plugin/swipe-again.1.0.2.zip)

 * [Details](https://wordpress.org/plugins/swipe-again/#description)
 * [Reviews](https://wordpress.org/plugins/swipe-again/#reviews)
 *  [Installation](https://wordpress.org/plugins/swipe-again/#installation)
 * [Development](https://wordpress.org/plugins/swipe-again/#developers)

 [Support](https://wordpress.org/support/plugin/swipe-again/)

## Description

**Swipe Again recovers failed subscription payments for WooCommerce stores.**

When a renewal charge fails, most stores either give up or blast the same card again
on a fixed schedule. Swipe Again runs a recovery system instead: decline-aware smart
retries (timed to the reason the payment failed), plus branded email, SMS, and voice
dunning that brings subscribers back to update their card — all measured so you 
can see exactly what was recovered.

#### Retries run inside your store

This plugin is the store-side half of Swipe Again. Failed renewals sync to your 
Swipe Again account; when a retry is due, the command comes back to this plugin 
and the charge executes locally through **your store’s own payment gateway** — the
same code path WooCommerce Subscriptions itself uses for renewals. That means every
gateway works (Stripe, PayPal, WooPayments, Square, and the rest), and **card data
never leaves your gateway** — Swipe Again never sees, stores, or transmits card 
numbers.

#### What you get

 * **Decline-aware smart retries** — soft declines (insufficient funds, do-not-honor,
   temporary holds) are retried on timings matched to the decline; hard declines(
   stolen card, invalid number) are never retried.
 * **Branded dunning** — email, SMS, and voice sequences in your brand voice bring
   subscribers to a card-update page.
 * **90-day backfill on connect** — failed renewals from the last 90 days are pulled
   in automatically, so recovery starts on your backlog, not just tomorrow’s failures.
 * **One owner per card** — WooCommerce Subscriptions ships with its own retry system(
   off by default). If yours is on, Swipe Again stands down on any order WooCommerce
   is already retrying — or, with one click in this plugin’s settings, hand retry
   ownership to Swipe Again and the native system turns off. No double charges, 
   ever.
 * **Live recovery accounting** — your recovered totals, right in WooCommerce  Swipe
   Again, straight from your Swipe Again account.
 * **The Swipe Again guarantee** — 14-day free trial. Guarantee: if recovered revenue
   in your first 30 days is under $179, your next month is free. Measured on total
   recovered revenue while the service is active; terms on our website.

#### How it works

 1. Install and activate this plugin.
 2. Open WooCommerce  Swipe Again and click **Connect to Swipe Again** — you get a 
    short pairing code.
 3. Type the code in your Swipe Again account (Connect  WooCommerce). The plugin receives
    its secure key automatically — nothing to copy, no API keys to manage.
 4. Choose who owns retries in Settings. Done.

#### Requirements

 * WordPress 6.2+, PHP 7.4+, WooCommerce 8.0+
 * WooCommerce Subscriptions (for subscription renewals)
 * A Swipe Again account — $179/month flat after a 14-day free trial, no revenue
   share, no per-recovery fees

#### Privacy & the service

This plugin connects your store to the Swipe Again service (app.swipeagain.com) —
that connection is the product. It syncs: failed renewal order data (order id, amount,
currency, gateway decline information, customer email/phone for dunning), subscription
status changes, and recovery outcomes. It never syncs card numbers or full payment
credentials. Syncing stops the moment you disconnect or uninstall. See the Swipe
Again privacy policy at https://swipeagain.com/pages/privacy-policy and terms at
https://swipeagain.com/pages/terms-of-service.

The plugin is fully functional regardless of plan state: connecting, syncing, reporting,
and executing retries are plugin functions and are never switched off by this plugin.
Service levels (dunning sends, scheduling) follow your Swipe Again account’s plan.

## Screenshots

[⌊The Swipe Again status screen in WooCommerce — recovered totals, plan state, and
who owns retries, from your live account.⌉⌊The Swipe Again status screen in WooCommerce—
recovered totals, plan state, and who owns retries, from your live account.⌉[

The Swipe Again status screen in WooCommerce — recovered totals, plan state, and
who owns retries, from your live account.

[⌊Connecting is a short pairing code — no API keys to copy.⌉⌊Connecting is a short
pairing code — no API keys to copy.⌉[

Connecting is a short pairing code — no API keys to copy.

[⌊Choose who owns retries: let Swipe Again manage them, or detect-only with automatic
stand-down.⌉⌊Choose who owns retries: let Swipe Again manage them, or detect-only
with automatic stand-down.⌉[

Choose who owns retries: let Swipe Again manage them, or detect-only with automatic
stand-down.

## Installation

 1. Upload the plugin files to `/wp-content/plugins/swipe-again/`, or install through
    the WordPress plugins screen.
 2. Activate the plugin through the ‘Plugins’ screen.
 3. Open WooCommerce  Swipe Again and click **Connect to Swipe Again**.
 4. Enter the pairing code in your Swipe Again account under Connect  WooCommerce.
 5. In Settings, choose who owns retries (recommended: let Swipe Again manage retries).

## FAQ

### Which payment gateways does this work with?

All of them. Retries execute inside your store through WooCommerce Subscriptions’
own scheduled-payment path, so whatever gateway your subscriptions use — Stripe,
PayPal, WooPayments, Square, or any other WooCommerce Subscriptions-compatible gateway—
is the gateway that runs the retry. This is the key difference from hosted retry
services, which can only re-charge cards they tokenized themselves.

### Will this double-charge my customers?

No. Two protections: if WooCommerce Subscriptions’ own retry system has a retry 
pending for an order, Swipe Again stands down and does not touch that order; and
every retry command executes at most once — repeat deliveries replay the recorded
outcome instead of charging again. If you hand retry ownership to Swipe Again in
Settings, the native retry system is off entirely, so one schedule owns every card.

### What happens if I disconnect or my plan lapses?

Everything in your store keeps working exactly as before. Syncing and Swipe Again-
initiated retries stop; WooCommerce and WooCommerce Subscriptions are untouched.
The plugin never disables itself or your store’s functions based on plan state.

### Does Swipe Again see my customers’ card numbers?

No. Charges run through your gateway inside your store. Swipe Again receives order
and decline information and customer contact details for dunning — never card numbers,
CVCs, or full payment credentials.

### How much does it cost?

$179/month flat after a 14-day free trial. No revenue share, no per-recovery percentage,
no per-seat pricing. 14-day free trial. Guarantee: if recovered revenue in your 
first 30 days is under $179, your next month is free. Measured on total recovered
revenue while the service is active; terms on our website.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Swipe Again — Failed Payment Recovery” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ swipeagain ](https://profiles.wordpress.org/swipeagain/)

[Translate “Swipe Again — Failed Payment Recovery” into your language.](https://translate.wordpress.org/projects/wp-plugins/swipe-again)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/swipe-again/), check
out the [SVN repository](https://plugins.svn.wordpress.org/swipe-again/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/swipe-again/) by
[RSS](https://plugins.trac.wordpress.org/log/swipe-again/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.2

 * Fix: plugin-check warnings cleanup, no behavior change.

#### 1.0.0

 * Initial release: pairing-code connection, failed-renewal sync for all gateways,
   in-store retry execution, 90-day backfill, native-retry coordination with stand-
   down, WP-Admin status and settings screens.

## Meta

 *  Version **1.0.2**
 *  Last updated **5 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [dunning](https://wordpress.org/plugins/tags/dunning/)[failed payments](https://wordpress.org/plugins/tags/failed-payments/)
   [payment recovery](https://wordpress.org/plugins/tags/payment-recovery/)[subscriptions](https://wordpress.org/plugins/tags/subscriptions/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/swipe-again/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/swipe-again/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/swipe-again/reviews/)

## Contributors

 *   [ swipeagain ](https://profiles.wordpress.org/swipeagain/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/swipe-again/)