vibecash 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -544
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,642 +1,191 @@
|
|
|
1
1
|
# vibecash
|
|
2
2
|
|
|
3
|
-
Payment infrastructure
|
|
4
|
-
|
|
5
|
-
[](https://www.npmjs.com/package/vibecash)
|
|
6
|
-
[](https://opensource.org/licenses/MIT)
|
|
7
|
-
|
|
8
|
-
## Install
|
|
3
|
+
VibeCash - Payment infrastructure for AI agents.
|
|
9
4
|
|
|
10
5
|
```bash
|
|
11
6
|
npm install -g vibecash
|
|
12
7
|
```
|
|
13
8
|
|
|
14
|
-
##
|
|
9
|
+
## TL;DR - Accept Payments in 30 Seconds
|
|
15
10
|
|
|
16
11
|
```bash
|
|
17
|
-
# 1. Create wallet (
|
|
12
|
+
# 1. Create wallet (one-time setup)
|
|
18
13
|
vibecash wallet create
|
|
14
|
+
# Saves credentials to ~/.vibecash/config.json
|
|
19
15
|
|
|
20
|
-
# 2. Create a
|
|
21
|
-
vibecash link create 9.99 --name "My Product"
|
|
22
|
-
|
|
23
|
-
# 3. Share the URL - each visitor gets their own checkout session
|
|
24
|
-
# Output: { "url": "https://pay.vibecash.dev/p/plink_xxx", ... }
|
|
25
|
-
|
|
26
|
-
# 4. Verify payment (after user returns to your success URL)
|
|
27
|
-
vibecash checkout get cs_xxx
|
|
28
|
-
# Check: status === "complete"
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Environment Variables
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
VIBECASH_SECRET=sk_live_xxx # API secret (or use ~/.vibecash/config.json)
|
|
35
|
-
VIBECASH_API_URL=https://api.vibecash.dev # API endpoint (default)
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## All Commands
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
vibecash wallet create # Create wallet, get API credentials
|
|
42
|
-
vibecash wallet info # Show balance and status
|
|
43
|
-
vibecash wallet claim # Generate dashboard claim link
|
|
44
|
-
|
|
45
|
-
vibecash link create <amount> # Create reusable payment link (recommended)
|
|
46
|
-
vibecash link list # List payment links
|
|
47
|
-
vibecash link get <id> # Get link details
|
|
48
|
-
vibecash link activate <id> # Activate link
|
|
49
|
-
vibecash link deactivate <id> # Deactivate link
|
|
50
|
-
|
|
51
|
-
vibecash checkout create # Create one-time checkout session
|
|
52
|
-
vibecash checkout get <id> # Get session status
|
|
16
|
+
# 2. Create a payment link
|
|
17
|
+
vibecash link create 9.99 --name "My Product"
|
|
18
|
+
# Returns: { "url": "https://pay.vibecash.dev/p/plink_xxx", ... }
|
|
53
19
|
|
|
54
|
-
|
|
55
|
-
vibecash product list # List products
|
|
56
|
-
vibecash product get <id> # Get product
|
|
57
|
-
|
|
58
|
-
vibecash price create <prod_id> <amount> # Create price
|
|
59
|
-
vibecash price list # List prices
|
|
60
|
-
|
|
61
|
-
vibecash subscription list # List subscriptions
|
|
62
|
-
vibecash subscription get <id> # Get subscription
|
|
63
|
-
vibecash subscription cancel <id> # Cancel subscription
|
|
64
|
-
vibecash subscription resume <id> # Resume subscription
|
|
65
|
-
|
|
66
|
-
vibecash customer create <email> # Create customer
|
|
67
|
-
vibecash customer list # List customers
|
|
68
|
-
vibecash customer get <id> # Get customer
|
|
69
|
-
vibecash customer portal <id> # Generate customer portal URL
|
|
70
|
-
|
|
71
|
-
vibecash create <amount> # Quick: create checkout in one command
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## Output Format
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
vibecash --json <command> # JSON output (default, best for scripts/AI)
|
|
78
|
-
vibecash --human <command> # Human-readable tables
|
|
20
|
+
# 3. Send URL to customer, they pay, done!
|
|
79
21
|
```
|
|
80
22
|
|
|
81
23
|
---
|
|
82
24
|
|
|
83
|
-
##
|
|
25
|
+
## Quick Reference
|
|
84
26
|
|
|
85
|
-
Payment Links
|
|
86
|
-
- Static websites
|
|
87
|
-
- AI agents
|
|
88
|
-
- Sharing on social media
|
|
89
|
-
- QR codes
|
|
27
|
+
### Payment Links (Recommended)
|
|
90
28
|
|
|
91
29
|
```bash
|
|
92
|
-
# Create payment
|
|
93
|
-
vibecash link create
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
30
|
+
vibecash link create <amount> # Create reusable payment URL
|
|
31
|
+
vibecash link create 19.99 --name "Pro" --currency USD
|
|
32
|
+
vibecash link create 9.99 --success-url "https://myapp.com/thanks#session_id={CHECKOUT_SESSION_ID}"
|
|
33
|
+
vibecash link list # List all links
|
|
34
|
+
vibecash link get <id> # Get link details
|
|
35
|
+
vibecash link deactivate <id> # Disable a link
|
|
98
36
|
```
|
|
99
37
|
|
|
100
|
-
|
|
101
|
-
```json
|
|
102
|
-
{
|
|
103
|
-
"id": "plink_xxx",
|
|
104
|
-
"url": "https://pay.vibecash.dev/p/plink_xxx",
|
|
105
|
-
"amount": 999,
|
|
106
|
-
"currency": "USD",
|
|
107
|
-
"active": true
|
|
108
|
-
}
|
|
109
|
-
```
|
|
38
|
+
### Verify Payment
|
|
110
39
|
|
|
111
|
-
### Verify Payment in Your App
|
|
112
|
-
|
|
113
|
-
After payment, user is redirected to your success URL with session ID in the hash:
|
|
114
|
-
```
|
|
115
|
-
https://myapp.com/thanks#session_id=cs_xxx
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
Verify the payment:
|
|
119
|
-
```javascript
|
|
120
|
-
// Browser JavaScript
|
|
121
|
-
const sessionId = new URLSearchParams(location.hash.slice(1)).get('session_id');
|
|
122
|
-
const res = await fetch(`https://api.vibecash.dev/v1/checkout/sessions/${sessionId}`);
|
|
123
|
-
const { session } = await res.json();
|
|
124
|
-
if (session.status === 'complete') {
|
|
125
|
-
// Payment successful - unlock content
|
|
126
|
-
localStorage.setItem('unlocked', 'true');
|
|
127
|
-
}
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
Or via CLI:
|
|
131
40
|
```bash
|
|
132
|
-
vibecash checkout get
|
|
133
|
-
#
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
---
|
|
137
|
-
|
|
138
|
-
## Configuration
|
|
139
|
-
|
|
140
|
-
The CLI reads configuration from two sources (environment variables take precedence):
|
|
141
|
-
|
|
142
|
-
| Environment Variable | Description | Default |
|
|
143
|
-
|---|---|---|
|
|
144
|
-
| `AIPAY_SECRET` | Wallet API secret (`sk_live_...`) | Read from `~/.vibecash/config.json` |
|
|
145
|
-
| `AIPAY_API_URL` | API server URL | `https://api.vibecash.dev` |
|
|
146
|
-
| `AIPAY_OUTPUT` | Output format (`json` or `human`) | `json` |
|
|
147
|
-
|
|
148
|
-
Config file location: `~/.vibecash/config.json`
|
|
149
|
-
|
|
150
|
-
```json
|
|
151
|
-
{
|
|
152
|
-
"secret": "sk_live_xxx...",
|
|
153
|
-
"apiUrl": "https://api.vibecash.dev"
|
|
154
|
-
}
|
|
41
|
+
vibecash checkout get <session_id>
|
|
42
|
+
# Response: { "session": { "status": "complete", ... } }
|
|
155
43
|
```
|
|
156
44
|
|
|
157
|
-
###
|
|
158
|
-
|
|
159
|
-
| Flag | Description |
|
|
160
|
-
|---|---|
|
|
161
|
-
| `--human` | Human-readable output (tables and formatted text) |
|
|
162
|
-
| `--json` | JSON output (default) |
|
|
163
|
-
| `--version` | Show version |
|
|
164
|
-
| `--help` | Show help for any command |
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## Common Workflows
|
|
169
|
-
|
|
170
|
-
### Collect a one-time payment
|
|
171
|
-
|
|
172
|
-
```bash
|
|
173
|
-
vibecash create 5.00 -d "Service fee"
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Create a monthly subscription
|
|
45
|
+
### Wallet
|
|
177
46
|
|
|
178
47
|
```bash
|
|
179
|
-
vibecash create
|
|
48
|
+
vibecash wallet create # Create new wallet, get API key
|
|
49
|
+
vibecash wallet info # Show balance
|
|
50
|
+
vibecash wallet claim # Get dashboard access link
|
|
180
51
|
```
|
|
181
52
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
### Create a yearly subscription with trial
|
|
53
|
+
### One-Time Checkout
|
|
185
54
|
|
|
186
55
|
```bash
|
|
187
|
-
vibecash create
|
|
56
|
+
vibecash create 25.00 -d "Consulting" # Quick one-time payment
|
|
57
|
+
vibecash checkout create --amount 50 --success-url URL # With redirect
|
|
188
58
|
```
|
|
189
59
|
|
|
190
|
-
###
|
|
60
|
+
### Subscriptions
|
|
191
61
|
|
|
192
62
|
```bash
|
|
193
|
-
|
|
194
|
-
vibecash
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
vibecash price create prod_xxx --amount 29.99 --type recurring --interval month
|
|
198
|
-
|
|
199
|
-
# Step 3: Create a checkout session with the price
|
|
200
|
-
vibecash checkout create --price price_xxx --success-url https://example.com/thanks
|
|
63
|
+
vibecash create 9.99 --monthly -d "Pro Plan" # Monthly subscription
|
|
64
|
+
vibecash create 99 --yearly -d "Annual" --trial-days 14 # Yearly with trial
|
|
65
|
+
vibecash subscription list # List all
|
|
66
|
+
vibecash subscription cancel <id> # Cancel
|
|
201
67
|
```
|
|
202
68
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
## Command Reference
|
|
206
|
-
|
|
207
|
-
### `vibecash create` -- Quick Checkout
|
|
208
|
-
|
|
209
|
-
The fastest way to generate a payment link. For one-time payments, it creates a checkout session directly. For subscriptions, it automatically creates the product, price, and checkout session in one step.
|
|
69
|
+
### Products & Prices
|
|
210
70
|
|
|
211
71
|
```bash
|
|
212
|
-
vibecash create
|
|
72
|
+
vibecash product create "Plan Name" # Create product
|
|
73
|
+
vibecash price create <prod_id> 29.99 --type recurring --interval month
|
|
213
74
|
```
|
|
214
75
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
| Argument | Description |
|
|
218
|
-
|---|---|
|
|
219
|
-
| `amount` | Amount to charge in dollars (e.g. `9.99`, `1.00`, `250`) |
|
|
220
|
-
|
|
221
|
-
**Options:**
|
|
222
|
-
|
|
223
|
-
| Option | Description |
|
|
224
|
-
|---|---|
|
|
225
|
-
| `-d, --description <desc>` | Payment description (shown to customer) |
|
|
226
|
-
| `--monthly` | Create a monthly subscription instead of one-time payment |
|
|
227
|
-
| `--yearly` | Create a yearly subscription |
|
|
228
|
-
| `--weekly` | Create a weekly subscription |
|
|
229
|
-
| `--trial-days <days>` | Trial period in days (subscriptions only) |
|
|
230
|
-
| `--success-url <url>` | URL to redirect after successful payment |
|
|
231
|
-
| `--cancel-url <url>` | URL to redirect if customer cancels |
|
|
232
|
-
| `--email <email>` | Pre-fill customer email |
|
|
233
|
-
|
|
234
|
-
**Examples:**
|
|
76
|
+
### Customers
|
|
235
77
|
|
|
236
78
|
```bash
|
|
237
|
-
|
|
238
|
-
vibecash
|
|
239
|
-
|
|
240
|
-
# $25 with description
|
|
241
|
-
vibecash create 25.00 -d "Consulting hour"
|
|
242
|
-
|
|
243
|
-
# Monthly subscription
|
|
244
|
-
vibecash create 9.99 --monthly -d "Basic Plan"
|
|
245
|
-
|
|
246
|
-
# Yearly with 7-day trial and customer email
|
|
247
|
-
vibecash create 99.99 --yearly -d "Pro Plan" --trial-days 7 --email user@example.com
|
|
248
|
-
|
|
249
|
-
# One-time with redirect URLs
|
|
250
|
-
vibecash create 50.00 -d "Workshop" --success-url https://mysite.com/thanks --cancel-url https://mysite.com/cancel
|
|
79
|
+
vibecash customer create --email user@example.com
|
|
80
|
+
vibecash customer list
|
|
81
|
+
vibecash customer portal <id> # Self-service portal URL
|
|
251
82
|
```
|
|
252
83
|
|
|
253
84
|
---
|
|
254
85
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
#### `vibecash wallet create`
|
|
258
|
-
|
|
259
|
-
Create a new wallet. The API secret is automatically saved to `~/.vibecash/config.json`.
|
|
260
|
-
|
|
261
|
-
```bash
|
|
262
|
-
vibecash wallet create
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
No options. Returns the wallet ID and secret.
|
|
266
|
-
|
|
267
|
-
#### `vibecash wallet status`
|
|
268
|
-
|
|
269
|
-
Show the current wallet's balance and status.
|
|
270
|
-
|
|
271
|
-
```bash
|
|
272
|
-
vibecash wallet status
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
Returns: wallet ID, status, balance, pending balance, currency, creation date.
|
|
276
|
-
|
|
277
|
-
#### `vibecash wallet claim`
|
|
278
|
-
|
|
279
|
-
Generate a claim link to transfer wallet ownership. The link expires in 7 days.
|
|
86
|
+
## Environment Variables
|
|
280
87
|
|
|
281
88
|
```bash
|
|
282
|
-
|
|
89
|
+
VIBECASH_SECRET=sk_live_xxx # API key (or use ~/.vibecash/config.json)
|
|
90
|
+
VIBECASH_API_URL=https://api.vibecash.dev # Default API endpoint
|
|
283
91
|
```
|
|
284
92
|
|
|
285
93
|
---
|
|
286
94
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
Products represent what you are selling. Each product can have multiple prices.
|
|
290
|
-
|
|
291
|
-
#### `vibecash product create`
|
|
292
|
-
|
|
293
|
-
```bash
|
|
294
|
-
vibecash product create <name> [options]
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
| Argument | Description |
|
|
298
|
-
|---|---|
|
|
299
|
-
| `name` | Product name (required) |
|
|
300
|
-
|
|
301
|
-
| Option | Description |
|
|
302
|
-
|---|---|
|
|
303
|
-
| `-d, --description <desc>` | Product description |
|
|
304
|
-
|
|
305
|
-
```bash
|
|
306
|
-
vibecash product create "Starter Plan" -d "Basic features for individuals"
|
|
307
|
-
```
|
|
308
|
-
|
|
309
|
-
#### `vibecash product list`
|
|
310
|
-
|
|
311
|
-
List all products in your wallet.
|
|
312
|
-
|
|
313
|
-
```bash
|
|
314
|
-
vibecash product list
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
#### `vibecash product get`
|
|
318
|
-
|
|
319
|
-
Get details of a specific product.
|
|
320
|
-
|
|
321
|
-
```bash
|
|
322
|
-
vibecash product get <id>
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
| Argument | Description |
|
|
326
|
-
|---|---|
|
|
327
|
-
| `id` | Product ID (`prod_xxx`) |
|
|
95
|
+
## Output Format
|
|
328
96
|
|
|
329
97
|
```bash
|
|
330
|
-
vibecash
|
|
98
|
+
vibecash --json <command> # JSON (default, best for AI/scripts)
|
|
99
|
+
vibecash --human <command> # Human-readable tables
|
|
331
100
|
```
|
|
332
101
|
|
|
333
102
|
---
|
|
334
103
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
Prices define how much to charge for a product. A product can have multiple prices (e.g. monthly and yearly).
|
|
338
|
-
|
|
339
|
-
#### `vibecash price create`
|
|
104
|
+
## Integration Example: Static Website Paywall
|
|
340
105
|
|
|
341
|
-
|
|
342
|
-
vibecash price create <product_id> [options]
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
| Argument | Description |
|
|
346
|
-
|---|---|
|
|
347
|
-
| `product_id` | Product ID to attach the price to (`prod_xxx`) |
|
|
348
|
-
|
|
349
|
-
| Option | Required | Description |
|
|
350
|
-
|---|---|---|
|
|
351
|
-
| `-a, --amount <amount>` | Yes | Price in dollars (e.g. `9.99`) |
|
|
352
|
-
| `-t, --type <type>` | Yes | `one_time` or `recurring` |
|
|
353
|
-
| `-c, --currency <code>` | No | Currency code (default: `USD`). Supports: USD, EUR, GBP, CAD, AUD, SGD, CNY, JPY, HKD |
|
|
354
|
-
| `-i, --interval <interval>` | When recurring | Billing interval: `day`, `week`, `month`, or `year` |
|
|
355
|
-
| `--interval-count <n>` | No | Number of intervals between billings (default: `1`). E.g. `--interval month --interval-count 3` = quarterly |
|
|
356
|
-
| `--trial-days <days>` | No | Free trial period in days |
|
|
106
|
+
### Step 1: Create Payment Link with Redirect
|
|
357
107
|
|
|
358
108
|
```bash
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
# Monthly recurring
|
|
363
|
-
vibecash price create prod_xxx --amount 9.99 --type recurring --interval month
|
|
364
|
-
|
|
365
|
-
# Yearly recurring in SGD
|
|
366
|
-
vibecash price create prod_xxx --amount 108.00 --type recurring --interval year --currency SGD
|
|
367
|
-
|
|
368
|
-
# Quarterly (every 3 months) with 14-day trial
|
|
369
|
-
vibecash price create prod_xxx --amount 49.99 --type recurring --interval month --interval-count 3 --trial-days 14
|
|
109
|
+
vibecash link create 4.99 \
|
|
110
|
+
--name "Premium Access" \
|
|
111
|
+
--success-url "https://yoursite.com/unlock#session_id={CHECKOUT_SESSION_ID}"
|
|
370
112
|
```
|
|
371
113
|
|
|
372
|
-
|
|
114
|
+
### Step 2: Verify Payment in JavaScript
|
|
373
115
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
vibecash price list [options]
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
| Option | Description |
|
|
381
|
-
|---|---|
|
|
382
|
-
| `-p, --product <id>` | Filter prices by product ID |
|
|
116
|
+
```javascript
|
|
117
|
+
// After payment, user lands on: https://yoursite.com/unlock#session_id=cs_xxx
|
|
118
|
+
const sessionId = new URLSearchParams(location.hash.slice(1)).get('session_id');
|
|
383
119
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
120
|
+
if (sessionId) {
|
|
121
|
+
const res = await fetch(`https://api.vibecash.dev/v1/checkout/sessions/${sessionId}`);
|
|
122
|
+
const { session } = await res.json();
|
|
387
123
|
|
|
388
|
-
|
|
389
|
-
|
|
124
|
+
if (session.status === 'complete') {
|
|
125
|
+
localStorage.setItem('paid', 'true');
|
|
126
|
+
// Unlock content
|
|
127
|
+
}
|
|
128
|
+
}
|
|
390
129
|
```
|
|
391
130
|
|
|
392
131
|
---
|
|
393
132
|
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
Checkout sessions represent a single payment or subscription attempt. Each session has a unique URL where customers complete their payment. Sessions expire after 24 hours.
|
|
397
|
-
|
|
398
|
-
#### `vibecash checkout create`
|
|
399
|
-
|
|
400
|
-
```bash
|
|
401
|
-
vibecash checkout create [options]
|
|
402
|
-
```
|
|
403
|
-
|
|
404
|
-
You must provide either `--price` or `--amount`:
|
|
405
|
-
|
|
406
|
-
| Option | Description |
|
|
407
|
-
|---|---|
|
|
408
|
-
| `-p, --price <id>` | Use an existing price ID (`price_xxx`) |
|
|
409
|
-
| `-a, --amount <amount>` | Create an inline one-time charge (in dollars) |
|
|
410
|
-
| `-d, --description <desc>` | Description for inline charge (use with `--amount`) |
|
|
411
|
-
| `-m, --mode <mode>` | `payment` (default) or `subscription` |
|
|
412
|
-
| `--success-url <url>` | Redirect URL after successful payment |
|
|
413
|
-
| `--cancel-url <url>` | Redirect URL if customer cancels |
|
|
414
|
-
| `--email <email>` | Pre-fill customer email |
|
|
415
|
-
| `--trial-days <days>` | Trial period (subscriptions only) |
|
|
133
|
+
## API Endpoints
|
|
416
134
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
135
|
+
| Action | CLI Command | API Endpoint |
|
|
136
|
+
|--------|-------------|--------------|
|
|
137
|
+
| Create wallet | `wallet create` | `POST /v1/wallets` |
|
|
138
|
+
| Get wallet | `wallet info` | `GET /v1/wallets/current` |
|
|
139
|
+
| Create payment link | `link create` | `POST /v1/payment_links` |
|
|
140
|
+
| List payment links | `link list` | `GET /v1/payment_links` |
|
|
141
|
+
| Get checkout session | `checkout get` | `GET /v1/checkout/sessions/:id` |
|
|
142
|
+
| Create checkout | `checkout create` | `POST /v1/checkout/sessions` |
|
|
143
|
+
| List products | `product list` | `GET /v1/products` |
|
|
144
|
+
| List subscriptions | `subscription list` | `GET /v1/subscriptions` |
|
|
427
145
|
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
Check the status of a checkout session. Can optionally poll until the session completes.
|
|
431
|
-
|
|
432
|
-
```bash
|
|
433
|
-
vibecash checkout status <id> [options]
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
| Argument | Description |
|
|
437
|
-
|---|---|
|
|
438
|
-
| `id` | Checkout session ID (`cs_xxx`) |
|
|
439
|
-
|
|
440
|
-
| Option | Description |
|
|
441
|
-
|---|---|
|
|
442
|
-
| `-w, --wait` | Poll every 2 seconds until session completes or expires |
|
|
443
|
-
| `--timeout <ms>` | Max wait time in milliseconds (default: `300000` = 5 minutes) |
|
|
444
|
-
|
|
445
|
-
```bash
|
|
446
|
-
# Check once
|
|
447
|
-
vibecash checkout status cs_xxx
|
|
448
|
-
|
|
449
|
-
# Wait for completion (useful in scripts)
|
|
450
|
-
vibecash checkout status cs_xxx --wait --timeout 60000
|
|
451
|
-
```
|
|
146
|
+
API Base URL: `https://api.vibecash.dev`
|
|
452
147
|
|
|
453
148
|
---
|
|
454
149
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
#### `vibecash customer create`
|
|
458
|
-
|
|
459
|
-
```bash
|
|
460
|
-
vibecash customer create [options]
|
|
461
|
-
```
|
|
462
|
-
|
|
463
|
-
| Option | Required | Description |
|
|
464
|
-
|---|---|---|
|
|
465
|
-
| `-e, --email <email>` | Yes | Customer email address |
|
|
466
|
-
| `-n, --name <name>` | No | Customer display name |
|
|
467
|
-
|
|
468
|
-
```bash
|
|
469
|
-
vibecash customer create --email alice@example.com --name "Alice"
|
|
470
|
-
```
|
|
471
|
-
|
|
472
|
-
#### `vibecash customer list`
|
|
473
|
-
|
|
474
|
-
List all customers.
|
|
475
|
-
|
|
476
|
-
```bash
|
|
477
|
-
vibecash customer list
|
|
478
|
-
```
|
|
479
|
-
|
|
480
|
-
#### `vibecash customer get`
|
|
481
|
-
|
|
482
|
-
Get details of a specific customer.
|
|
483
|
-
|
|
484
|
-
```bash
|
|
485
|
-
vibecash customer get <id>
|
|
486
|
-
```
|
|
487
|
-
|
|
488
|
-
| Argument | Description |
|
|
489
|
-
|---|---|
|
|
490
|
-
| `id` | Customer ID (`cus_xxx`) |
|
|
491
|
-
|
|
492
|
-
#### `vibecash customer portal`
|
|
493
|
-
|
|
494
|
-
Create a self-service portal session for a customer to manage their subscriptions and billing.
|
|
495
|
-
|
|
496
|
-
```bash
|
|
497
|
-
vibecash customer portal <id> [options]
|
|
498
|
-
```
|
|
150
|
+
## Supported Payment Methods
|
|
499
151
|
|
|
500
|
-
|
|
|
501
|
-
|
|
502
|
-
|
|
|
152
|
+
| Method | One-time | Subscription |
|
|
153
|
+
|--------|----------|--------------|
|
|
154
|
+
| Credit/Debit Card | ✅ | ✅ |
|
|
155
|
+
| WeChat Pay | ✅ | ❌ |
|
|
156
|
+
| Alipay | ✅ | ❌ |
|
|
157
|
+
| PayNow (SGD only) | ✅ | ❌ |
|
|
503
158
|
|
|
504
|
-
|
|
505
|
-
|---|---|
|
|
506
|
-
| `-r, --return-url <url>` | URL to return to after the customer finishes |
|
|
159
|
+
## Supported Currencies
|
|
507
160
|
|
|
508
|
-
|
|
509
|
-
vibecash customer portal cus_xxx --return-url https://mysite.com/account
|
|
510
|
-
```
|
|
161
|
+
USD, EUR, GBP, CAD, AUD, SGD, CNY, JPY, HKD
|
|
511
162
|
|
|
512
163
|
---
|
|
513
164
|
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
#### `vibecash subscription list`
|
|
517
|
-
|
|
518
|
-
```bash
|
|
519
|
-
vibecash subscription list [options]
|
|
520
|
-
```
|
|
521
|
-
|
|
522
|
-
| Option | Description |
|
|
523
|
-
|---|---|
|
|
524
|
-
| `-c, --customer <id>` | Filter by customer ID |
|
|
525
|
-
| `-s, --status <status>` | Filter by status (`active`, `canceled`, `past_due`, `trialing`) |
|
|
526
|
-
|
|
527
|
-
```bash
|
|
528
|
-
# All subscriptions
|
|
529
|
-
vibecash subscription list
|
|
530
|
-
|
|
531
|
-
# Active only
|
|
532
|
-
vibecash subscription list --status active
|
|
533
|
-
|
|
534
|
-
# For a specific customer
|
|
535
|
-
vibecash subscription list --customer cus_xxx
|
|
536
|
-
```
|
|
537
|
-
|
|
538
|
-
#### `vibecash subscription get`
|
|
539
|
-
|
|
540
|
-
```bash
|
|
541
|
-
vibecash subscription get <id>
|
|
542
|
-
```
|
|
543
|
-
|
|
544
|
-
| Argument | Description |
|
|
545
|
-
|---|---|
|
|
546
|
-
| `id` | Subscription ID (`sub_xxx`) |
|
|
547
|
-
|
|
548
|
-
#### `vibecash subscription cancel`
|
|
549
|
-
|
|
550
|
-
Cancel a subscription. By default, cancels at the end of the current billing period.
|
|
551
|
-
|
|
552
|
-
```bash
|
|
553
|
-
vibecash subscription cancel <id> [options]
|
|
554
|
-
```
|
|
555
|
-
|
|
556
|
-
| Argument | Description |
|
|
557
|
-
|---|---|
|
|
558
|
-
| `id` | Subscription ID (`sub_xxx`) |
|
|
559
|
-
|
|
560
|
-
| Option | Description |
|
|
561
|
-
|---|---|
|
|
562
|
-
| `--immediately` | Cancel right now instead of at period end |
|
|
563
|
-
|
|
564
|
-
```bash
|
|
565
|
-
# Cancel at period end (customer keeps access until then)
|
|
566
|
-
vibecash subscription cancel sub_xxx
|
|
567
|
-
|
|
568
|
-
# Cancel immediately
|
|
569
|
-
vibecash subscription cancel sub_xxx --immediately
|
|
570
|
-
```
|
|
571
|
-
|
|
572
|
-
#### `vibecash subscription resume`
|
|
165
|
+
## Common Patterns
|
|
573
166
|
|
|
574
|
-
|
|
167
|
+
### Create Subscription Product
|
|
575
168
|
|
|
576
169
|
```bash
|
|
577
|
-
vibecash
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
| Argument | Description |
|
|
581
|
-
|---|---|
|
|
582
|
-
| `id` | Subscription ID (`sub_xxx`) |
|
|
583
|
-
|
|
584
|
-
---
|
|
585
|
-
|
|
586
|
-
## Output Formats
|
|
170
|
+
vibecash product create "Pro Plan"
|
|
171
|
+
# Output: { "id": "prod_xxx", ... }
|
|
587
172
|
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
```bash
|
|
591
|
-
# JSON output (default, good for scripts and piping)
|
|
592
|
-
vibecash wallet status
|
|
173
|
+
vibecash price create prod_xxx 19.99 --type recurring --interval month
|
|
174
|
+
# Output: { "id": "price_xxx", ... }
|
|
593
175
|
|
|
594
|
-
|
|
595
|
-
vibecash
|
|
176
|
+
vibecash checkout create --price price_xxx --mode subscription
|
|
177
|
+
# Output: { "url": "https://pay.vibecash.dev/checkout/cs_xxx", ... }
|
|
596
178
|
```
|
|
597
179
|
|
|
598
|
-
|
|
180
|
+
### Poll for Payment Completion
|
|
599
181
|
|
|
600
182
|
```bash
|
|
601
|
-
|
|
183
|
+
vibecash checkout get cs_xxx --wait --timeout 60000
|
|
184
|
+
# Waits up to 60 seconds for payment to complete
|
|
602
185
|
```
|
|
603
186
|
|
|
604
187
|
---
|
|
605
188
|
|
|
606
|
-
## Supported Payment Methods
|
|
607
|
-
|
|
608
|
-
| Method | One-time Payment | Subscription |
|
|
609
|
-
|--------|-----------------|--------------|
|
|
610
|
-
| Credit/Debit Card | ✅ | ✅ |
|
|
611
|
-
| WeChat Pay | ✅ | ❌ |
|
|
612
|
-
| Alipay | ✅ | ❌ |
|
|
613
|
-
| PayNow (Singapore) | ✅ | ❌ |
|
|
614
|
-
|
|
615
|
-
> Subscriptions require card payment because only cards support automatic recurring charges. QR code payment methods (WeChat, Alipay, PayNow) are for one-time payments only.
|
|
616
|
-
|
|
617
|
-
---
|
|
618
|
-
|
|
619
|
-
## Supported Currencies
|
|
620
|
-
|
|
621
|
-
USD, EUR, GBP, CAD, AUD, SGD, CNY, JPY, HKD
|
|
622
|
-
|
|
623
|
-
> PayNow is only available for SGD transactions.
|
|
624
|
-
|
|
625
|
-
---
|
|
626
|
-
|
|
627
|
-
## Amount Format
|
|
628
|
-
|
|
629
|
-
All amounts are entered in **dollars** (or the main unit of the currency). The CLI converts them to cents internally.
|
|
630
|
-
|
|
631
|
-
| You type | Stored as | Meaning |
|
|
632
|
-
|---|---|---|
|
|
633
|
-
| `1` | 100 | $1.00 |
|
|
634
|
-
| `9.99` | 999 | $9.99 |
|
|
635
|
-
| `0.50` | 50 | $0.50 |
|
|
636
|
-
| `250` | 25000 | $250.00 |
|
|
637
|
-
|
|
638
|
-
---
|
|
639
|
-
|
|
640
189
|
## License
|
|
641
190
|
|
|
642
191
|
MIT
|
package/dist/index.js
CHANGED
|
@@ -990,7 +990,7 @@ function createLinkCommand() {
|
|
|
990
990
|
|
|
991
991
|
// src/index.ts
|
|
992
992
|
var program = new Command9();
|
|
993
|
-
program.name("vibecash").description("
|
|
993
|
+
program.name("vibecash").description("VibeCash - Payment infrastructure for AI agents").version("0.1.2");
|
|
994
994
|
program.addCommand(createWalletCommand());
|
|
995
995
|
program.addCommand(createProductCommand());
|
|
996
996
|
program.addCommand(createPriceCommand());
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibecash",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "VibeCash - Payment infrastructure for AI agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"vibecash": "./dist/index.js"
|