Skip to content

Record completed Shopify payments and refunds - #6

Merged
mpge merged 6 commits into
mainfrom
feat/payment-records
Oct 23, 2026
Merged

mpge merged 6 commits into
mainfrom
feat/payment-records

Conversation

@mpge

@mpge mpge commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

TL;DR: Adds optional one-way records of completed Shopify payments and refunds to Inventoros' payment ledger, with transaction IDs preventing duplicates. It does not charge or refund customers.

Successful sales/captures and refunds use the audited core import API; pending/failed transactions and authorizations create no receipts. Currencies must match, active manual entries require reconciliation, voids stay voided, and refunds cannot exceed recorded receipts. Historical/cancelled orders are supported without stock changes or historical payment announcements. Current-order announcements wait until the complete order, ledger and mapping commit. Refund webhooks refresh the complete transaction snapshot; histories beyond 100 transactions or incomplete responses stop for manual review.

Off by default. Requires Inventoros/Inventoros#305 for payment imports; older cores retain the existing sync features and show an upgrade hint. Enabling the option retests the connection and registers refund notifications.

Stacked on #5; merge #3, #4 and #5 first. Merge core Inventoros/Inventoros#305 before enabling payments. The setup guide, release version and changelog are updated.

Validation: the complete combined stack passes 150 tests / 857 assertions on PostgreSQL. The MySQL suite passes 149 tests / 856 assertions, with the final token-renewal regression also passing separately (6 authentication tests / 30 assertions). The final combined shipment/import stack passes 162 tests / 900 assertions on SQLite, including console-handler compatibility. Both 1.3.0 and 1.4.0 release ZIPs install, activate, reactivate and uninstall through the real installer in an isolated database. Runtime UI builds pass. Requests use fakes; no live store was changed.

GitHub-hosted CI cannot start because GitHub reports failed account payments or a spending-limit restriction. No build steps ran; local checks above cover the changes.

@mpge
mpge changed the base branch from feat/historical-orders to main October 23, 2026 15:46
@mpge
mpge merged commit 8f32bc0 into main Oct 23, 2026
4 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant