Metadata-Version: 2.4
Name: ocyan.plugin.payment_mollie_recurrent
Version: 0.2.0
Summary: Mollie recurring-payment adapter for Ocyan Oscar.
Requires-Python: <3.14,>=3.10
Description-Content-Type: text/x-rst
Requires-Dist: ocyan.core<2,>=1.2.14
Requires-Dist: ocyan.mollie<1.3,>=1.2.7
Requires-Dist: django-oscar<5,>=4.2
Requires-Dist: django-treebeard<6,>=5.3
Requires-Dist: ocyan.plugin.oscar<3,>=2.0.5
Requires-Dist: ocyan.plugin.oscar_checkout<2,>=1.3.3
Requires-Dist: mollie-api-python<5,>=4
Requires-Dist: python-dateutil<3,>=2.8
Provides-Extra: test
Requires-Dist: pytest<10,>=8; extra == "test"
Requires-Dist: responses<1,>=0.25; extra == "test"
Requires-Dist: coverage<8,>=7; extra == "test"
Requires-Dist: black<26,>=24; extra == "test"
Requires-Dist: pylint<4,>=3; extra == "test"
Requires-Dist: pylint-django<3,>=2; extra == "test"
Requires-Dist: isort<7,>=5; extra == "test"
Requires-Dist: vdt.versionplugin.wheel; extra == "test"
Provides-Extra: communications
Requires-Dist: ocyan.plugin.oscar_communications<3,>=2.0.4; extra == "communications"

Ocyan plugin payment_mollie_recurrent
=====================================

About payment_mollie_recurrent
------------------------------
payment_mollie_recurrent

Installation
------------
Add `ocyan.plugin.payment_mollie_recurrent` to your projects dependencies.

This package is the Oscar/Mollie recurring-payment adapter. It owns payment
and subscription lifecycle integration, while Mollie remains the system of
record for payment state. It uses Mollie's current customer-scoped v2
Subscriptions API through ``ocyan.mollie`` and passes deterministic
idempotency keys for subscription creation retries.

The plugin does not store or expose Mollie credentials, perform live calls
during certification, or decide business-specific tax, marketing, or order
automation policy. Configure the API key through the MandelBlog secret/config
boundary. Mollie webhooks must be reachable over HTTPS and are processed by
fetching the current remote object; callers should treat webhook delivery as
retryable and idempotent.

Stable provider contract
------------------------
``MollieRecurrentPayment.create_subscriptions`` resolves the configured
customer and creates a v2 subscription with a stable idempotency key. Payment
and subscription responses are persisted through the existing Oscar models.
The maintained deterministic certification tests mock the shared provider
boundary; no paid Mollie account or customer data is required.

Make sure that your product_classes (product type) have the following fields:
> MOLLIE_TIMES (as integer)
> MOLLIE_INTERVAL (as integer)

Assign the values to those attributes. 
Example
> MOLLIE_TIMES = 12
> MOLLIE_INTERVAL = 1


MOLLIE_TIMES & MOLLIE_INTERVAL
------------------------------
MOLLIE_TIMES: how many times do we need to collect the payment?
MOLLIE_INTERVAL: how long does each time have to wait on the next payment?
For example 4 times every 3 months, starting today.
