Skip to content

v0.18.0

Choose a tag to compare

@tomtom87 tomtom87 released this 07 Oct 09:04
· 44 commits to main since this release

portage orders reconcile can now settle a checkout the shopper paid in their browser on four of the five adapter stores, and it works against native UCP stores again. A store that escalates its checkout can now go through require_approval too. None of the adapters' platform order lookups has been tried against a live store yet.

  • portage-ucp 0.13.0.
    • Added: Support::CheckoutState can ask the platform about a checkout this process doesn't track. An adapter can define a private platform_checkout_order(checkout_id) that returns the order its platform placed from that checkout. When there's no record of the checkout in this process, the status is then completed, #checkout_order returns the order confirmation, and #checkout_from_platform_order rebuilds the checkout from the order if the platform has already dropped the cart. If there's no order, no hook or a failed lookup, the status stays incomplete, as before. The Adapter contract is unchanged.
  • Adapter gems: a checkout paid in the browser reads as completed from a new process. Each one now requires portage-ucp ~> 0.13.
    • portage-ucp-bigcommerce 0.2.1: v2 orders filtered by cart_id, paid statuses only.
    • portage-ucp-magento 0.2.1: guest cart → quote_id → admin order search, processing, complete or closed only. Needs admin_token. A cart that 404s with no order now returns nil instead of raising ApiError.
    • portage-ucp-wix 0.2.1: Search Orders on checkoutId, status: APPROVED only.
    • portage-ucp-shopify 0.6.1: Admin orders(query: "cart_token:…"). Needs the Admin token.
    • WooCommerce can't do this. When the shopper pays in the browser, the cart moves into a new session, and nothing on the order points back to it. Those hand-offs stay pending, so portage-ucp-woocommerce stays at 0.3.0.
  • portage-cli 0.13.1.
    • Fix: orders reconcile and buy --wait can read a native UCP checkout again. Reconcile left out the agent profile, so every real UCP store rejected the call and a pending hand-off never settled. It now sends the same profile buy does.
    • Fix: a store that escalates its checkout can be approved and reconciled under require_approval. Before, a dry run reported it as requires_escalation and saved no quote, so there was nothing to approve. Now a dry run reports dry_run with handoff_expected: true. The gated run then returns needs_approval, and the hand-off from the approved run is recorded for reconcile.
    • Keeps portage-ucp ~> 0.11.

Known gaps: a checkout rebuilt from an order has no links. On BigCommerce, Magento and the Shopify adapter, the order snapshot that reconcile saves has a blank checkout_id.

portage-ucp-client, -journal, -decision, -webmcp, -etsy, -instagram and -woocommerce stay where they were. The buy and OpenClaw plugins didn't change and stay at 0.10.5.