=== 0def Pay for WooCommerce ===
Requires at least: 6.0
Requires PHP: 7.4
WC requires at least: 7.0
Stable tag: 1.0.0
License: GPL-2.0-or-later

Take card payments through the 0def Pay gateway. Customers pay on a hosted
checkout page, so no card data ever reaches this site and the shop stays out of
PCI scope.

== Installation ==

1. In WordPress go to Plugins > Add New > Upload Plugin and upload wp-0defpay.zip.
2. Activate "0def Pay for WooCommerce".
3. Go to WooCommerce > Settings > Payments > 0def Pay.
4. Tick "Enable 0def Pay", paste the API key you were issued for this shop and save.
5. Place a test order with a test-mode key and confirm the order reaches Processing.

== How it works ==

1. On checkout the plugin creates a payment intent through the gateway API and
   redirects the customer to the returned hosted checkout page.
2. The customer pays there. Card details are entered inside the payment
   provider's own iframe.
3. The customer comes back to /wc-api/zerodefpay_return/, the plugin reads the
   authoritative status from the API and completes the order.
4. Independently, the gateway calls /wc-api/zerodefpay/ until it answers HTTP
   200, so an order is still completed if the customer closes the browser or the
   payment settles minutes later.

Both endpoints require the order key, and neither trusts anything in the request
itself: the status always comes from a fresh API read, and a payment for less
than the order total leaves the order unpaid with a note for manual review.

== Settings ==

* Title / Description - what the customer sees at checkout.
* Gateway URL - https://pay.0def.com unless you were given another endpoint.
* API key - issued per shop; rotating it in the gateway admin invalidates the old one.
* Payment method - card works everywhere, other methods depend on your routing.
* Status after payment - keep the WooCommerce default unless you need a fixed status.
* Debug log - writes gateway requests to WooCommerce > Status > Logs (source: zerodefpay).
  Customer details are never written to the log.

== Refunds ==

Refunds work from the normal WooCommerce order screen, in full or partially, and
are forwarded to the same payment provider that took the payment.

== Compatibility ==

* Classic shortcode checkout and the Cart/Checkout blocks.
* High-Performance Order Storage (HPOS).

== Changelog ==

= 1.0.0 =
* First release: hosted checkout redirect, return handling, server-to-server
  notifications, refunds, blocks and HPOS support.
