=== 3DIS PAYMENT ===
Contributors: 3dis-formation
Tags: payment, stripe, paypal, contact form 7
Requires at least: 6.4
Requires PHP: 7.4
Stable tag: 1.1.0
License: Proprietary commercial distribution

Modular Stripe and PayPal payments for WordPress and Contact Form 7.

== Version 1.1.0 ==

Abonnements Stripe et PayPal, fractionnement, sources de consommation Stripe et raccordement CF7. Guide complet : docs/integration-recurring.txt. Diagnostics de développement désactivés. Le passage en LIVE nécessite une configuration et une recette propres au compte marchand.

Validation : tests locaux, parcours Stripe TEST et PayPal Sandbox, premiers encaissements, remboursements et notifications rejouées. Le deuxième cycle mensuel PayPal et son expiration naturelle restent à observer. Un ancien dossier Sandbox bloqué à la connexion n'a pas de cause établie ; les nouveaux dossiers ont abouti. Aucun paiement réel n'est déclaré testé.

== Contact Form 7 ==

Create a payment profile, note its slug, then insert a named form-tag:

[3dis_payment payment profile:my-profile]

The name "payment" allows Contact Form 7 to associate validation errors with the correct component. Each component is scoped to its closest form.

Fixed profiles resolve their amount from the server profile. Dynamic profiles map the configured CSS class to exactly one CF7 form-tag and parse the submitted field value. CF7 signs that validated value before payment creation. A readonly browser field alone is not an authoritative anti-tampering control; sites with a server-side business source should use the `threedis_payment_validate_dynamic_amount` filter to replace or reject the submitted amount.

== Webhooks ==

Stripe: /wp-json/3dis-payment/v1/webhooks/stripe
PayPal: /wp-json/3dis-payment/v1/webhooks/paypal

Configure only test/sandbox credentials during development.

Stripe dev.17 uses deferred Elements with ConfirmationToken. Rendering the card
and wallet controls does not create a PaymentIntent. A valid CF7 submission is
required before the server creates and confirms a Stripe TEST PaymentIntent.

== Licence development integration ==

Dev.17 targets the central 3DIS License Platform gateway hosted by
www.3dis-development.com. An existing saved gateway URL remains available as
an explicit development/preproduction override. Signed RS256 responses are
verified before local state changes. No unsigned offline
grace is invented: starting an actual new payment requires a successful online
signed licence check. Trial licences provide the same payment environments as paid licences for 15 days.

== Legacy compatibility ==

When Mini Stripe Class Pay is inactive, the legacy [stripe_class_pay] shortcode can render a selected compatibility profile. Existing secrets are never imported automatically.

Documentation des webhooks Stripe (configuration, événements, secret TEST,
vérification et dépannage) : docs/stripe-webhooks.txt.
