Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
We use Stripe for payment processing.
We have test-mode keys for use in staging and live-mode keys for use in production.
There is "product" state in Stripe to facilitate the payment workflow.
This was created with ``admin/create-product.sh``
(once for test-mode and once for live-mode).
The test-mode product is:
```js
{
"id": "prod_MhKpVSNW6zAsOG",
"object": "product",
"active": true,
"attributes": [],
"created": 1666977337,
"default_price": "price_1Lxw9dBHXBAMm9bPgDW93Bwz",
"description": "30 GiB-months of Private.Storage storage × time",
"images": [],
"livemode": false,
"metadata": {},
"name": "30 GiB-months",
"package_dimensions": null,
"shippable": null,
"statement_descriptor": "PRIVATE STORAGE",
"tax_code": null,
"type": "service",
"unit_label": null,
"updated": 1666977337,
"url": "https://private.storage/"
}
```
The live-mode product is:
```js
XXX
```
There is also "webhook" state in Stripe so that PaymentServer receives notification of payment.
This was created with ``admin/create-webhook.sh``
(once for test-mode and once for live-mode).
The test-mode webhook is:
```js
{
"id": "we_1LxwKnBHXBAMm9bPDJXJNcDN",
"object": "webhook_endpoint",
"api_version": null,
"application": null,
"created": 1666978029,
"description": null,
"enabled_events": [
"checkout.session.completed"
],
"livemode": false,
"metadata": {},
"secret": "<REDACTED>"",
"status": "enabled",
"url": "https://payments.privatestorage-staging.com/v1/stripe/webhook"
}
```
The live-mode webhook is:
```js
XXX
```
The webhook secrets are redacted here.
They can be found with the rest of the each grid's private keys.