@rozoai/checkout 0.1.15 → 0.1.16

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
@@ -430,7 +430,23 @@ rozo-checkout status <rozoPaymentId> --watch --timeout 900 --json # poll every
430
430
  ```
431
431
 
432
432
  Exit 0 means the check itself ran cleanly, not that the invoice settled:
433
- `expired_unfunded` also exits 0. Always read `state`.
433
+ `expired_unfunded` also exits 0. Always read `state`, or the simpler
434
+ `paymentOutcome` and `nextAction` fields.
435
+
436
+ For a yes/no answer, use `receipt`. It exits 0 only when Coinbase itself
437
+ reports the invoice paid (v3 `CAPTURE_SUCCEEDED`), 3 while the payment is in
438
+ flight or unknown, and 1 if the order expired unpaid or needs a human:
439
+
440
+ ```bash
441
+ rozo-checkout receipt <rozoPaymentId> --json | jq '.receipt | .paymentOutcome, .merchantSettlement.status'
442
+ ```
443
+
444
+ It reports your payment, the merchant invoice and service delivery as separate
445
+ layers. Delivery is always `unknown`: Rozo cannot see your OpenRouter credits.
446
+
447
+ With `--send`, the wallet must also hold the chain's fee coin (ETH, BNB, POL or
448
+ SOL). If it does not, the CLI stops with `INSUFFICIENT_GAS` before signing and
449
+ tells you how much is missing; the order is left untouched.
434
450
 
435
451
  **Retrying without paying twice.** Running `pay` again on the same link does
436
452
  not create a second order while its order is open: you get the same order
@@ -498,6 +514,16 @@ The full list of what this refuses to do, and why, is in
498
514
 
499
515
  ## Changelog
500
516
 
517
+ - **0.1.16**: new `receipt` command: one read, exit 0 only when the merchant
518
+ side itself reports the invoice paid (Coinbase v3 `CAPTURE_SUCCEEDED`, v1 usage
519
+ count, or the Bitrefill payout), reported as three layers
520
+ (your payment, merchant invoice, service delivery). `status` adds
521
+ `paymentOutcome`, `nextAction` and `sendWindow`; `nextAction.canSend` is the
522
+ only field that permits paying. With `--send`, the wallet's fee coin (ETH,
523
+ BNB, POL, SOL; on Base including the L1 data fee) is checked before signing:
524
+ `INSUFFICIENT_GAS` says how much is missing and leaves the order untouched.
525
+ Transaction hashes this tool reports are no longer masked; anything inside
526
+ error text still is.
501
527
  - **0.1.15**: corrected guidance after an order expires unpaid. First check
502
528
  your own wallet that nothing was sent to the old deposit and no Lightning
503
529
  payment is pending; if nothing was sent, re-run the same `pay` on the same
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rozoai/checkout",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "type": "module",
5
5
  "description": "Pay OpenRouter, or any Coinbase invoice, with the crypto you already hold: USDT/USDC on Solana, BNB Chain, Ethereum or Polygon, USDC on Base or Stellar, or BTC over Lightning. No Coinbase account.",
6
6
  "license": "MIT",