Marketplace · Extension
Tebex
Use custom Agovena-priced items with Tebex Checkout.
About this package
What it does
Agovena sends custom order items to Tebex Checkout without a local product-to-package mapping. The payload contains product names, prices, quantities and Agovena metadata. Tebex owns the provider-hosted payment surface and the methods shown to the customer, and Agovena opens it by redirect. Agovena exposes one checkout option, tebex:tebex, with the official Tebex icon-mark SVG.
The extension supports signed webhooks, basket-to-payment reconciliation, full refunds and provider-managed recurring payments for one custom subscription item. It does not collect card details or render a local card form.
Verification status
The extension is production-ready for the documented Agovena integration scope and covered by Agovena's focused provider tests. Tebex Checkout API approval, Sandbox checkout, real webhooks, refunds and recurring lifecycle behavior remain merchant-side operational checks before live customer orders.
Set up the package
Configure project_id, secret secret_key and secret webhook_secret. No product-to-Tebex package mapping is required. The adapter sends each order item through Tebex's custom /checkout endpoint.
Register:
https://store.example/webhooks/payments/tebex
Tebex signs requests with X-Signature. Agovena answers the signed validation.webhook handshake with the original webhook ID, validates signed payment events and keeps duplicate events idempotent.
Boundaries
- Payment methods are selected inside Tebex's provider-hosted checkout. There is no separate global Checkout API discovery endpoint.
- The checkout option is
tebex:tebex; Agovena does not inventtebex:paypal,tebex:cardortebex:idealmethods. - The order currency and exact custom item total must match the local payment. Orders with unsupported tax, shipping, discount, fee or mixed-currency totals are rejected.
- The initial basket identifier is not a refund transaction. Refunds require the verified
tbx-payment transaction. - Recurring checkout requires exactly one subscription item with quantity one, has no supported trial mapping and cannot mix one-time items.
- Cancellation is period-end only until the provider's authoritative recurring webhook confirms the final state.
- Chargebacks remain pending for manual reconciliation and are not fabricated as refunds.
- Refunds are full-only and require the original amount and currency. Partial refunds are rejected.
Failure handling
Unknown checkout and refund outcomes remain in reconciliation state. A retry must not be treated as provider-idempotent until Tebex Sandbox behavior has been verified. Mismatched webhook item data, amount, currency or refund data is deferred instead of being marked successful.