info@target.co.uk
Recurring

Recurring payments & links

Charge customers automatically, on the schedule you choose. Subscriptions, payment links and invoices run on the same tokenised card vault and the same dashboard as your checkout: set up a plan once and Target collects every renewal, retries the ones that fail and tells your systems what happened.

Cards, SEPA Direct Debit and e-wallets Up to 15% of failed renewals recovered Included in every plan
Subscriptions

Billing that runs itself

Define a plan — price, currency, interval and trial — and attach customers to it. Target stores the card as a network token, charges each renewal as a merchant-initiated transaction with no extra 3-D Secure step, and keeps the subscription state in sync with your product through webhooks. Change a price, pause, resume or cancel from the dashboard or with a single API call.

Flexible billing cycles

Daily, weekly, monthly, quarterly, yearly or any custom interval in days. Anchor renewals to the sign-up date or to a fixed day of the month, and bill in any of 150+ currencies.

Trials & proration

Free trials of up to 90 days, with or without a card on file. Upgrades and downgrades mid-cycle are prorated to the day, so the customer pays exactly for what they used.

Smart retries

A failed renewal is retried up to four times over seven days. A model picks the moment the issuer is most likely to approve — recovering up to 15% of failed payments.

Card updater

Expired or reissued Visa and Mastercard cards are refreshed automatically through the card networks' updater services — before the next charge is due, not after it fails.

Dunning e-mails

Pre-renewal notices, failed-payment alerts and a hosted page where the customer updates the card. Your logo, your wording, sent from your domain in 12 languages.

Webhooks for every event

subscription.created, invoice.paid, payment.failed, subscription.cancelled — 24 signed events in total, retried for 72 hours if your endpoint is down.

Lifecycle

From plan to payment

Four stages, each visible in the dashboard and each firing a webhook. You decide what your product does at every step — grant access, extend a trial, lock an account — and Target handles the money.

01

Create a plan

Set the price, currency, interval and trial length in the dashboard or with one POST request. Add as many plans as you need — monthly and yearly, per seat, per usage tier.

02

Customer subscribes

The customer enters a card once, on your checkout or on a payment link. Target tokenises it, runs 3-D Secure 2.2 on the first payment and creates the subscription.

03

Auto charge

On every renewal date Target charges the stored token as a merchant-initiated transaction — no 3-D Secure, no customer action — issues the invoice and settles the funds.

04

Retry & notify

If the charge fails, smart retries and the card updater take over, dunning e-mails go out, and your endpoint receives every state change until the invoice is paid or the subscription ends.

In numbers

One-click.Every month.

The customer approves the first payment once. From then on Target collects, retries, refreshes the card and settles — in the currency you choose, on the schedule you set, with every event reported to your systems.

15%
Of failed renewals recovered by smart retries and the card updater
0
Lines of code to create a payment link or an invoice
30 s
From opening the dashboard to a link you can share
Example

One object. Every renewal.

Everything Target knows about a subscription lives in one JSON object: the plan, the stored payment method, the current billing period, the retry state and the next charge date. Read it from the REST API, receive it in every webhook, or export it from the dashboard as CSV.

json{
  "id": "sub_9f3k2m7q",
  "object": "subscription",
  "status": "active",
  "customer": "cus_4m2n8x1p",
  "plan": {
    "id": "plan_pro_monthly",
    "amount": 4900,
    "currency": "EUR",
    "interval": "month",
    "interval_count": 1
  },
  "payment_method": {
    "type": "card",
    "brand": "visa",
    "last4": "4242",
    "network_token": true
  },
  "trial_end": "2026-09-27T00:00:00Z",
  "current_period_start": "2026-09-27T00:00:00Z",
  "current_period_end": "2026-10-27T00:00:00Z",
  "next_charge_at": "2026-10-27T06:00:00Z",
  "retry_policy": "smart",
  "retries_left": 4,
  "dunning": {
    "emails": true,
    "update_card_url": "https://pay.target.co.uk/u/sub_9f3k2m7q"
  },
  "metadata": { "seat_count": 5 },
  "created_at": "2026-09-13T10:42:17Z"
}
bash# Attach a customer to a plan with a 14-day trial
curl -X POST https://api.target.co.uk/v1/subscriptions \
  -H "Authorization: Bearer sk_test_51Hx…" \
  -H "Content-Type: application/json" \
  -d '{
    "customer": "cus_4m2n8x1p",
    "plan": "plan_pro_monthly",
    "payment_method": "pm_8s2d9f0a",
    "trial_days": 14,
    "retry_policy": "smart",
    "metadata": { "seat_count": 5 }
  }'

# 201 Created → the subscription object shown in the first tab
json// POST to your endpoint, signed with your webhook secret
{
  "id": "evt_7h1j5k9d",
  "type": "payment.failed",
  "created_at": "2026-10-27T06:00:04Z",
  "data": {
    "subscription": "sub_9f3k2m7q",
    "invoice": "inv_2026_004417",
    "amount": 4900,
    "currency": "EUR",
    "decline_code": "insufficient_funds",
    "attempt": 1,
    "retries_left": 3,
    "next_retry_at": "2026-10-29T18:00:00Z",
    "dunning_email_sent": true
  }
}

Amounts are integers in minor units (4900 = €49.00), timestamps are ISO 8601 in UTC, and every identifier is stable across the API, the dashboard and webhook payloads. Run the whole lifecycle in the sandbox with the test cards before you go live.

API reference

Visa, Mastercard and American Express cards through network tokens, SEPA Direct Debit for euro accounts, and the e-wallets that support stored credentials. The customer authorises the first payment with 3-D Secure 2.2; every renewal is then a merchant-initiated transaction, which is exempt from strong customer authentication under PSD2 — no pop-ups, no drop-off.

The subscription moves to past_due and smart retries start: up to four attempts over seven days, each timed by a model trained on issuer approval patterns. In parallel the card updater checks whether the card was reissued, and dunning e-mails ask the customer to update the card on a hosted page. If every attempt fails, the subscription is paused or cancelled according to the rule you set — and your endpoint receives a webhook at each step.

Yes. Upgrades and downgrades are prorated to the day and either charged immediately or added to the next invoice — your choice. A price change applies to new subscribers straight away; for existing ones you schedule it for the next renewal and Target sends the notice required in the customer's country. Pausing, resuming and cancelling at period end take one click in the dashboard or one API call.

They are included in every plan at the standard card rate: 1.9% + €0.20 per successful European card payment on Start (no monthly fee), from 1.4% + €0.20 on Business (€99 a month) and interchange++ on Enterprise. Non-EU cards carry +1.0%. There is no fee per link, per invoice, per subscriber or per retry. Full details are on the pricing page.

Help

Still have questions? We will help!

By clicking “Send” you agree to the Privacy policy and the processing of your personal data.

Thank you! Your request has been sent — a manager will contact you within one business day.