@openreceive/angular 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.
package/README.md CHANGED
@@ -1,6 +1,30 @@
1
1
  # @openreceive/angular
2
2
 
3
- Angular wrapper for the OpenReceive checkout custom element.
3
+ Add Bitcoin Lightning checkout to your Angular app with a standalone
4
+ component. Give it an order reference to show payment choices, QR codes, and
5
+ live payment status. The component wraps the shared OpenReceive custom
6
+ element and fits into your existing checkout page.
7
+
8
+ OpenReceive supports optional swaps from **USDT, USDC, SOL, and ETH** through
9
+ a configured swap provider. The provider converts the payment to **BTC over
10
+ Lightning**, which settles into the merchant's connected wallet. Available
11
+ assets and networks depend on the provider; swaps are optional.
12
+
13
+ Pair this browser package with an OpenReceive server integration. Your server
14
+ authorizes the order, sets the amount, configures swaps, and verifies
15
+ settlement; wallet and provider credentials stay on the server.
16
+
17
+ ## Install
18
+
19
+ Use Node.js 22 or later for package tooling and Angular 17 or later.
20
+
21
+ ```sh
22
+ npm install @openreceive/angular
23
+ ```
24
+
25
+ Follow the [frontend checkout guide](https://github.com/openreceive/openreceive/blob/master/docs/guides/frontend-checkout.md)
26
+ to connect the component to your server routes. Use the server-side payment
27
+ hook to fulfill orders; browser callbacks update the interface.
4
28
 
5
29
  ## Mount
6
30
 
@@ -37,7 +61,7 @@ Angular selector is `openreceive-angular-checkout`, and it renders the
37
61
  Pass `reference` to let the element create the checkout (create mode), or pass a
38
62
  `checkout` snapshot to render one your server already created. Prop names,
39
63
  defaults, and the full surface are shared across the wrappers — see
40
- `docs/internal/wrapper-parity.md` in the repository.
64
+ [frontend checkout guide](https://github.com/openreceive/openreceive/blob/master/docs/guides/frontend-checkout.md).
41
65
 
42
66
  Event handlers (`onCopy`, `onOpenWallet`, `onState`, `onSettled`,
43
67
  `onProviderCopy`, `onStartOver`, `onError`) are `@Input()` props, not Angular
package/dist/README.md CHANGED
@@ -1,6 +1,30 @@
1
1
  # @openreceive/angular
2
2
 
3
- Angular wrapper for the OpenReceive checkout custom element.
3
+ Add Bitcoin Lightning checkout to your Angular app with a standalone
4
+ component. Give it an order reference to show payment choices, QR codes, and
5
+ live payment status. The component wraps the shared OpenReceive custom
6
+ element and fits into your existing checkout page.
7
+
8
+ OpenReceive supports optional swaps from **USDT, USDC, SOL, and ETH** through
9
+ a configured swap provider. The provider converts the payment to **BTC over
10
+ Lightning**, which settles into the merchant's connected wallet. Available
11
+ assets and networks depend on the provider; swaps are optional.
12
+
13
+ Pair this browser package with an OpenReceive server integration. Your server
14
+ authorizes the order, sets the amount, configures swaps, and verifies
15
+ settlement; wallet and provider credentials stay on the server.
16
+
17
+ ## Install
18
+
19
+ Use Node.js 22 or later for package tooling and Angular 17 or later.
20
+
21
+ ```sh
22
+ npm install @openreceive/angular
23
+ ```
24
+
25
+ Follow the [frontend checkout guide](https://github.com/openreceive/openreceive/blob/master/docs/guides/frontend-checkout.md)
26
+ to connect the component to your server routes. Use the server-side payment
27
+ hook to fulfill orders; browser callbacks update the interface.
4
28
 
5
29
  ## Mount
6
30
 
@@ -37,7 +61,7 @@ Angular selector is `openreceive-angular-checkout`, and it renders the
37
61
  Pass `reference` to let the element create the checkout (create mode), or pass a
38
62
  `checkout` snapshot to render one your server already created. Prop names,
39
63
  defaults, and the full surface are shared across the wrappers — see
40
- `docs/internal/wrapper-parity.md` in the repository.
64
+ [frontend checkout guide](https://github.com/openreceive/openreceive/blob/master/docs/guides/frontend-checkout.md).
41
65
 
42
66
  Event handlers (`onCopy`, `onOpenWallet`, `onState`, `onSettled`,
43
67
  `onProviderCopy`, `onStartOver`, `onError`) are `@Input()` props, not Angular
@@ -92,10 +92,10 @@ class ElementBindingsDirective {
92
92
  }
93
93
  return wrapped;
94
94
  }
95
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: ElementBindingsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
96
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.3", type: ElementBindingsDirective, isStandalone: true, selector: "[openreceiveElementBindings]", inputs: { bindings: ["openreceiveElementBindings", "bindings"] }, usesOnChanges: true, ngImport: i0 });
95
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: ElementBindingsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
96
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.1", type: ElementBindingsDirective, isStandalone: true, selector: "[openreceiveElementBindings]", inputs: { bindings: ["openreceiveElementBindings", "bindings"] }, usesOnChanges: true, ngImport: i0 });
97
97
  }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: ElementBindingsDirective, decorators: [{
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: ElementBindingsDirective, decorators: [{
99
99
  type: Directive,
100
100
  args: [{
101
101
  selector: "[openreceiveElementBindings]",
@@ -223,8 +223,8 @@ class CheckoutComponent {
223
223
  };
224
224
  return createWrapperCheckoutShellBinding(this.checkout ?? null, options);
225
225
  }
226
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: CheckoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
227
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.3", type: CheckoutComponent, isStandalone: true, selector: "openreceive-angular-checkout", inputs: { checkout: "checkout", reference: "reference", prefix: "prefix", csrfHeader: "csrfHeader", paymentWizard: "paymentWizard", decodeLinkUrl: "decodeLinkUrl", themeToggle: "themeToggle", defaultTheme: "defaultTheme", storageKey: "storageKey", metadata: "metadata", syncUrl: "syncUrl", resumePathPrefix: "resumePathPrefix", routeReference: "routeReference", resumePaymentHash: "resumePaymentHash", resumable: "resumable", onCopy: "onCopy", onOpenWallet: "onOpenWallet", onState: "onState", onSettled: "onSettled", onProviderCopy: "onProviderCopy", onStartOver: "onStartOver", onError: "onError", options: "options" }, usesOnChanges: true, ngImport: i0, template: `
226
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: CheckoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
227
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.1", type: CheckoutComponent, isStandalone: true, selector: "openreceive-angular-checkout", inputs: { checkout: "checkout", reference: "reference", prefix: "prefix", csrfHeader: "csrfHeader", paymentWizard: "paymentWizard", decodeLinkUrl: "decodeLinkUrl", themeToggle: "themeToggle", defaultTheme: "defaultTheme", storageKey: "storageKey", metadata: "metadata", syncUrl: "syncUrl", resumePathPrefix: "resumePathPrefix", routeReference: "routeReference", resumePaymentHash: "resumePaymentHash", resumable: "resumable", onCopy: "onCopy", onOpenWallet: "onOpenWallet", onState: "onState", onSettled: "onSettled", onProviderCopy: "onProviderCopy", onStartOver: "onStartOver", onError: "onError", options: "options" }, usesOnChanges: true, ngImport: i0, template: `
228
228
  <section [openreceiveElementBindings]="rootBindings">
229
229
  @if (elementsReady && shell; as shell) {
230
230
  @if (shell.themeToggle) {
@@ -237,7 +237,7 @@ class CheckoutComponent {
237
237
  </section>
238
238
  `, isInline: true, dependencies: [{ kind: "directive", type: ElementBindingsDirective, selector: "[openreceiveElementBindings]", inputs: ["openreceiveElementBindings"] }] });
239
239
  }
240
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.3", ngImport: i0, type: CheckoutComponent, decorators: [{
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: CheckoutComponent, decorators: [{
241
241
  type: Component,
242
242
  args: [{
243
243
  selector: "openreceive-angular-checkout",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@openreceive/angular",
3
- "version": "0.4.5",
4
- "description": "Angular wrapper for the OpenReceive checkout custom element.",
3
+ "version": "0.4.6",
4
+ "description": "Angular component for Bitcoin Lightning checkout and optional USDT, USDC, SOL and ETH swaps.",
5
5
  "keywords": [
6
6
  "bitcoin",
7
7
  "lightning",
@@ -20,8 +20,8 @@
20
20
  "module": "./dist/fesm2022/openreceive-angular.mjs",
21
21
  "types": "./dist/types/openreceive-angular.d.ts",
22
22
  "dependencies": {
23
- "@openreceive/browser": "0.4.5",
24
- "@openreceive/elements": "0.4.5"
23
+ "@openreceive/browser": "0.4.6",
24
+ "@openreceive/elements": "0.4.6"
25
25
  },
26
26
  "peerDependencies": {
27
27
  "@angular/core": ">=17.0.0"
@@ -1,6 +1,6 @@
1
1
  # OpenReceive agent directions (BTCPay Server)
2
2
 
3
- These directions describe OpenReceive 0.4.5.
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.5.
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.5.
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.5.
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.5.
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.5.
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.5.
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.5.
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.5.
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.5.
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