Skip to content

Releases: Setono/SyliusQuickpayPlugin

v2.0.0-alpha.2

v2.0.0-alpha.2 Pre-release
Pre-release

Choose a tag to compare

@loevgaard loevgaard released this 24 Aug 11:03
5244f59

Second pre-release of the 2.0 line. Everything from v2.0.0-alpha.1 plus:

New

  • A doctor command (#131): setono:sylius-quickpay:doctor verifies every configured Quickpay gateway against the Quickpay API — api key, private-key checksum self-test, agreement existence, order-prefix length and cross-gateway uniqueness, and the notify-route registration. --live additionally creates a money-less test payment and probes the payment link PUT permission, catching the classic Not authorized to PUT /payments/:id/link case before a customer does. Non-zero exit on failures, so it can run in CI or cron. See the README's Checking your configuration section.
  • Fraud signals surfaced (#132): a Fraud suspected badge on the admin operation history, an opt-in fraud.block_capture guard that skips the automatic capture on completion for flagged payments (leaving them for manual review — the transition itself proceeds), and a --fraud-suspected report mode on the reconciliation command that asks Quickpay directly for flagged payments across all configured gateways.

Fixed

  • The api-key check no longer rejects locked-down api users (#141): Quickpay answers 401 on /ping both for an invalid key and for a valid key whose api user merely lacks the /ping permission, so the form-save credential check (and the doctor) now verify through a /payments read when the ping is rejected — a valid key always saves; only an explicit rejection on both endpoints counts as invalid.

Install

composer require setono/sylius-quickpay-plugin:^2.0@alpha setono/payum-quickpay:^2.0@RC setono/quickpay-php-sdk:^1.2

Upgrading from 1.x: read UPGRADE-2.0.md. Full changes: v2.0.0-alpha.1...v2.0.0-alpha.2

v2.0.0-alpha.1

v2.0.0-alpha.1 Pre-release
Pre-release

Choose a tag to compare

@loevgaard loevgaard released this 24 Aug 09:17

First pre-release of the 2.0 line — a rebuild of the plugin on setono/payum-quickpay 2.x and the setono/quickpay-php-sdk (PSR-18/17). Suitable for testing; not yet for production.

Install

composer require setono/sylius-quickpay-plugin:^2.0@alpha setono/payum-quickpay:^2.0@RC setono/quickpay-php-sdk:^1.2

Highlights over 1.x

  • Scalar-only payment detailsquickpayPaymentId is the source of truth; the payment is re-fetched from Quickpay when needed, so details never go stale.
  • Capture mode as an explicit choice on the gateway form: on completion (authorize at checkout, capture when the payment completes — the default) or immediately.
  • Hardened callbacks: every callback is HMAC-verified (QuickPay-Checksum-Sha256); store-initiated operations report back on per-payment urls with no configuration; concurrent deliveries for the same payment are serialized with a Symfony lock so a retry can never apply a state change twice (#109).
  • Reconciliation command (setono:sylius-quickpay:reconcile-payments) for payments whose callback never arrived.
  • Admin payment link: copy or email a pay-link for any Quickpay payment still awaiting payment (phone/invoice orders, abandoned checkouts).
  • Live operation history on the admin order view — fetched from Quickpay after page load, never blocking the page.
  • Payment method logos on the checkout, derived from the gateway's payment_methods option (Quickpay token grammar understood; bundled SVGs from Shopify's MIT-licensed payment_icons).
  • API key verified at save — a typo'd key is rejected in the admin form; a Quickpay outage never blocks saving.
  • Both Sylius 1.14 state machine adapters supported (winzou and symfony_workflow).
  • Refunds target Quickpay's balance (what is still captured), so partial refunds made in the Quickpay manager no longer break refunding from Sylius.
  • Translations in 16 locales.
  • Removed: Klarna-specific machinery, the app/config.yaml import, the old apikey/privatekey/agreement option names (stored configs are migrated on load).

Upgrading from 1.x

Read UPGRADE-2.0.md — it covers the gateway configuration keys, removed imports, renamed routes and classes, and the behavioral changes around refunds and callbacks.

Requirements

PHP 8.1+, Symfony ^6.4, Sylius ~1.14. Full changes: v1.5.0...v2.0.0-alpha.1

v1.5.0

Choose a tag to compare

@loevgaard loevgaard released this 05 Jan 12:14

Full Changelog: v1.4.0...v1.5.0

v1.4.0

Choose a tag to compare

@loevgaard loevgaard released this 18 Apr 21:15
8cf1a05

What's Changed

Full Changelog: v1.3.0...v1.4.0

v1.3.0

Choose a tag to compare

@loevgaard loevgaard released this 18 Apr 20:24

Support Symfony 6

v1.2.2

Choose a tag to compare

@loevgaard loevgaard released this 25 Jun 10:29
Remove conflict with proxy-manager, but add it as a dev dep instead b…

v1.2.1

Choose a tag to compare

@loevgaard loevgaard released this 25 Jun 10:23

Widened winzou state machine constraint

v1.2.0

Choose a tag to compare

@loevgaard loevgaard released this 25 Jun 10:06
f2c1210
Merge pull request #35 from Setono/psalm

Added newer code quality tools and fixed psalm errors

v1.1.2

Choose a tag to compare

@loevgaard loevgaard released this 20 Jan 14:52
8d88d20

Fix bug where wrong item price was delivered to Quickpay

New disable_capture option

Choose a tag to compare

@igormukhingmailcom igormukhingmailcom released this 20 Jan 12:36
54ff65d
Merge pull request #23 from Setono/disable-capturing

New config option to disable capturing