@m2c/checkout 0.1.0 → 0.1.2

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
@@ -239,6 +239,7 @@ Rejections are `M2CCheckoutError` with a typed `code`:
239
239
  | `ServiceUnavailable` | transient backend failure (5xx) |
240
240
  | `CheckoutExpired` | the TTL lapsed before launch (backend mode cannot re-mint) |
241
241
  | `Network` | no HTTP response (fetch failure) |
242
+ | `Unknown` | an unexpected response with no specific mapping |
242
243
 
243
244
  `pending_timeout` is **not** an error - it resolves as a terminal result. During
244
245
  polling, transient read failures (rate limit, 5xx, network, a not-yet-visible
@@ -1,4 +1,5 @@
1
1
  export declare const MAX_TRANSACTION_VALUE = 5000000000;
2
+ export declare const MIN_TRANSACTION_VALUE = 0.000001;
2
3
  export declare const UUID_RE: RegExp;
3
4
  /**
4
5
  * UTF-8 byte length. The server measures string limits in bytes (Go `len`), so
package/dist/validate.js CHANGED
@@ -3,6 +3,11 @@ import { M2CCheckoutError } from './errors.js';
3
3
  // contract violation fails client-side with a clear message instead of a
4
4
  // round-trip and a generic 400.
5
5
  export const MAX_TRANSACTION_VALUE = 5000000000;
6
+ // Smallest positive value the server keeps: it rounds major units to micro-units
7
+ // (1e-6) internally, so a positive value below one micro-unit becomes 0 at the
8
+ // storage boundary and is rejected. Mirror that floor instead of taking the
9
+ // round-trip for a generic 400.
10
+ export const MIN_TRANSACTION_VALUE = 0.000001;
6
11
  const MAX_RETURN_URL_BYTES = 2048;
7
12
  const MAX_CHECKOUT_URL_BYTES = 4096;
8
13
  const MAX_DESCRIPTION_BYTES = 256;
@@ -48,6 +53,9 @@ export function assertTransactionValue(value) {
48
53
  if (value <= 0) {
49
54
  throw invalid('transactionValue must be greater than 0');
50
55
  }
56
+ if (value < MIN_TRANSACTION_VALUE) {
57
+ throw invalid(`transactionValue must be at least ${MIN_TRANSACTION_VALUE}`);
58
+ }
51
59
  if (value > MAX_TRANSACTION_VALUE) {
52
60
  throw invalid(`transactionValue must be at most ${MAX_TRANSACTION_VALUE} major units`);
53
61
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@m2c/checkout",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Headless browser checkout SDK for M2C: run an auction, redirect to the winning vendor's hosted checkout, and reflect conversion status.",
5
5
  "type": "module",
6
6
  "engines": {