openreceive 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 +7 -0
- data/README.md +32 -18
- data/lib/openreceive/rates.rb +1 -1
- data/lib/openreceive/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 +16 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2a58066e78b2dd865b470bda546e371dccea7881c47c0b9d6a98476ffc425ce2
|
|
4
|
+
data.tar.gz: 1924a2e38066b8b7e52806850029917093805c998e3cfa8ea37656f62ae5ebd9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f150f29cf3356647ca2e3c1566e63a8824e62a3af6258586422af5a20193c0447855f39fb819870b5f920543e182f63043bb09d73eba36b5a67feeae61098284
|
|
7
|
+
data.tar.gz: 0ee1d97ff42aa3d35587c01f44bad5828511599afe373500c01e1b4e445d78ffef3fd672a88329c0e60d1028cd48d5373831bc2abb5554e8c682a5d18c79c908
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.6 - 2026-09-11
|
|
4
|
+
|
|
5
|
+
Remove obsolete VEF from live price-feed requests, matching the JavaScript,
|
|
6
|
+
Python and PHP engines. Refresh installation and quickstart documentation and
|
|
7
|
+
package metadata. Release in lockstep with the compact checkout and publishing
|
|
8
|
+
fixes in 0.4.6; no Ruby public API change.
|
|
9
|
+
|
|
3
10
|
## 0.4.5 - 2026-09-07
|
|
4
11
|
|
|
5
12
|
Release in lockstep with the Python/PHP publishing workflow fixes and complete
|
data/README.md
CHANGED
|
@@ -1,23 +1,34 @@
|
|
|
1
1
|
# openreceive
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
3
|
+
**Bitcoin Lightning payments for Ruby. Your app, your wallet.**
|
|
4
|
+
|
|
5
|
+
[OpenReceive](https://openreceive.org) helps you accept payments directly into
|
|
6
|
+
a wallet you control. Keep your orders, prices, and fulfillment in your own
|
|
7
|
+
application, with receive-only Nostr Wallet Connect (NWC) connecting your
|
|
8
|
+
server to your wallet.
|
|
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
|
+
This gem is the lightweight Ruby foundation: exact money conversion, exchange
|
|
16
|
+
rates, wallet adapters, and shared settlement rules, with no database
|
|
17
|
+
dependency. Most applications should start with one of the integrations
|
|
18
|
+
built on it:
|
|
19
|
+
|
|
16
20
|
- [`openreceive-rails`](https://rubygems.org/gems/openreceive-rails) — the
|
|
17
|
-
|
|
21
|
+
complete Rails integration, with payment storage in your existing database,
|
|
22
|
+
reconciliation, and three application hooks. [Start with Rails](https://github.com/OpenReceive/openreceive/blob/master/docs/guides/quickstart-rails.md).
|
|
23
|
+
- [`openreceive-server`](https://rubygems.org/gems/openreceive-server) — invoice
|
|
24
|
+
creation, payment checks, and a Rack handler for custom Ruby integrations
|
|
25
|
+
that provide their own payment persistence. [Explore the server gem](https://github.com/OpenReceive/openreceive/blob/master/packages/ruby/openreceive-server/README.md).
|
|
18
26
|
|
|
19
27
|
## Install
|
|
20
28
|
|
|
29
|
+
Requires Ruby 3.2 or later. Choose this gem directly when you need the payment
|
|
30
|
+
primitives rather than a mounted checkout integration.
|
|
31
|
+
|
|
21
32
|
```sh
|
|
22
33
|
gem install openreceive
|
|
23
34
|
```
|
|
@@ -39,6 +50,8 @@ gem "openreceive"
|
|
|
39
50
|
(`OpenReceive::Nwc.normalize_wallet_error`,
|
|
40
51
|
`OpenReceive::Nwc.normalize_transaction`).
|
|
41
52
|
- Settlement-authority rules: what counts as settled, and what never does.
|
|
53
|
+
Settlement requires `settled_at` or state `settled`; a preimage alone does
|
|
54
|
+
not settle a payment.
|
|
42
55
|
- The built-in price feed (`OpenReceive::Rates`): a static provider and the
|
|
43
56
|
cached live feed with primary/fallback failover, fail-closed windows, and
|
|
44
57
|
the shared currency list.
|
|
@@ -49,13 +62,14 @@ gem "openreceive"
|
|
|
49
62
|
(`subscribe_notifications`, forwarded to that gem's
|
|
50
63
|
`subscribe_to_notifications`).
|
|
51
64
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
decisions.
|
|
65
|
+
Money, wallet normalization, and settlement rules are tested against shared
|
|
66
|
+
cross-language vectors in `spec/test-vectors`.
|
|
55
67
|
|
|
56
68
|
## Links
|
|
57
69
|
|
|
58
|
-
-
|
|
70
|
+
- Rails quickstart: [Add checkout to your app](https://github.com/OpenReceive/openreceive/blob/master/docs/guides/quickstart-rails.md)
|
|
71
|
+
- API reference: [Ruby and Rails APIs](https://github.com/OpenReceive/openreceive/blob/master/docs/guides/api-reference.md)
|
|
72
|
+
- Website: <https://openreceive.org>
|
|
59
73
|
- Source: <https://github.com/openreceive/openreceive>
|
|
60
74
|
- Changelog: [CHANGELOG.md](CHANGELOG.md)
|
|
61
75
|
|
data/lib/openreceive/rates.rb
CHANGED
|
@@ -40,7 +40,7 @@ module OpenReceive
|
|
|
40
40
|
# The fixed fiat list both live feeds price Bitcoin against. Hard-coded so
|
|
41
41
|
# the primary and fallback URLs always request the same currencies.
|
|
42
42
|
PRICE_FEED_VS_CURRENCIES =
|
|
43
|
-
"usd,aed,ars,aud,bdt,bhd,bmd,brl,cad,chf,clp,cny,czk,dkk,eur,gbp,gel,hkd,huf,idr,ils,inr,jpy,krw,kwd,lkr,mmk,mxn,myr,ngn,nok,nzd,php,pkr,pln,rub,sar,sek,sgd,thb,try,twd,uah,
|
|
43
|
+
"usd,aed,ars,aud,bdt,bhd,bmd,brl,cad,chf,clp,cny,czk,dkk,eur,gbp,gel,hkd,huf,idr,ils,inr,jpy,krw,kwd,lkr,mmk,mxn,myr,ngn,nok,nzd,php,pkr,pln,rub,sar,sek,sgd,thb,try,twd,uah,vnd,zar"
|
|
44
44
|
|
|
45
45
|
PRICE_FEED_CURRENCIES = PRICE_FEED_VS_CURRENCIES.split(",").freeze
|
|
46
46
|
|
data/lib/openreceive/version.rb
CHANGED
|
@@ -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
|
|
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
|
|
@@ -23,7 +23,19 @@ dependencies:
|
|
|
23
23
|
- - ">="
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: '0'
|
|
26
|
-
description:
|
|
26
|
+
description: |
|
|
27
|
+
Build Bitcoin Lightning payments into your Ruby application with OpenReceive.
|
|
28
|
+
Work with exact money amounts, normalize wallet responses, and apply consistent
|
|
29
|
+
settlement rules while keeping control of your wallet and application.
|
|
30
|
+
|
|
31
|
+
This lightweight core provides money conversion, exchange rates, Nostr Wallet
|
|
32
|
+
Connect (NWC) adapters, and swap-address validation without a database dependency.
|
|
33
|
+
For a complete Rails integration, install openreceive-rails. For a custom Ruby
|
|
34
|
+
or Rack integration, use openreceive-server.
|
|
35
|
+
|
|
36
|
+
OpenReceive integrations support optional swaps from USDT, USDC, SOL, and ETH
|
|
37
|
+
through a configured provider, settling as BTC over Lightning into your wallet.
|
|
38
|
+
Available assets and networks depend on the provider.
|
|
27
39
|
email:
|
|
28
40
|
- info@openreceive.org
|
|
29
41
|
executables: []
|
|
@@ -61,7 +73,7 @@ metadata:
|
|
|
61
73
|
source_code_uri: https://github.com/openreceive/openreceive
|
|
62
74
|
changelog_uri: https://github.com/openreceive/openreceive/blob/master/packages/ruby/openreceive/CHANGELOG.md
|
|
63
75
|
bug_tracker_uri: https://github.com/openreceive/openreceive/issues
|
|
64
|
-
documentation_uri: https://
|
|
76
|
+
documentation_uri: https://github.com/openreceive/openreceive/blob/master/packages/ruby/openreceive/README.md
|
|
65
77
|
rubygems_mfa_required: 'true'
|
|
66
78
|
rdoc_options: []
|
|
67
79
|
require_paths:
|
|
@@ -79,5 +91,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
79
91
|
requirements: []
|
|
80
92
|
rubygems_version: 3.6.9
|
|
81
93
|
specification_version: 4
|
|
82
|
-
summary:
|
|
94
|
+
summary: Bitcoin Lightning payment primitives for Ruby. Your app, your wallet.
|
|
83
95
|
test_files: []
|