openreceive-rails 0.4.5 → 0.4.6
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 +8 -0
- data/README.md +54 -6
- data/lib/openreceive/rails/version.rb +1 -1
- data/skills/integrate-openreceive/references/btcpay.md +1 -1
- data/skills/integrate-openreceive/references/django.md +1 -1
- data/skills/integrate-openreceive/references/fastapi.md +1 -1
- data/skills/integrate-openreceive/references/fastify.md +1 -1
- data/skills/integrate-openreceive/references/laravel.md +1 -1
- data/skills/integrate-openreceive/references/next.md +1 -1
- data/skills/integrate-openreceive/references/node.md +1 -1
- data/skills/integrate-openreceive/references/php.md +1 -1
- data/skills/integrate-openreceive/references/rails.md +1 -1
- data/skills/integrate-openreceive/references/woocommerce.md +24 -1
- metadata +22 -18
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2cd25ab457fdc7a54d989c2a490fa75d451362157618702bc3e101d461c450d4
|
|
4
|
+
data.tar.gz: c377fd378153bd78bb195000a74efd776587b40d1a8927a514aa7b9739da8986
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 980779f4826ebc988f9d6b11a24004153477b84738ba26e5ad849658137b24edd8d5f3cded4d212ae6e17f4c69a6d02d3398cca5abc2417033d599f9c7665fb3
|
|
7
|
+
data.tar.gz: c48b85c8349b5bc27ae2c8f2b1dc9a9aa4f1f81640850368a4a411ca5035cdad5bd3e8d9f03298077516c8dbd163c82c42c60a448d43431f24dc8ddb494731e4
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.6 - 2026-09-11
|
|
4
|
+
|
|
5
|
+
Refresh installation and quickstart documentation and package metadata.
|
|
6
|
+
The Rails demo places the order id and return link below payment choices and
|
|
7
|
+
the Lightning wallet list on mobile, while keeping the desktop sidebar.
|
|
8
|
+
Release in lockstep with openreceive 0.4.6 and its live-price request fix;
|
|
9
|
+
no Rails engine API change.
|
|
10
|
+
|
|
3
11
|
## 0.4.5 - 2026-09-07
|
|
4
12
|
|
|
5
13
|
Release in lockstep with the Python/PHP publishing workflow fixes and complete
|
data/README.md
CHANGED
|
@@ -1,17 +1,55 @@
|
|
|
1
1
|
# openreceive-rails
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
**Accept Bitcoin Lightning payments in Rails. Your app, your wallet.**
|
|
4
|
+
|
|
5
|
+
[OpenReceive](https://openreceive.org) adds Lightning checkout to your Rails app
|
|
6
|
+
and sends payments directly to a wallet you control. Mount the engine, connect
|
|
7
|
+
a receive-only Nostr Wallet Connect (NWC) wallet, and connect three hooks:
|
|
8
|
+
authorize a request, look up the order amount, and handle a settled payment.
|
|
9
|
+
|
|
10
|
+
OpenReceive supports optional swaps from **USDT, USDC, SOL, and ETH** through
|
|
11
|
+
a configured swap provider. The provider converts the payment to **BTC over
|
|
12
|
+
Lightning**, which settles into the merchant's connected wallet. Available
|
|
13
|
+
assets and networks depend on the provider; swaps are optional.
|
|
14
|
+
|
|
15
|
+
- **Fits your app:** keep your orders, users, prices, and fulfillment in Rails.
|
|
16
|
+
- **Uses your database:** payment attempts and reconciliation live alongside
|
|
17
|
+
your application data, with PostgreSQL, SQLite, and MySQL support.
|
|
18
|
+
- **Handles the payment lifecycle:** invoice creation, payment checks, retry
|
|
19
|
+
coordination, and settlement reconciliation are built in.
|
|
20
|
+
- **Keeps operations simple:** no separate OpenReceive database, Redis, or
|
|
21
|
+
payment service to deploy. Wallet notifications can run in an optional worker.
|
|
22
|
+
|
|
23
|
+
## Get started
|
|
24
|
+
|
|
25
|
+
Requires Ruby 3.2 or later and Rails 8.0 or later. Add to your Gemfile:
|
|
26
|
+
|
|
27
|
+
```ruby
|
|
28
|
+
gem "openreceive-rails"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Run `bundle install`, then install the engine:
|
|
9
32
|
|
|
10
33
|
```sh
|
|
11
34
|
bin/rails generate openreceive:install
|
|
12
35
|
bin/rails db:migrate
|
|
13
36
|
```
|
|
14
37
|
|
|
38
|
+
The core, server, and default NWC client gems are included as dependencies.
|
|
39
|
+
Follow the [Rails quickstart](https://github.com/OpenReceive/openreceive/blob/master/docs/guides/quickstart-rails.md) for native
|
|
40
|
+
build prerequisites, wallet configuration, the three hooks, and the checkout UI.
|
|
41
|
+
The generator creates the initializer, migration, and route mount; configure
|
|
42
|
+
the wallet and hooks before accepting payments.
|
|
43
|
+
|
|
44
|
+
## How it fits into Rails
|
|
45
|
+
|
|
46
|
+
The engine owns the
|
|
47
|
+
`OpenReceivePayment` attempt model (statuses `pending`, `settled`, `expired`,
|
|
48
|
+
`failed`, `attention`), its per-reference commit locking, settlement write-once, and
|
|
49
|
+
the reconciliation state machine. The install generator mounts the routes and
|
|
50
|
+
emits the initializer plus one migration creating both engine tables
|
|
51
|
+
(`openreceive_payments` and the `openreceive_meta` reconcile gate).
|
|
52
|
+
|
|
15
53
|
The generated migration supports PostgreSQL, SQLite, and MySQL, and seeds the
|
|
16
54
|
shared `schema_version`; on its first database touch the engine refuses to
|
|
17
55
|
operate a database whose stored schema version is newer than the gem.
|
|
@@ -50,3 +88,13 @@ application refuses to start when the connection advertises spend methods unless
|
|
|
50
88
|
`config.allow_spend_capable_wallet` or `OPENRECEIVE_ALLOW_SPEND_CAPABLE_NWC`
|
|
51
89
|
overrides it. Keep ordinary settings such as `config.price_currencies` in
|
|
52
90
|
`config/initializers/openreceive.rb`.
|
|
91
|
+
|
|
92
|
+
## Links
|
|
93
|
+
|
|
94
|
+
- Rails quickstart: [Connect your first checkout](https://github.com/OpenReceive/openreceive/blob/master/docs/guides/quickstart-rails.md)
|
|
95
|
+
- API reference: [Configuration, hooks, and reconciliation](https://github.com/OpenReceive/openreceive/blob/master/docs/guides/api-reference.md)
|
|
96
|
+
- Host testing: [Test your integration without a wallet](https://github.com/OpenReceive/openreceive/blob/master/docs/guides/host-testing.md)
|
|
97
|
+
- Source and issues: <https://github.com/openreceive/openreceive>
|
|
98
|
+
- Changelog: [CHANGELOG.md](CHANGELOG.md)
|
|
99
|
+
|
|
100
|
+
MIT license.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenReceive agent directions (BTCPay Server)
|
|
2
2
|
|
|
3
|
-
These directions describe OpenReceive 0.4.
|
|
3
|
+
These directions describe OpenReceive 0.4.6.
|
|
4
4
|
|
|
5
5
|
Connect a BTCPay Server store to a receive-only NWC wallet with the OpenReceive
|
|
6
6
|
plugin, and optionally let payers pay BTCPay invoices with USDT, USDC, ETH or
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenReceive agent directions (Django)
|
|
2
2
|
|
|
3
|
-
These directions describe OpenReceive 0.4.
|
|
3
|
+
These directions describe OpenReceive 0.4.6.
|
|
4
4
|
|
|
5
5
|
Add OpenReceive to a Django project — the app you are already working in. You
|
|
6
6
|
do not need a copy of the OpenReceive source: the Python package is on PyPI
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenReceive agent directions (FastAPI)
|
|
2
2
|
|
|
3
|
-
These directions describe OpenReceive 0.4.
|
|
3
|
+
These directions describe OpenReceive 0.4.6.
|
|
4
4
|
|
|
5
5
|
Add OpenReceive to a FastAPI application — the app you are already working in.
|
|
6
6
|
You do not need a copy of the OpenReceive source: the engine is on PyPI
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenReceive agent directions (Fastify)
|
|
2
2
|
|
|
3
|
-
These directions describe OpenReceive 0.4.
|
|
3
|
+
These directions describe OpenReceive 0.4.6.
|
|
4
4
|
|
|
5
5
|
Add OpenReceive to a Fastify application — the app you are already working in.
|
|
6
6
|
You do not need a copy of the OpenReceive source: the packages are on npm, and
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenReceive agent directions (Laravel)
|
|
2
2
|
|
|
3
|
-
These directions describe OpenReceive 0.4.
|
|
3
|
+
These directions describe OpenReceive 0.4.6.
|
|
4
4
|
|
|
5
5
|
Add OpenReceive to a Laravel application — the app you are already working in.
|
|
6
6
|
You do not need a copy of the OpenReceive source: the package is on Packagist
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenReceive agent directions (Next.js)
|
|
2
2
|
|
|
3
|
-
These directions describe OpenReceive 0.4.
|
|
3
|
+
These directions describe OpenReceive 0.4.6.
|
|
4
4
|
|
|
5
5
|
Add OpenReceive to a Next.js App Router application — the app you are already
|
|
6
6
|
working in. You do not need a copy of the OpenReceive source: the packages are
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenReceive agent directions (Node.js)
|
|
2
2
|
|
|
3
|
-
These directions describe OpenReceive 0.4.
|
|
3
|
+
These directions describe OpenReceive 0.4.6.
|
|
4
4
|
|
|
5
5
|
Add OpenReceive to a Node application — the app you are already working in. You
|
|
6
6
|
do not need a copy of the OpenReceive source: the packages are on npm, and the
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenReceive agent directions (PHP)
|
|
2
2
|
|
|
3
|
-
These directions describe OpenReceive 0.4.
|
|
3
|
+
These directions describe OpenReceive 0.4.6.
|
|
4
4
|
|
|
5
5
|
Add OpenReceive to a PHP application — the app you are already working in. You
|
|
6
6
|
do not need a copy of the OpenReceive source: the engine is on Packagist
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenReceive agent directions (Rails)
|
|
2
2
|
|
|
3
|
-
These directions describe OpenReceive 0.4.
|
|
3
|
+
These directions describe OpenReceive 0.4.6.
|
|
4
4
|
|
|
5
5
|
Add OpenReceive to a Rails application — the app you are already working in. You
|
|
6
6
|
do not need a copy of the OpenReceive source: the gem is on RubyGems, the
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# OpenReceive agent directions (WordPress + WooCommerce)
|
|
2
2
|
|
|
3
|
-
These directions describe OpenReceive 0.4.
|
|
3
|
+
These directions describe OpenReceive 0.4.6.
|
|
4
4
|
|
|
5
5
|
Install and configure the OpenReceive gateway in the existing WooCommerce
|
|
6
6
|
store. Preserve its theme, checkout, customer accounts, order model and prices.
|
|
@@ -90,6 +90,29 @@ Requirements: WordPress 6.6+, WooCommerce 9+, 64-bit PHP 8.2+ with GMP and sodiu
|
|
|
90
90
|
and MySQL 8 or MariaDB 10.5+. Activation creates payment-attempt tables in the
|
|
91
91
|
existing WordPress database. No separate database or application is required.
|
|
92
92
|
|
|
93
|
+
### Get the installable archive
|
|
94
|
+
|
|
95
|
+
Use `openreceive-wordpress-<version>.zip` from the selected
|
|
96
|
+
[OpenReceive GitHub release](https://github.com/OpenReceive/openreceive/releases)
|
|
97
|
+
when that asset is listed. A GitHub source-code zip is not the plugin archive.
|
|
98
|
+
If the release does not yet provide a built zip, build it on a development
|
|
99
|
+
machine with Node 22+, PHP 8.2+, Composer and WP-CLI:
|
|
100
|
+
|
|
101
|
+
```sh
|
|
102
|
+
git clone https://github.com/OpenReceive/openreceive.git
|
|
103
|
+
cd openreceive
|
|
104
|
+
git checkout <release-tag>
|
|
105
|
+
npm ci
|
|
106
|
+
npm run build:packages
|
|
107
|
+
composer install --working-dir=packages/php/wordpress
|
|
108
|
+
npm run release:wordpress:build
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Upload the resulting `dist/openreceive-wordpress-<version>.zip`. WP-CLI must be
|
|
112
|
+
on `PATH`, or set `OPENRECEIVE_WP_CLI` to the absolute path of its phar. The
|
|
113
|
+
WordPress server needs neither Node nor Composer: dependencies and checkout
|
|
114
|
+
assets are bundled inside the built plugin.
|
|
115
|
+
|
|
93
116
|
### Configure the wallet
|
|
94
117
|
|
|
95
118
|
Open **WooCommerce → Settings → Payments → OpenReceive**. Enter a receive-only
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: openreceive-rails
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.6
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- OpenReceive
|
|
@@ -15,28 +15,28 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - '='
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 0.4.
|
|
18
|
+
version: 0.4.6
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - '='
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 0.4.
|
|
25
|
+
version: 0.4.6
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: openreceive-server
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - '='
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 0.4.
|
|
32
|
+
version: 0.4.6
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - '='
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 0.4.
|
|
39
|
+
version: 0.4.6
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: rails
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -85,16 +85,21 @@ dependencies:
|
|
|
85
85
|
- - ">="
|
|
86
86
|
- !ruby/object:Gem::Version
|
|
87
87
|
version: '2.1'
|
|
88
|
-
description:
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
and
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
and
|
|
97
|
-
|
|
88
|
+
description: |
|
|
89
|
+
Add Bitcoin Lightning checkout to your Rails app and receive payments directly
|
|
90
|
+
into a wallet you control. Mount the engine, connect a receive-only Nostr Wallet
|
|
91
|
+
Connect (NWC) wallet, and wire up three hooks for authorization, order amounts,
|
|
92
|
+
and fulfillment.
|
|
93
|
+
|
|
94
|
+
Optional swaps let customers pay with USDT, USDC, SOL, and ETH through a
|
|
95
|
+
configured provider; you receive BTC over Lightning in your wallet. Available
|
|
96
|
+
assets and networks depend on the provider.
|
|
97
|
+
|
|
98
|
+
OpenReceive handles invoices, payment attempts, and settlement reconciliation
|
|
99
|
+
using your existing application database. Keep your orders,
|
|
100
|
+
users, prices, and fulfillment in your app, with no separate OpenReceive database,
|
|
101
|
+
Redis, or payment service to deploy. Includes an install generator, PostgreSQL,
|
|
102
|
+
SQLite, and MySQL support, plus an optional wallet-notifications worker.
|
|
98
103
|
email:
|
|
99
104
|
- info@openreceive.org
|
|
100
105
|
executables: []
|
|
@@ -145,7 +150,7 @@ metadata:
|
|
|
145
150
|
source_code_uri: https://github.com/openreceive/openreceive
|
|
146
151
|
changelog_uri: https://github.com/openreceive/openreceive/blob/master/packages/ruby/openreceive-rails/CHANGELOG.md
|
|
147
152
|
bug_tracker_uri: https://github.com/openreceive/openreceive/issues
|
|
148
|
-
documentation_uri: https://
|
|
153
|
+
documentation_uri: https://github.com/openreceive/openreceive/blob/master/docs/guides/quickstart-rails.md
|
|
149
154
|
rubygems_mfa_required: 'true'
|
|
150
155
|
rdoc_options: []
|
|
151
156
|
require_paths:
|
|
@@ -163,6 +168,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
163
168
|
requirements: []
|
|
164
169
|
rubygems_version: 3.6.9
|
|
165
170
|
specification_version: 4
|
|
166
|
-
summary:
|
|
167
|
-
the host database.
|
|
171
|
+
summary: Accept Bitcoin Lightning payments in Rails. Your app, your wallet.
|
|
168
172
|
test_files: []
|