Descrizione
Cleo Payments for WooCommerce integrates Cleo/Sweetpay’s BNPL payment method into your
WooCommerce checkout. It lets your customers pay in 14 days, 30 days, or 3 installments,
without a credit card.
The plugin creates a checkout session with the Cleo API, redirects the customer to complete
payment off-site, and automatically updates the order status in WooCommerce via confirmation
callbacks.
Supported markets and currencies
- Chile — CLP
This version only supports Chile (CLP). The payment method is only enabled when the store’s
configured currency is CLP.
Features
- Test mode and live mode with independent credentials.
- Optional HMAC signature verification for payment confirmation callbacks (see the security
section below). - “Payment Method” column in the admin order list.
Callback security
Payment confirmation callbacks can be verified with an HMAC signature shared with Cleo. This
verification is enabled by default on new installs. Confirm the signature header name and
shared secret for your account with your Cleo integration contact under Settings Cleo
“Enforce Webhook Signature”.
External services
This plugin connects to the Cleo API to offer Buy Now, Pay Later as a payment method at checkout.
It sends order data to Cleo (amount, order items, and the customer’s billing contact/address
details from checkout) when the customer selects Cleo and starts the checkout session. Cleo then
redirects the customer back to your store and sends a payment confirmation callback to update the
order status — no data is sent to Cleo outside of these two moments.
This service is provided by Cleo (Chile): Terms and Conditions,
Privacy Policy.
Installazione
- Upload the plugin folder to
/wp-content/plugins/, or install it from the WordPress admin
(Plugins Add New Upload Plugin). - Activate the plugin from the ‘Plugins’ menu.
- Go to WooCommerce Settings Payments Cleo te fía! to configure your credentials.
- Enter your MerchantID and Auth Token (test or live, depending on the mode) and select your
country. - Enable the payment method.
FAQ
-
Which currencies does Cleo support?
-
CLP. The payment method is automatically hidden if your store’s currency isn’t CLP.
-
How do I test checkout before going live?
-
Enable “Test mode” in the gateway settings and enter your test credentials (Test MerchantID /
Test Auth Token). Test mode transactions don’t process real payments. -
The confirmation callback isn’t updating the order status
-
Check that
https://your-site.com/wc-api/sweetpay_payment_successis publicly reachable (no
firewall/WAF blocking it), and that, if you enabled “Enforce Webhook Signature”, the configured
header and secret match exactly what Cleo sends.
Recensioni
Non ci sono recensioni per questo plugin.
Contributi e sviluppo
“Cleo Payments for WooCommerce” è un software open source. Le persone che hanno contribuito allo sviluppo di questo plugin sono indicate di seguito.
CollaboratoriTraduci “Cleo Payments for WooCommerce” nella tua lingua.
Ti interessa lo sviluppo?
Esplora il codice segui il repository SVN, segui il log delle modifiche tramite RSS.
Changelog
1.1.12
- Added a local fallback for the payment method icon, used automatically if the remote logo
doesn’t load, in both classic checkout and the Cart/Checkout Block. - Adjusted the checkout icon sizing so it reads clearly without stretching the payment row.
- Order notes now include installment details (amounts, due dates) when Cleo confirms a payment.
1.1.11
- Added extra integrity checks so payment confirmation callbacks are verified against the order
before being applied. - Never mark an already-paid order as failed from a late or duplicate Cleo failure callback.
- Enforce webhook signatures by default on new installs.
- Send the order total to Cleo as an integer CLP amount.
- Set
has_fieldsto false (redirect-only checkout, no empty payment box). - Delete
woocommerce_cleo_settings(live/test tokens and webhook secrets) on uninstall.
1.1.10
- Failed checkout now redirects to the same order’s pay page (
order-pay) instead of an empty checkout. - Session-status fallback runs on
woocommerce_before_thankyouso the thank-you page already shows the paid status. - Success/failure callbacks always return HTTP 200 and exit, so Cleo does not retry against a rendered HTML page.
- Paid orders are completed with
payment_complete()only (no manualreduce_order_stock()). - Treat
order_already_paidas success and send the shopper to the thank-you page. - Surface real Cleo API errors (HTTP status, timeout vs
detail/error, invalid phone). - Reject checkouts below the CLP $1.000 minimum before calling the API.
- Title and description are editable in gateway settings.
- Warn in admin when a
sk_test_/sk_live_token does not match Test mode. - Updated the payment method icon URL shown at classic checkout.
- Simplified the Cart/Checkout Block payment method row to a text label (removed the custom icon rendering there).
1.1.8
- Fixed the Chile session-creation endpoint path (
/checkout/v1/sessions). - Added a fallback on the thank-you page (
woocommerce_thankyou): if the payment confirmation
webhook hasn’t arrived yet, the order status is confirmed by querying the session directly. - Updated the payment method icon URL.
1.1.7
- Fixed a fatal error in Store API / Cart-Checkout Block checkout:
process_payment()returned
null on several failure paths (missing credentials, unresolved API host, non-OK API response,
failed request) instead of the array WooCommerce expects, crashingarray_merge()inside
StoreApi\Legacy on PHP 8. - Declared several gateway properties explicitly (
testmode,merchant_id,auth_token,
country_code,api_host, etc.) to remove PHP 8.2+ “dynamic property” deprecation warnings.
1.1.6
- Fixed a packaging issue from the 1.1.4 build that left a stray
require_oncepointing at a
file not included in the release, causing a fatal error onwp-adminright after upgrading.
1.1.4
- Sanitized webhook callback data before storing it in order meta.
- Scoped supported markets to Chile (CLP) only.
- Added the
Requires Plugins: woocommerceheader. - Fixed the
Contributorsfield to match the WordPress.org account. - Documented the Cleo API as an external service, with links to its Terms and Privacy Policy.
1.1.3
- Removed the
Plugin URIheader (was identical toAuthor URI, flagged by the WordPress.org
submission form as an error — both must be different or only one provided).
1.1.2
- Removed a hardcoded fallback API key. The gateway is now disabled at checkout if no real
merchant credentials are configured, instead of falling back to a generic embedded key.
1.1.1
- Renamed the plugin (name and slug) to comply with the WordPress.org trademark policy.
- Removed the unused
i18nclass (load_plugin_textdomain()is discouraged since WP 4.6). - Fixed remaining Plugin Check warnings: unescaped output, missing translators comments,
missing direct-access guards, non-prefixed global function names, and nonce-verification
false positives on webhook callbacks (documented withphpcs:ignore, not worked around with
a fake nonce).
1.1.0
- High-Performance Order Storage (HPOS) compatibility.
- Support for the WooCommerce Cart/Checkout Block.
- Fixed HMAC callback signature verification to match the API’s real format and enabled
sign_callback when creating a session. - Fixed the
Authorizationheader (was missing theBearerprefix). - Deduplication of callbacks retried by Cleo (avoids reprocessing the same confirmation).
- Removed unused code and fixed non-translatable strings.
1.0.0
- Initial integration of Cleo/Sweetpay’s BNPL payment method into WooCommerce.
- Test/live mode support with independent credentials per mode.
- Optional HMAC signature verification for payment confirmation callbacks.