The payment plugin does not initiate any payment — it receives the returns:
| Provider | Return URL | Action |
|----------|------------|--------|
| Stripe | ?obj=payment.php&order=NUM&session_id=cs_... | Synchronous session verification, marks the order paid if Stripe confirms |
| PayPal | ?obj=payment.php&order=NUM&token=... | Payment capture via Payment::handleCallback('paypal', …) |
| Transfer | ?obj=payment.php&order=NUM | Displays IBAN/BIC + order reference |
| Cheque | ?obj=payment.php&order=NUM | Displays the postal address + payee |
| Cancel | ?obj=payment.php&action=cancel&order=NUM | Restores the cart, redirects to products_checkout.php |
Payment initiation is handled upstream by products_checkout (regular cart), abo_checkout (first subscription) and reabo_checkout (re-subscription).