openreceive 0.4.18 → 0.4.20
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/lib/openreceive/version.rb +1 -1
- data/skills/integrate-openreceive/references/btcpay.md +4 -1
- data/skills/integrate-openreceive/references/django.md +25 -3
- data/skills/integrate-openreceive/references/fastapi.md +26 -3
- data/skills/integrate-openreceive/references/fastify.md +26 -3
- data/skills/integrate-openreceive/references/laravel.md +24 -3
- data/skills/integrate-openreceive/references/next.md +32 -3
- data/skills/integrate-openreceive/references/node.md +30 -3
- data/skills/integrate-openreceive/references/php.md +24 -3
- data/skills/integrate-openreceive/references/rails.md +24 -3
- data/skills/integrate-openreceive/references/woocommerce.md +7 -5
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a4d27a57c2eb4472bb9115faa410c456627175138dfdc0a99bac922b41e2c5e2
|
|
4
|
+
data.tar.gz: 8b9cf0b6349386672e6ddd837b4b22e37ae2b8b60859c81b434db6e61e800449
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f8209f3a34e49f833443c7bbf7da40ea1244c4369e18457d3936994234b98b94be28639f0299427493842eef8e84fa7829dd09ac35bb239b78ea6c37926cb236
|
|
7
|
+
data.tar.gz: a1ad42f0a0ef75f78f986f3104f1aa380ab05c559bf62694c83a08f10933af2eead4436fe64eb3114ef18b4fede8c7af1f51d3a17ffb88d4d47f676bd89d9e06
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.20 - 2026-10-09
|
|
4
|
+
|
|
5
|
+
Release with the complete 0.4.20 package family. The bundled agent skills now
|
|
6
|
+
describe the checkout stylesheet's rules as low specificity rather than zero:
|
|
7
|
+
inside the checkout they carry one attribute, so a host page's Tailwind
|
|
8
|
+
utilities cannot rearrange it. No Ruby runtime changes from 0.4.19.
|
|
9
|
+
|
|
10
|
+
## 0.4.19 - 2026-10-07
|
|
11
|
+
|
|
12
|
+
Release with the complete 0.4.19 package family. The bundled agent skills link
|
|
13
|
+
the new WordPress hosting guide, and their Next.js and Express directions accept
|
|
14
|
+
wallet codes already set as a hosting platform's environment variables. No Ruby
|
|
15
|
+
runtime changes from 0.4.18.
|
|
16
|
+
|
|
3
17
|
## 0.4.18 - 2026-10-06
|
|
4
18
|
|
|
5
19
|
Release with the complete 0.4.18 package family. The bundled agent skills carry
|
data/lib/openreceive/version.rb
CHANGED
|
@@ -17,7 +17,7 @@ curl -fsSL https://openreceive.org/agent-directions/btcpay/full.md
|
|
|
17
17
|
- Never tick the spend-capable override to make a save succeed.
|
|
18
18
|
- Do not suggest rotating or revoking a code because it was pasted here.
|
|
19
19
|
|
|
20
|
-
These directions describe OpenReceive 0.4.
|
|
20
|
+
These directions describe OpenReceive 0.4.20.
|
|
21
21
|
|
|
22
22
|
Connect a BTCPay Server store to a receive-only NWC wallet with the OpenReceive
|
|
23
23
|
plugin, and optionally let payers pay BTCPay invoices with USDT, USDC, ETH or
|
|
@@ -125,6 +125,9 @@ needing attention. On a regtest machine, `packages/dotnet/docker/up.sh` then
|
|
|
125
125
|
`e2e.sh` in the OpenReceive repository proves the whole path end to end, and
|
|
126
126
|
that is the only situation where cloning the repository is the right move.
|
|
127
127
|
|
|
128
|
+
Setup ends when the health check is clean. Say "Setup is finished" in one
|
|
129
|
+
message. Do not offer more work or end the message on a question.
|
|
130
|
+
|
|
128
131
|
## More documentation
|
|
129
132
|
|
|
130
133
|
Fetch one when the moment comes. Each is raw markdown, so a plain GET is
|
|
@@ -3,7 +3,7 @@ This is the full file; follow it from Step 0.
|
|
|
3
3
|
# OpenReceive agent directions (Django)
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
|
-
# READ THIS FIRST: this file is
|
|
6
|
+
# READ THIS FIRST: this file is 43 KB and a summary drops required steps. Download it whole:
|
|
7
7
|
curl -fsSL https://openreceive.org/agent-directions/django/full.md
|
|
8
8
|
# Skip the download only if you already have all of it: pasted, read from disk or fetched raw.
|
|
9
9
|
```
|
|
@@ -17,7 +17,7 @@ curl -fsSL https://openreceive.org/agent-directions/django/full.md
|
|
|
17
17
|
- Do not suggest rotating or revoking a code because it was pasted here.
|
|
18
18
|
- Start the quickstart only once the NWC code is saved, and the LSC code is saved or the user said "Bitcoin only".
|
|
19
19
|
|
|
20
|
-
These directions describe OpenReceive 0.4.
|
|
20
|
+
These directions describe OpenReceive 0.4.20.
|
|
21
21
|
|
|
22
22
|
Add OpenReceive to a Django project — the app you are already working in. You
|
|
23
23
|
do not need a copy of the OpenReceive source: the Python package is on PyPI
|
|
@@ -152,6 +152,24 @@ in-place `pip install -U` is undone by the next `compose up`.
|
|
|
152
152
|
|
|
153
153
|
Only then start the quickstart.
|
|
154
154
|
|
|
155
|
+
## After the quickstart — hand over, then stop
|
|
156
|
+
|
|
157
|
+
The quickstart is done when `python manage.py openreceive_doctor` is clean and
|
|
158
|
+
this app serves the checkout page for one of its orders. Doctor names any
|
|
159
|
+
failed check and exits nonzero; fix it before going on.
|
|
160
|
+
|
|
161
|
+
Give the user that checkout link. The browser check in the quickstart's
|
|
162
|
+
"Render the checkout" section (payment-method icons, wallet logos, a pay
|
|
163
|
+
tutorial) is theirs: tell them what to look at, and do not run it yourself.
|
|
164
|
+
|
|
165
|
+
You cannot pay the invoice: the code is receive-only. Do not pay, settle or
|
|
166
|
+
mark an order paid, and do not look for a way to (a wallet control port, a
|
|
167
|
+
test endpoint, another wallet). If the user wants a real settlement test, they
|
|
168
|
+
pay on that link from their own wallet, and `on_paid` marks the order paid.
|
|
169
|
+
|
|
170
|
+
Setup ends here. Say "Setup is finished" in one message, with the link and
|
|
171
|
+
what to check. Do not offer more work or end the message on a question.
|
|
172
|
+
|
|
155
173
|
## Non-negotiables
|
|
156
174
|
|
|
157
175
|
The quickstart below has the code. These are the rules it cannot state for
|
|
@@ -164,6 +182,9 @@ itself, and they hold for every integration.
|
|
|
164
182
|
logs, or assets.
|
|
165
183
|
- Do not suggest rotating, revoking or replacing a code because it was pasted
|
|
166
184
|
into this chat; that is the supported path.
|
|
185
|
+
- Work only in this application. Never read or run anything from another
|
|
186
|
+
project on this machine (its `node_modules`, tools or source), for any
|
|
187
|
+
reason. A browser and Playwright are not part of setup.
|
|
167
188
|
- The host owns the price. `amount_for` reads it from your own data;
|
|
168
189
|
reject payer-supplied amounts.
|
|
169
190
|
- `authorize` runs on every request, and the `resource` it receives is a
|
|
@@ -331,6 +352,7 @@ enough; drop the `.md` for the same page a person would read.
|
|
|
331
352
|
- https://openreceive.org/guides/authorization.md — before you write `authorize`
|
|
332
353
|
- https://openreceive.org/guides/environment-variables.md — every variable, and what is deliberately not one
|
|
333
354
|
- https://openreceive.org/guides/storage.md — the engine tables and the attempt state machine
|
|
355
|
+
- https://openreceive.org/guides/supabase.md — when the database is Supabase: its pooler, its certificate, and locking the tables away from its Data API
|
|
334
356
|
- https://openreceive.org/guides/frontend-checkout.md — the drop-in's props, attributes and slots
|
|
335
357
|
- https://openreceive.org/guides/checkout-ux.md — read before building any custom UI
|
|
336
358
|
- https://openreceive.org/guides/headless-checkout.md — the controller, the display models, refunds
|
|
@@ -669,7 +691,7 @@ manage.py openreceive_doctor # the same, for humans; neve
|
|
|
669
691
|
Serve the compiled `styles.css` without Tailwind processing. Either import it
|
|
670
692
|
from JavaScript (with a CSS-capable bundler) or use a plain
|
|
671
693
|
`<link rel="stylesheet">`. Do not `@import` it into your Tailwind entry. Its
|
|
672
|
-
rules have
|
|
694
|
+
rules have low specificity, so your own styles can override checkout styles.
|
|
673
695
|
Scoping does not prevent that.
|
|
674
696
|
|
|
675
697
|
The app serves JSON checkout routes only. Your template does the rendering. Any
|
|
@@ -3,7 +3,7 @@ This is the full file; follow it from Step 0.
|
|
|
3
3
|
# OpenReceive agent directions (FastAPI)
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
|
-
# READ THIS FIRST: this file is
|
|
6
|
+
# READ THIS FIRST: this file is 37 KB and a summary drops required steps. Download it whole:
|
|
7
7
|
curl -fsSL https://openreceive.org/agent-directions/fastapi/full.md
|
|
8
8
|
# Skip the download only if you already have all of it: pasted, read from disk or fetched raw.
|
|
9
9
|
```
|
|
@@ -17,7 +17,7 @@ curl -fsSL https://openreceive.org/agent-directions/fastapi/full.md
|
|
|
17
17
|
- Do not suggest rotating or revoking a code because it was pasted here.
|
|
18
18
|
- Start the quickstart only once the NWC code is saved, and the LSC code is saved or the user said "Bitcoin only".
|
|
19
19
|
|
|
20
|
-
These directions describe OpenReceive 0.4.
|
|
20
|
+
These directions describe OpenReceive 0.4.20.
|
|
21
21
|
|
|
22
22
|
Add OpenReceive to a FastAPI application — the app you are already working in.
|
|
23
23
|
You do not need a copy of the OpenReceive source: the engine is on PyPI
|
|
@@ -145,6 +145,25 @@ saying why. Upgrade first.
|
|
|
145
145
|
|
|
146
146
|
Only then start the quickstart.
|
|
147
147
|
|
|
148
|
+
## After the quickstart — hand over, then stop
|
|
149
|
+
|
|
150
|
+
The quickstart is done when
|
|
151
|
+
`openreceive doctor --app <module>:app --url <app url>` is clean and this app
|
|
152
|
+
serves the checkout page for one of its orders. Doctor names any failed check
|
|
153
|
+
and exits nonzero; fix it before going on.
|
|
154
|
+
|
|
155
|
+
Give the user that checkout link. The browser check in the quickstart's step 6
|
|
156
|
+
(payment-method icons, wallet logos, a pay tutorial) is theirs: tell them what
|
|
157
|
+
to look at, and do not run it yourself.
|
|
158
|
+
|
|
159
|
+
You cannot pay the invoice: the code is receive-only. Do not pay, settle or
|
|
160
|
+
mark an order paid, and do not look for a way to (a wallet control port, a
|
|
161
|
+
test endpoint, another wallet). If the user wants a real settlement test, they
|
|
162
|
+
pay on that link from their own wallet, and `on_paid` marks the order paid.
|
|
163
|
+
|
|
164
|
+
Setup ends here. Say "Setup is finished" in one message, with the link and
|
|
165
|
+
what to check. Do not offer more work or end the message on a question.
|
|
166
|
+
|
|
148
167
|
## Non-negotiables
|
|
149
168
|
|
|
150
169
|
The quickstart below has the code. These are the rules it cannot state for
|
|
@@ -157,6 +176,9 @@ itself, and they hold for every integration.
|
|
|
157
176
|
logs, or assets.
|
|
158
177
|
- Do not suggest rotating, revoking or replacing a code because it was pasted
|
|
159
178
|
into this chat; that is the supported path.
|
|
179
|
+
- Work only in this application. Never read or run anything from another
|
|
180
|
+
project on this machine (its `node_modules`, tools or source), for any
|
|
181
|
+
reason. A browser and Playwright are not part of setup.
|
|
160
182
|
- The host owns the price. `amount_for` reads it from your own data; reject
|
|
161
183
|
payer-supplied amounts.
|
|
162
184
|
- `authorize` runs on every request, and the `resource` it receives is a CLAIM
|
|
@@ -329,6 +351,7 @@ enough; drop the `.md` for the same page a person would read.
|
|
|
329
351
|
- https://openreceive.org/guides/authorization.md — before you write `authorize`
|
|
330
352
|
- https://openreceive.org/guides/environment-variables.md — every variable, and what is deliberately not one
|
|
331
353
|
- https://openreceive.org/guides/storage.md — the payment tables and the attempt state machine
|
|
354
|
+
- https://openreceive.org/guides/supabase.md — when the database is Supabase: its pooler, its certificate, and locking the tables away from its Data API
|
|
332
355
|
- https://openreceive.org/guides/frontend-checkout.md — the drop-in's props, attributes and slots
|
|
333
356
|
- https://openreceive.org/guides/checkout-ux.md — read before building any custom UI
|
|
334
357
|
- https://openreceive.org/guides/headless-checkout.md — the controller, the display models, refunds
|
|
@@ -568,7 +591,7 @@ rule applies only inside what OpenReceive renders.
|
|
|
568
591
|
Serve the compiled `styles.css` without Tailwind processing. Import it from
|
|
569
592
|
JavaScript if your bundler handles CSS, or use a plain
|
|
570
593
|
`<link rel="stylesheet">`. Do not `@import` it into your app's Tailwind entry.
|
|
571
|
-
Its rules have
|
|
594
|
+
Its rules have low specificity, so your page's styles can override checkout
|
|
572
595
|
styles. Scoping does not prevent that.
|
|
573
596
|
|
|
574
597
|
`<Checkout>` is complete as rendered. It already shows the `description` from
|
|
@@ -3,7 +3,7 @@ This is the full file; follow it from Step 0.
|
|
|
3
3
|
# OpenReceive agent directions (Fastify)
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
|
-
# READ THIS FIRST: this file is
|
|
6
|
+
# READ THIS FIRST: this file is 36 KB and a summary drops required steps. Download it whole:
|
|
7
7
|
curl -fsSL https://openreceive.org/agent-directions/fastify/full.md
|
|
8
8
|
# Skip the download only if you already have all of it: pasted, read from disk or fetched raw.
|
|
9
9
|
```
|
|
@@ -17,7 +17,7 @@ curl -fsSL https://openreceive.org/agent-directions/fastify/full.md
|
|
|
17
17
|
- Do not suggest rotating or revoking a code because it was pasted here.
|
|
18
18
|
- Start the quickstart only once the NWC code is saved, and the LSC code is saved or the user said "Bitcoin only".
|
|
19
19
|
|
|
20
|
-
These directions describe OpenReceive 0.4.
|
|
20
|
+
These directions describe OpenReceive 0.4.20.
|
|
21
21
|
|
|
22
22
|
Add OpenReceive to a Fastify application — the app you are already working in.
|
|
23
23
|
You do not need a copy of the OpenReceive source: the packages are on npm, and
|
|
@@ -138,6 +138,25 @@ first.
|
|
|
138
138
|
|
|
139
139
|
Only then start the quickstart.
|
|
140
140
|
|
|
141
|
+
## After the quickstart — hand over, then stop
|
|
142
|
+
|
|
143
|
+
The quickstart is done when
|
|
144
|
+
`npx openreceive doctor --db <file-or-url> --url <app url>` is clean and this
|
|
145
|
+
app serves the checkout page for one of its orders. Doctor names any failed
|
|
146
|
+
check and exits nonzero; fix it before going on.
|
|
147
|
+
|
|
148
|
+
Give the user that checkout link. The browser check in the quickstart's step 6
|
|
149
|
+
(payment-method icons, wallet logos, a pay tutorial) is theirs: tell them what
|
|
150
|
+
to look at, and do not run it yourself.
|
|
151
|
+
|
|
152
|
+
You cannot pay the invoice: the code is receive-only. Do not pay, settle or
|
|
153
|
+
mark an order paid, and do not look for a way to (a wallet control port, a
|
|
154
|
+
test endpoint, another wallet). If the user wants a real settlement test, they
|
|
155
|
+
pay on that link from their own wallet, and `onPaid` marks the order paid.
|
|
156
|
+
|
|
157
|
+
Setup ends here. Say "Setup is finished" in one message, with the link and
|
|
158
|
+
what to check. Do not offer more work or end the message on a question.
|
|
159
|
+
|
|
141
160
|
## Non-negotiables
|
|
142
161
|
|
|
143
162
|
The quickstart below has the code. These are the rules it cannot state for
|
|
@@ -150,6 +169,9 @@ itself, and they hold for every integration.
|
|
|
150
169
|
logs, or assets.
|
|
151
170
|
- Do not suggest rotating, revoking or replacing a code because it was pasted
|
|
152
171
|
into this chat; that is the supported path.
|
|
172
|
+
- Work only in this application. Never read or run anything from another
|
|
173
|
+
project on this machine (its `node_modules`, tools or source), for any
|
|
174
|
+
reason. A browser and Playwright are not part of setup.
|
|
153
175
|
- The host owns the price. `amountFor` reads it from your own data; reject
|
|
154
176
|
payer-supplied amounts.
|
|
155
177
|
- `authorize` runs on every request, and the `resource` it receives is a CLAIM
|
|
@@ -313,6 +335,7 @@ enough; drop the `.md` for the same page a person would read.
|
|
|
313
335
|
- https://openreceive.org/guides/authorization.md — before you write `authorize`
|
|
314
336
|
- https://openreceive.org/guides/environment-variables.md — every variable, and what is deliberately not one
|
|
315
337
|
- https://openreceive.org/guides/storage.md — the payment tables and the attempt state machine
|
|
338
|
+
- https://openreceive.org/guides/supabase.md — when the database is Supabase: its pooler, its certificate, and locking the tables away from its Data API
|
|
316
339
|
- https://openreceive.org/guides/node-orms.md — recipes for Prisma, Drizzle, Knex, TypeORM, Sequelize
|
|
317
340
|
- https://openreceive.org/guides/frontend-checkout.md — the drop-in's props, attributes and slots
|
|
318
341
|
- https://openreceive.org/guides/checkout-ux.md — read before building any custom UI
|
|
@@ -575,7 +598,7 @@ rule applies only inside what OpenReceive renders.
|
|
|
575
598
|
Serve the compiled `styles.css` without Tailwind processing. Import it from
|
|
576
599
|
JavaScript if your bundler handles CSS, or use a plain
|
|
577
600
|
`<link rel="stylesheet">`. Do not `@import` it into your app's Tailwind entry.
|
|
578
|
-
Its rules have
|
|
601
|
+
Its rules have low specificity, so your page's styles can override checkout
|
|
579
602
|
styles. Scoping does not prevent that.
|
|
580
603
|
|
|
581
604
|
`<Checkout>` is complete as rendered. It already shows the `description` from
|
|
@@ -3,7 +3,7 @@ This is the full file; follow it from Step 0.
|
|
|
3
3
|
# OpenReceive agent directions (Laravel)
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
|
-
# READ THIS FIRST: this file is
|
|
6
|
+
# READ THIS FIRST: this file is 42 KB and a summary drops required steps. Download it whole:
|
|
7
7
|
curl -fsSL https://openreceive.org/agent-directions/laravel/full.md
|
|
8
8
|
# Skip the download only if you already have all of it: pasted, read from disk or fetched raw.
|
|
9
9
|
```
|
|
@@ -17,7 +17,7 @@ curl -fsSL https://openreceive.org/agent-directions/laravel/full.md
|
|
|
17
17
|
- Do not suggest rotating or revoking a code because it was pasted here.
|
|
18
18
|
- Start the quickstart only once the NWC code is saved, and the LSC code is saved or the user said "Bitcoin only".
|
|
19
19
|
|
|
20
|
-
These directions describe OpenReceive 0.4.
|
|
20
|
+
These directions describe OpenReceive 0.4.20.
|
|
21
21
|
|
|
22
22
|
Add OpenReceive to a Laravel application — the app you are already working in.
|
|
23
23
|
You do not need a copy of the OpenReceive source: the package is on Packagist
|
|
@@ -143,6 +143,24 @@ in-place `composer update` is undone by the next `compose up`.
|
|
|
143
143
|
|
|
144
144
|
Only then start the quickstart.
|
|
145
145
|
|
|
146
|
+
## After the quickstart — hand over, then stop
|
|
147
|
+
|
|
148
|
+
The quickstart is done when `php artisan openreceive:doctor` is clean and this
|
|
149
|
+
app serves the checkout page for one of its orders. Doctor names any failed
|
|
150
|
+
check; fix it before going on.
|
|
151
|
+
|
|
152
|
+
Give the user that checkout link. The browser check in the quickstart's
|
|
153
|
+
"Render the checkout" section (payment-method icons, wallet logos, a pay
|
|
154
|
+
tutorial) is theirs: tell them what to look at, and do not run it yourself.
|
|
155
|
+
|
|
156
|
+
You cannot pay the invoice: the code is receive-only. Do not pay, settle or
|
|
157
|
+
mark an order paid, and do not look for a way to (a wallet control port, a
|
|
158
|
+
test endpoint, another wallet). If the user wants a real settlement test, they
|
|
159
|
+
pay on that link from their own wallet, and `onPaid` marks the order paid.
|
|
160
|
+
|
|
161
|
+
Setup ends here. Say "Setup is finished" in one message, with the link and
|
|
162
|
+
what to check. Do not offer more work or end the message on a question.
|
|
163
|
+
|
|
146
164
|
## Non-negotiables
|
|
147
165
|
|
|
148
166
|
The quickstart below has the code. These are the rules it cannot state for
|
|
@@ -155,6 +173,9 @@ itself, and they hold for every integration.
|
|
|
155
173
|
logs, or assets.
|
|
156
174
|
- Do not suggest rotating, revoking or replacing a code because it was pasted
|
|
157
175
|
into this chat; that is the supported path.
|
|
176
|
+
- Work only in this application. Never read or run anything from another
|
|
177
|
+
project on this machine (its `node_modules`, tools or source), for any
|
|
178
|
+
reason. A browser and Playwright are not part of setup.
|
|
158
179
|
- The host owns the price. `amountFor` reads it from your own data; reject
|
|
159
180
|
payer-supplied amounts.
|
|
160
181
|
- `authorize` runs on every request, and the `resource` it receives is a CLAIM
|
|
@@ -647,7 +668,7 @@ then costs one relay round trip, not two.
|
|
|
647
668
|
Serve the compiled `styles.css` without Tailwind processing. Either import it
|
|
648
669
|
from JavaScript (with a CSS-capable bundler) or use a plain
|
|
649
670
|
`<link rel="stylesheet">`. Do not `@import` it into your Tailwind entry. Its
|
|
650
|
-
rules have
|
|
671
|
+
rules have low specificity, so your own styles can override checkout styles.
|
|
651
672
|
Scoping does not prevent that.
|
|
652
673
|
|
|
653
674
|
The engine serves JSON checkout routes only. Your view does the rendering. Any
|
|
@@ -3,7 +3,7 @@ This is the full file; follow it from Step 0.
|
|
|
3
3
|
# OpenReceive agent directions (Next.js)
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
|
-
# READ THIS FIRST: this file is
|
|
6
|
+
# READ THIS FIRST: this file is 39 KB and a summary drops required steps. Download it whole:
|
|
7
7
|
curl -fsSL https://openreceive.org/agent-directions/next/full.md
|
|
8
8
|
# Skip the download only if you already have all of it: pasted, read from disk or fetched raw.
|
|
9
9
|
```
|
|
@@ -17,7 +17,7 @@ curl -fsSL https://openreceive.org/agent-directions/next/full.md
|
|
|
17
17
|
- Do not suggest rotating or revoking a code because it was pasted here.
|
|
18
18
|
- Start the quickstart only once the NWC code is saved, and the LSC code is saved or the user said "Bitcoin only".
|
|
19
19
|
|
|
20
|
-
These directions describe OpenReceive 0.4.
|
|
20
|
+
These directions describe OpenReceive 0.4.20.
|
|
21
21
|
|
|
22
22
|
Add OpenReceive to a Next.js App Router application — the app you are already
|
|
23
23
|
working in. You do not need a copy of the OpenReceive source: the packages are
|
|
@@ -64,6 +64,11 @@ there and non-empty, and never print the values. A code that is already
|
|
|
64
64
|
set is not asked for again; if both are set, skip to step 5
|
|
65
65
|
(making the server load the file), then the quickstart.
|
|
66
66
|
|
|
67
|
+
On a hosted builder (v0, Vercel, Replit, Lovable), the user may say instead
|
|
68
|
+
that both codes are already set as the project's environment variables or
|
|
69
|
+
secrets. Believe them: do not ask for the codes, do not write `.env.local`, and
|
|
70
|
+
do not read or print the variables. Next reads them from the environment.
|
|
71
|
+
|
|
67
72
|
Otherwise your next action is a question to the user. Do not install packages,
|
|
68
73
|
edit the app, write `.env.example`, or search anywhere else before asking
|
|
69
74
|
it. Do not read deploy config (compose files, Vercel or platform secrets), Docker containers, or process environments, and never run
|
|
@@ -138,6 +143,25 @@ first.
|
|
|
138
143
|
|
|
139
144
|
Only then start the quickstart.
|
|
140
145
|
|
|
146
|
+
## After the quickstart — hand over, then stop
|
|
147
|
+
|
|
148
|
+
The quickstart is done when
|
|
149
|
+
`npx openreceive doctor --db <file-or-url> --url <app url>` is clean and this
|
|
150
|
+
app serves the checkout page for one of its orders. Doctor names any failed
|
|
151
|
+
check and exits nonzero; fix it before going on.
|
|
152
|
+
|
|
153
|
+
Give the user that checkout link. The browser check in the quickstart's step 6
|
|
154
|
+
(payment-method icons, wallet logos, a pay tutorial) is theirs: tell them what
|
|
155
|
+
to look at, and do not run it yourself.
|
|
156
|
+
|
|
157
|
+
You cannot pay the invoice: the code is receive-only. Do not pay, settle or
|
|
158
|
+
mark an order paid, and do not look for a way to (a wallet control port, a
|
|
159
|
+
test endpoint, another wallet). If the user wants a real settlement test, they
|
|
160
|
+
pay on that link from their own wallet, and `onPaid` marks the order paid.
|
|
161
|
+
|
|
162
|
+
Setup ends here. Say "Setup is finished" in one message, with the link and
|
|
163
|
+
what to check. Do not offer more work or end the message on a question.
|
|
164
|
+
|
|
141
165
|
## Non-negotiables
|
|
142
166
|
|
|
143
167
|
The quickstart below has the code. These are the rules it cannot state for
|
|
@@ -150,6 +174,9 @@ itself, and they hold for every integration.
|
|
|
150
174
|
logs, or assets.
|
|
151
175
|
- Do not suggest rotating, revoking or replacing a code because it was pasted
|
|
152
176
|
into this chat; that is the supported path.
|
|
177
|
+
- Work only in this application. Never read or run anything from another
|
|
178
|
+
project on this machine (its `node_modules`, tools or source), for any
|
|
179
|
+
reason. A browser and Playwright are not part of setup.
|
|
153
180
|
- The host owns the price. `amountFor` reads it from your own data; reject
|
|
154
181
|
payer-supplied amounts.
|
|
155
182
|
- `authorize` runs on every request, and the `resource` it receives is a CLAIM
|
|
@@ -317,6 +344,7 @@ enough; drop the `.md` for the same page a person would read.
|
|
|
317
344
|
- https://openreceive.org/guides/authorization.md — before you write `authorize`
|
|
318
345
|
- https://openreceive.org/guides/environment-variables.md — every variable, and what is deliberately not one
|
|
319
346
|
- https://openreceive.org/guides/storage.md — the payment tables and the attempt state machine
|
|
347
|
+
- https://openreceive.org/guides/supabase.md — when the database is Supabase: its pooler, its certificate, and locking the tables away from its Data API
|
|
320
348
|
- https://openreceive.org/guides/node-orms.md — recipes for Prisma, Drizzle, Knex, TypeORM, Sequelize
|
|
321
349
|
- https://openreceive.org/guides/frontend-checkout.md — the drop-in's props, attributes and slots
|
|
322
350
|
- https://openreceive.org/guides/checkout-ux.md — read before building any custom UI
|
|
@@ -334,6 +362,7 @@ enough; drop the `.md` for the same page a person would read.
|
|
|
334
362
|
- https://openreceive.org/guides/api-reference.md — every route, option and error code
|
|
335
363
|
- https://openreceive.org/guides/custom-checkout-route.md — advanced: replacing the shipped adapter's routes with your own
|
|
336
364
|
- https://openreceive.org/guides/react-material-ui-recipe.md — a worked custom UI on a component library
|
|
365
|
+
- https://openreceive.org/guides/tanstack-start-recipe.md — the same handler as a TanStack Start server route, if this app is TanStack Start after all
|
|
337
366
|
- https://openreceive.org/guides.md — the index, if what you need is not above
|
|
338
367
|
|
|
339
368
|
Questions, or a problem with the library itself:
|
|
@@ -620,7 +649,7 @@ scoped: every rule applies only inside what OpenReceive renders. You need no
|
|
|
620
649
|
|
|
621
650
|
Serve the compiled `styles.css` without Tailwind processing: import it from
|
|
622
651
|
JavaScript (with a CSS-capable bundler) or use a plain `<link rel="stylesheet">`.
|
|
623
|
-
Do not `@import` it into the host Tailwind entry. Its
|
|
652
|
+
Do not `@import` it into the host Tailwind entry. Its low-specificity rules
|
|
624
653
|
allow host styles to override checkout styles; scoping does not prevent that.
|
|
625
654
|
|
|
626
655
|
`<Checkout>` is complete as rendered. It already shows the `description` from
|
|
@@ -3,7 +3,7 @@ This is the full file; follow it from Step 0.
|
|
|
3
3
|
# OpenReceive agent directions (Node.js)
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
|
-
# READ THIS FIRST: this file is
|
|
6
|
+
# READ THIS FIRST: this file is 35 KB and a summary drops required steps. Download it whole:
|
|
7
7
|
curl -fsSL https://openreceive.org/agent-directions/node/full.md
|
|
8
8
|
# Skip the download only if you already have all of it: pasted, read from disk or fetched raw.
|
|
9
9
|
```
|
|
@@ -17,7 +17,7 @@ curl -fsSL https://openreceive.org/agent-directions/node/full.md
|
|
|
17
17
|
- Do not suggest rotating or revoking a code because it was pasted here.
|
|
18
18
|
- Start the quickstart only once the NWC code is saved, and the LSC code is saved or the user said "Bitcoin only".
|
|
19
19
|
|
|
20
|
-
These directions describe OpenReceive 0.4.
|
|
20
|
+
These directions describe OpenReceive 0.4.20.
|
|
21
21
|
|
|
22
22
|
Add OpenReceive to a Node application — the app you are already working in. You
|
|
23
23
|
do not need a copy of the OpenReceive source: the packages are on npm, and the
|
|
@@ -61,6 +61,11 @@ there and non-empty, and never print the values. A code that is already
|
|
|
61
61
|
set is not asked for again; if both are set, skip to step 5
|
|
62
62
|
(making the server load the file), then the quickstart.
|
|
63
63
|
|
|
64
|
+
On a hosted builder (v0, Vercel, Replit, Lovable), the user may say instead
|
|
65
|
+
that both codes are already set as the project's environment variables or
|
|
66
|
+
secrets. Believe them: do not ask for the codes, do not write `.env`, and
|
|
67
|
+
do not read or print the variables. Skip step 5's file loading: the platform already puts them in `process.env`.
|
|
68
|
+
|
|
64
69
|
Otherwise your next action is a question to the user. Do not install packages,
|
|
65
70
|
edit the app, write `.env.example`, or search anywhere else before asking
|
|
66
71
|
it. Do not read deploy config (compose files, platform secrets), Docker containers, or process environments, and never run
|
|
@@ -135,6 +140,24 @@ first.
|
|
|
135
140
|
|
|
136
141
|
Only then start the quickstart.
|
|
137
142
|
|
|
143
|
+
## After the quickstart — hand over, then stop
|
|
144
|
+
|
|
145
|
+
The quickstart is done when `npx openreceive doctor --db <file-or-url> --url <app url>`
|
|
146
|
+
is clean and this app serves the checkout page for one of its orders. Doctor
|
|
147
|
+
names any failed check and exits nonzero; fix it before going on.
|
|
148
|
+
|
|
149
|
+
Give the user that checkout link. The browser check in the quickstart's
|
|
150
|
+
step 6 (payment-method icons, wallet logos, a pay tutorial) is theirs: tell
|
|
151
|
+
them what to look at, and do not run it yourself.
|
|
152
|
+
|
|
153
|
+
You cannot pay the invoice: the code is receive-only. Do not pay, settle or
|
|
154
|
+
mark an order paid, and do not look for a way to (a wallet control port, a
|
|
155
|
+
test endpoint, another wallet). If the user wants a real settlement test, they
|
|
156
|
+
pay on that link from their own wallet, and `onPaid` marks the order paid.
|
|
157
|
+
|
|
158
|
+
Setup ends here. Say "Setup is finished" in one message, with the link and
|
|
159
|
+
what to check. Do not offer more work or end the message on a question.
|
|
160
|
+
|
|
138
161
|
## Non-negotiables
|
|
139
162
|
|
|
140
163
|
The quickstart below has the code. These are the rules it cannot state for
|
|
@@ -147,6 +170,9 @@ itself, and they hold for every integration.
|
|
|
147
170
|
logs, or assets.
|
|
148
171
|
- Do not suggest rotating, revoking or replacing a code because it was pasted
|
|
149
172
|
into this chat; that is the supported path.
|
|
173
|
+
- Work only in this application. Never read or run anything from another
|
|
174
|
+
project on this machine (its `node_modules`, tools or source), for any
|
|
175
|
+
reason. A browser and Playwright are not part of setup.
|
|
150
176
|
- The host owns the price. `amountFor` reads it from your own data; reject
|
|
151
177
|
payer-supplied amounts.
|
|
152
178
|
- `authorize` runs on every request, and the `resource` it receives is a CLAIM
|
|
@@ -305,6 +331,7 @@ enough; drop the `.md` for the same page a person would read.
|
|
|
305
331
|
- https://openreceive.org/guides/authorization.md — before you write `authorize`
|
|
306
332
|
- https://openreceive.org/guides/environment-variables.md — every variable, and what is deliberately not one
|
|
307
333
|
- https://openreceive.org/guides/storage.md — the payment tables and the attempt state machine
|
|
334
|
+
- https://openreceive.org/guides/supabase.md — when the database is Supabase: its pooler, its certificate, and locking the tables away from its Data API
|
|
308
335
|
- https://openreceive.org/guides/node-orms.md — recipes for Prisma, Drizzle, Knex, TypeORM, Sequelize
|
|
309
336
|
- https://openreceive.org/guides/frontend-checkout.md — the drop-in's props, attributes and slots
|
|
310
337
|
- https://openreceive.org/guides/checkout-ux.md — read before building any custom UI
|
|
@@ -549,7 +576,7 @@ rule applies only inside what OpenReceive renders.
|
|
|
549
576
|
Serve the compiled `styles.css` without Tailwind processing. Import it from
|
|
550
577
|
JavaScript if your bundler handles CSS, or use a plain
|
|
551
578
|
`<link rel="stylesheet">`. Do not `@import` it into your app's Tailwind entry.
|
|
552
|
-
Its rules have
|
|
579
|
+
Its rules have low specificity, so your page's styles can override checkout
|
|
553
580
|
styles. Scoping does not prevent that.
|
|
554
581
|
|
|
555
582
|
`<Checkout>` is complete as rendered. It already shows the `description` from
|
|
@@ -3,7 +3,7 @@ This is the full file; follow it from Step 0.
|
|
|
3
3
|
# OpenReceive agent directions (PHP)
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
|
-
# READ THIS FIRST: this file is
|
|
6
|
+
# READ THIS FIRST: this file is 38 KB and a summary drops required steps. Download it whole:
|
|
7
7
|
curl -fsSL https://openreceive.org/agent-directions/php/full.md
|
|
8
8
|
# Skip the download only if you already have all of it: pasted, read from disk or fetched raw.
|
|
9
9
|
```
|
|
@@ -17,7 +17,7 @@ curl -fsSL https://openreceive.org/agent-directions/php/full.md
|
|
|
17
17
|
- Do not suggest rotating or revoking a code because it was pasted here.
|
|
18
18
|
- Start the quickstart only once the NWC code is saved, and the LSC code is saved or the user said "Bitcoin only".
|
|
19
19
|
|
|
20
|
-
These directions describe OpenReceive 0.4.
|
|
20
|
+
These directions describe OpenReceive 0.4.20.
|
|
21
21
|
|
|
22
22
|
Add OpenReceive to a PHP application — the app you are already working in. You
|
|
23
23
|
do not need a copy of the OpenReceive source: the engine is on Packagist
|
|
@@ -148,6 +148,24 @@ the image, so an in-place `composer update` is undone by the next
|
|
|
148
148
|
|
|
149
149
|
Only then start the quickstart.
|
|
150
150
|
|
|
151
|
+
## After the quickstart — hand over, then stop
|
|
152
|
+
|
|
153
|
+
The quickstart is done when the quickstart's `bin/doctor` script is clean and
|
|
154
|
+
this app serves the checkout page for one of its orders. Doctor names any
|
|
155
|
+
failed check; fix it before going on.
|
|
156
|
+
|
|
157
|
+
Give the user that checkout link. The browser check in the quickstart's step 6
|
|
158
|
+
(payment-method icons, wallet logos, a pay tutorial) is theirs: tell them what
|
|
159
|
+
to look at, and do not run it yourself.
|
|
160
|
+
|
|
161
|
+
You cannot pay the invoice: the code is receive-only. Do not pay, settle or
|
|
162
|
+
mark an order paid, and do not look for a way to (a wallet control port, a
|
|
163
|
+
test endpoint, another wallet). If the user wants a real settlement test, they
|
|
164
|
+
pay on that link from their own wallet, and `onPaid` marks the order paid.
|
|
165
|
+
|
|
166
|
+
Setup ends here. Say "Setup is finished" in one message, with the link and
|
|
167
|
+
what to check. Do not offer more work or end the message on a question.
|
|
168
|
+
|
|
151
169
|
## Non-negotiables
|
|
152
170
|
|
|
153
171
|
The quickstart below has the code. These are the rules it cannot state for
|
|
@@ -160,6 +178,9 @@ itself, and they hold for every integration.
|
|
|
160
178
|
logs, or assets — and never in a `config.php` that ships in the repository.
|
|
161
179
|
- Do not suggest rotating, revoking or replacing a code because it was pasted
|
|
162
180
|
into this chat; that is the supported path.
|
|
181
|
+
- Work only in this application. Never read or run anything from another
|
|
182
|
+
project on this machine (its `node_modules`, tools or source), for any
|
|
183
|
+
reason. A browser and Playwright are not part of setup.
|
|
163
184
|
- The host owns the price. `amountFor` reads it from your own data; reject
|
|
164
185
|
payer-supplied amounts.
|
|
165
186
|
- `authorize` runs on every request, and the `resource` it receives is a CLAIM
|
|
@@ -592,7 +613,7 @@ HTTP routes and the browser snapshots are snake_case throughout.
|
|
|
592
613
|
Serve the compiled `styles.css` without Tailwind processing. Either import it
|
|
593
614
|
from JavaScript (with a CSS-capable bundler) or use a plain
|
|
594
615
|
`<link rel="stylesheet">`. Do not `@import` it into your Tailwind entry. Its
|
|
595
|
-
rules have
|
|
616
|
+
rules have low specificity, so your own styles can override checkout styles.
|
|
596
617
|
Scoping does not prevent that.
|
|
597
618
|
|
|
598
619
|
Unpack the release's `standalone-checkout-<version>.tar.gz` into a directory
|
|
@@ -3,7 +3,7 @@ This is the full file; follow it from Step 0.
|
|
|
3
3
|
# OpenReceive agent directions (Rails)
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
|
-
# READ THIS FIRST: this file is
|
|
6
|
+
# READ THIS FIRST: this file is 40 KB and a summary drops required steps. Download it whole:
|
|
7
7
|
curl -fsSL https://openreceive.org/agent-directions/rails/full.md
|
|
8
8
|
# Skip the download only if you already have all of it: pasted, read from disk or fetched raw.
|
|
9
9
|
```
|
|
@@ -17,7 +17,7 @@ curl -fsSL https://openreceive.org/agent-directions/rails/full.md
|
|
|
17
17
|
- Do not suggest rotating or revoking a code because it was pasted here.
|
|
18
18
|
- Start the quickstart only once the NWC code is saved, and the LSC code is saved or the user said "Bitcoin only".
|
|
19
19
|
|
|
20
|
-
These directions describe OpenReceive 0.4.
|
|
20
|
+
These directions describe OpenReceive 0.4.20.
|
|
21
21
|
|
|
22
22
|
Add OpenReceive to a Rails application — the app you are already working in. You
|
|
23
23
|
do not need a copy of the OpenReceive source: the gem is on RubyGems, the
|
|
@@ -139,6 +139,24 @@ is undone by the next `compose up`.
|
|
|
139
139
|
|
|
140
140
|
Only then start the quickstart.
|
|
141
141
|
|
|
142
|
+
## After the quickstart — hand over, then stop
|
|
143
|
+
|
|
144
|
+
The quickstart is done when `bin/rails openreceive:doctor` is clean and this
|
|
145
|
+
app serves the checkout page for one of its orders. Doctor names any failed
|
|
146
|
+
check; fix it before going on.
|
|
147
|
+
|
|
148
|
+
Give the user that checkout link. The browser check in the quickstart's
|
|
149
|
+
"Render the checkout" section (payment-method icons, wallet logos, a pay
|
|
150
|
+
tutorial) is theirs: tell them what to look at, and do not run it yourself.
|
|
151
|
+
|
|
152
|
+
You cannot pay the invoice: the code is receive-only. Do not pay, settle or
|
|
153
|
+
mark an order paid, and do not look for a way to (a wallet control port, a
|
|
154
|
+
test endpoint, another wallet). If the user wants a real settlement test, they
|
|
155
|
+
pay on that link from their own wallet, and `on_paid` marks the order paid.
|
|
156
|
+
|
|
157
|
+
Setup ends here. Say "Setup is finished" in one message, with the link and
|
|
158
|
+
what to check. Do not offer more work or end the message on a question.
|
|
159
|
+
|
|
142
160
|
## Non-negotiables
|
|
143
161
|
|
|
144
162
|
The quickstart below has the code. These are the rules it cannot state for
|
|
@@ -151,6 +169,9 @@ itself, and they hold for every integration.
|
|
|
151
169
|
logs, or assets.
|
|
152
170
|
- Do not suggest rotating, revoking or replacing a code because it was pasted
|
|
153
171
|
into this chat; that is the supported path.
|
|
172
|
+
- Work only in this application. Never read or run anything from another
|
|
173
|
+
project on this machine (its `node_modules`, tools or source), for any
|
|
174
|
+
reason. A browser and Playwright are not part of setup.
|
|
154
175
|
- The host owns the price. `config.amount_for` reads it from your own data;
|
|
155
176
|
reject payer-supplied amounts.
|
|
156
177
|
- `config.authorize` runs on every request, and the `resource` it receives is a
|
|
@@ -609,7 +630,7 @@ live wallet is needed.
|
|
|
609
630
|
Serve the compiled `styles.css` without Tailwind processing. Either import it
|
|
610
631
|
from JavaScript (with a CSS-capable bundler) or use a plain
|
|
611
632
|
`<link rel="stylesheet">`. Do not `@import` it into your Tailwind entry. Its
|
|
612
|
-
rules have
|
|
633
|
+
rules have low specificity, so your own styles can override checkout styles.
|
|
613
634
|
Scoping does not prevent that.
|
|
614
635
|
|
|
615
636
|
The engine serves JSON checkout routes only. Your view does the rendering. Any
|
|
@@ -17,7 +17,7 @@ curl -fsSL https://openreceive.org/agent-directions/woocommerce/full.md
|
|
|
17
17
|
- Do not suggest rotating or revoking a code because it was pasted here.
|
|
18
18
|
- Setup is done only when the NWC code is saved, and the LSC code is saved or the user said "Bitcoin only".
|
|
19
19
|
|
|
20
|
-
These directions describe OpenReceive 0.4.
|
|
20
|
+
These directions describe OpenReceive 0.4.20.
|
|
21
21
|
|
|
22
22
|
Install and configure the OpenReceive payment gateway in the WooCommerce store
|
|
23
23
|
you are working in. Preserve its theme, checkout, customer accounts, order
|
|
@@ -96,7 +96,7 @@ Install the plugin built for this release. Never install the GitHub
|
|
|
96
96
|
source-code ZIP or a ZIP from an older release:
|
|
97
97
|
|
|
98
98
|
```sh
|
|
99
|
-
wp plugin install https://github.com/OpenReceive/openreceive/releases/download/v0.4.
|
|
99
|
+
wp plugin install https://github.com/OpenReceive/openreceive/releases/download/v0.4.20/openreceive-wordpress-0.4.20.zip --activate
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
It needs WooCommerce active, and PHP 8.2+ with GMP and sodium in BOTH the web
|
|
@@ -236,7 +236,7 @@ database or application.
|
|
|
236
236
|
|
|
237
237
|
### Get the installable archive
|
|
238
238
|
|
|
239
|
-
Download [openreceive-wordpress-0.4.
|
|
239
|
+
Download [openreceive-wordpress-0.4.20.zip](https://github.com/OpenReceive/openreceive/releases/download/v0.4.20/openreceive-wordpress-0.4.20.zip)
|
|
240
240
|
from the matching release. Historical releases may lack this asset. If that exact
|
|
241
241
|
URL returns 404, build the same tag below; never silently install an older ZIP.
|
|
242
242
|
The GitHub source-code ZIP is not an installable plugin. On a development machine
|
|
@@ -245,7 +245,7 @@ with Node 22+, PHP 8.2+ with GMP/sodium, Composer and WP-CLI:
|
|
|
245
245
|
```sh
|
|
246
246
|
git clone https://github.com/OpenReceive/openreceive.git
|
|
247
247
|
cd openreceive
|
|
248
|
-
git checkout v0.4.
|
|
248
|
+
git checkout v0.4.20
|
|
249
249
|
npm ci
|
|
250
250
|
npm run build:packages
|
|
251
251
|
composer install --working-dir=packages/php/wordpress
|
|
@@ -288,7 +288,9 @@ package matching the active PHP version (for example `php8.2-gmp` for PHP 8.2),
|
|
|
288
288
|
then restart that version's web PHP service. Verify `php --ri gmp` and
|
|
289
289
|
`wp openreceive doctor` for CLI, and the gateway Doctor panel for web PHP.
|
|
290
290
|
On managed WordPress hosting, ask the host to enable GMP and sodium in both
|
|
291
|
-
runtimes; if they cannot, this plugin cannot run there.
|
|
291
|
+
runtimes; if they cannot, this plugin cannot run there.
|
|
292
|
+
[WordPress hosting requirements](https://openreceive.org/guides/wordpress-hosting.md) lists what common hosts
|
|
293
|
+
offer and how to check your site. Do not use Composer's
|
|
292
294
|
`--ignore-platform-reqs` to bypass the requirements.
|
|
293
295
|
|
|
294
296
|
#### Compose files with only `image:` lines
|