Subscribers
A subscriber is a payer's saved card, which you can charge without them. The payer saves it in the payment window; after that, charging it is a request of yours.
Requests
| Request | What it does |
|---|---|
POST /v1/new, with "subscriber" |
Create subscriber: a link where the payer saves their card, and pays a first charge if you ask for one. |
POST /v1/subscribers/{subid}/charge |
Charge subscriber without the payer. Answers with the new transaction. |
POST /v1/subscribers/{subid}/renew |
Renew subscriber: a link where the payer saves a new card for the subscriber. |
v1 can't delete a subscriber. To stop charging one, stop sending charges: we never charge on our own.
How they fit together
- Create a link, and send the payer to it. When they have
saved their card, seq returns the new subscriber, with your
"ref". Store its"id". - Charge the subscriber when a payment is due. The charge answers with the transaction it created, which seq also returns, as a charge, and which you capture or refund as any transaction.
- When the card stops working, or the payer wants to use another,
renew the subscriber: a link like the first, after which
seq returns the subscriber with a
"renew"act.
We keep no schedule: when to charge, and how much, is yours to decide. See Charging subscribers. The first payment, in the payment window, is customer-initiated, and every charge after it merchant-initiated, which the card schemes treat differently: see the knowledge base's Stored credentials.
The subscriber object
Every field is always there, as in a transaction; a field without a value is an empty string or an empty array.
| Field | Type | Description |
|---|---|---|
type |
string | "subscriber". |
id |
integer | The subscriber's ID, the {subid} of its requests. A shop's subscribers are numbered from 1. |
rev |
integer | The revision: 1 when the subscriber is created, and one higher with each change, such as a renewal. |
ref |
string | Your reference, from Create subscriber. |
method.type |
string | Always "card", also when the payer saved Apple Pay: "services" then has "applepay". |
method.id |
string | An opaque ID of the card or device, as a transaction's. |
method.card.brand |
string | The card's brand, as a transaction's. |
method.card.last4 |
string | The last four digits of the card number. |
method.card.exp |
integer | The last moment the card is valid, in Unix time: the end of its expiry month. Ask the payer to renew before then. |
services |
array of strings | What took part when the card was last saved: "3dsecurev2" and "applepay", or on older subscribers "3dsecure" and "dsbn"; and the acquiring agreement, such as "nets-2". |
info.ip |
string | The IP address of the browser that last saved the card. |
time.created |
integer | When the link that created the subscriber was created, in Unix time. |
time.authorized |
integer | When the card was first saved, in Unix time. |
billing |
object | The billing address, as a transaction's, from when the subscriber was created or last renewed. |
shipping |
object | The shipping address, likewise. |
acts |
array of objects | What happened to it since it was created, oldest first: "act": "renew" when the payer saved a new card, with its "time" and the "services" that took part in it. |
A subscriber that the payer saved, and renewed once:
{
"type": "subscriber",
"id": 19,
"rev": 2,
"ref": "user301",
"method": {
"type": "card",
"id": "I2hfG55UvlDvAwzW8aVec1049giH0Z1ZEPlGYMPiCac=",
"card": {
"brand": "mastercard",
"last4": "2847",
"exp": 1848700800
}
},
"services": [
"3dsecurev2",
"nets-2"
],
"info": {
"ip": "2001:db8:400f:804::200e"
},
"time": {
"created": 1715259306,
"authorized": 1715259314
},
"billing": {
"name": "Anne Jensen",
"company": "",
"vatin": "",
"gln": "",
"email": "anne@example.com",
"phone": "80781943",
"address": ["Hans Christiansvænge 99", "Postboks 401"],
"city": "Neder Vindinge",
"zip": "4760",
"state": "",
"country": "DK"
},
"shipping": {
"name": "",
"company": "",
"email": "",
"phone": "",
"address": [],
"city": "",
"zip": "",
"state": "",
"country": ""
},
"acts": [
{
"act": "renew",
"time": 1757573571,
"services": [
"3dsecurev2",
"nets-2"
]
}
]
}