{"id":404508,"date":"2026-11-14T12:59:52","date_gmt":"2026-11-14T12:59:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/caravel-pay-for-woocommerce\/"},"modified":"2026-11-14T21:47:06","modified_gmt":"2026-11-14T21:47:06","slug":"caravel-pay","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/caravel-pay\/","author":23605198,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.5","stable_tag":"1.2.5","tested":"7.1.4","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"Caravel Pay \u2013 Card Payments with USDC Payouts for WooCommerce","header_author":"Caravel Pay","header_description":"Accept card, Apple Pay and Google Pay in WooCommerce and receive USDC on Polygon in your own wallet, minus the 2% Caravel fee.","last_updated":"2026-11-14 21:47:06","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/caravelpay.app\/docs\/woocommerce","header_author_uri":"https:\/\/caravelpay.app","rating":0,"author_block_rating":0,"active_installs":0,"downloads":95,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.1":{"tag":"1.2.1","author":"caravelpay","date":"2026-11-14 12:59:37","revision":3801925},"1.2.2":{"tag":"1.2.2","author":"caravelpay","date":"2026-11-14 13:33:27","revision":3801978},"1.2.5":{"tag":"1.2.5","author":"caravelpay","date":"2026-11-14 21:47:06","revision":3802518}},"upgrade_notice":{"1.2.5":"<p>Optional PayPal and Venmo setting, off by default. Nothing changes until you turn it on.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3801925,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3801925,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3801925,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3801925,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3801925,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.1","1.2.2","1.2.5"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3801925,"resolution":"1","location":"assets","locale":"","width":1280,"height":1000},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3801925,"resolution":"2","location":"assets","locale":"","width":1280,"height":982},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3801925,"resolution":"3","location":"assets","locale":"","width":1280,"height":860},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3801925,"resolution":"4","location":"assets","locale":"","width":1280,"height":960}},"screenshots":{"1":"Settings: paste your Polygon payout wallet and save. The status line shows Connected.","2":"Caravel Pay at checkout, in the Checkout block.","3":"The order-received page updates by itself when the payment is confirmed.","4":"A paid order: the note shows the payout and links to the Polygon transaction."}},"plugin_section":[],"plugin_tags":[11475,21057,34708,6593,209195],"plugin_category":[],"plugin_contributors":[292746],"plugin_business_model":[],"class_list":["post-404508","plugin","type-plugin","status-publish","hentry","plugin_tags-credit-card","plugin_tags-crypto","plugin_tags-high-risk","plugin_tags-payment-gateway","plugin_tags-usdc","plugin_contributors-caravelpay","plugin_committers-caravelpay"],"banners":{"banner":"https:\/\/ps.w.org\/caravel-pay\/assets\/banner-772x250.png?rev=3801925","banner_2x":"https:\/\/ps.w.org\/caravel-pay\/assets\/banner-1544x500.png?rev=3801925","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/caravel-pay\/assets\/icon.svg?rev=3801925","icon":"https:\/\/ps.w.org\/caravel-pay\/assets\/icon.svg?rev=3801925","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/caravel-pay\/assets\/screenshot-1.png?rev=3801925","caption":"Settings: paste your Polygon payout wallet and save. The status line shows Connected."},{"src":"https:\/\/ps.w.org\/caravel-pay\/assets\/screenshot-2.png?rev=3801925","caption":"Caravel Pay at checkout, in the Checkout block."},{"src":"https:\/\/ps.w.org\/caravel-pay\/assets\/screenshot-3.png?rev=3801925","caption":"The order-received page updates by itself when the payment is confirmed."},{"src":"https:\/\/ps.w.org\/caravel-pay\/assets\/screenshot-4.png?rev=3801925","caption":"A paid order: the note shows the payout and links to the Polygon transaction."}],"raw_content":"<!--section=description-->\n<p>Caravel Pay adds a hosted checkout to WooCommerce. Buyers pay by card, Apple Pay or Google Pay (or directly with USDC, USDC.e or POL on Polygon), and each paid order is sent straight to your own Polygon wallet. There is no account to create, no merchant application, no dashboard and nothing to withdraw, which suits stores that card processors call high-risk.<\/p>\n\n<ul>\n<li><strong>Paste your payout wallet and save.<\/strong> The plugin connects your store and keeps its API credentials for you; there is nothing else to copy.<\/li>\n<li><strong>Classic checkout and Checkout block.<\/strong> Works with both, and with High-Performance Order Storage (HPOS).<\/li>\n<li><strong>Orders update themselves<\/strong> from signed webhooks: Processing (or Completed for virtual and downloadable orders) when paid, On hold when underpaid or under review, Cancelled when the checkout expires.<\/li>\n<li><strong>A note on every paid order<\/strong> shows the payout amount, the token and a link to the Polygon transaction.<\/li>\n<li><strong>PayPal and Venmo for US buyers<\/strong> (optional, orders from $25), paid out in PYUSD on Ethereum, never swapped. Buyers can also send from Cash App (US, not New York) or the Revolut app (UK, Norway).<\/li>\n<li><strong>Prices in your own currency.<\/strong> US dollars, euros, pounds and 24 more: the order total is converted to US dollars when the buyer pays, and the buyer is told before paying.<\/li>\n<li><strong>You choose who pays the fees:<\/strong> you (the default), your buyer for the card provider's fee, or your buyer for both fees. Card surcharges are restricted in some countries, so check your local rules before passing fees on.<\/li>\n<li><strong>Moving from the PayGate plugin?<\/strong> \"Import from PayGate plugin\" copies your checkout title, description and icon and shows your PayGate payout wallet. The PayGate plugin is only read, never changed.<\/li>\n<\/ul>\n\n<h4>What it costs<\/h4>\n\n<p>Caravel Pay charges one fee: the 2% Caravel fee on each payment. It is taken from the payment before your payout is sent, and it includes the network gas for the payout. There is no setup fee and no monthly fee.<\/p>\n\n<p>A card payment goes through an independent card provider, which has its own fee. Your buyer pays the order total. Most card providers keep their fee out of that amount before the USDC arrives, so it comes off what you receive. Typically it is about 5%: on a $100 order where the provider keeps $5, 95.00 USDC arrives and you receive 93.00 USDC. Not a guarantee: most card orders so far were between 4% and 6%. Details: https:\/\/caravelpay.app\/pricing\/<\/p>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>A self-hosted WordPress site with WooCommerce, served over HTTPS.<\/li>\n<li>A store currency Caravel Pay supports (see the FAQ).<\/li>\n<li>A Polygon address you control, for payouts.<\/li>\n<\/ul>\n\n<p>Full guide: https:\/\/caravelpay.app\/docs\/woocommerce<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the Caravel Pay API (https:\/\/api.caravelpay.app), a service run by Caravel Pay, to create payments and confirm them. It is required: the plugin can't take payments without it. The plugin sends data only at these moments:<\/p>\n\n<ul>\n<li><strong>When you save the settings for the first time, change the payout wallet, or click Reconnect<\/strong>: your site address, your payout wallet address, your WordPress admin email address (used only for operational notices, never for a login), the platform name (\"woocommerce\") and the plugin version. Caravel Pay answers with a merchant ID and secret, which the plugin stores in your database and never displays. Replaced credentials are kept for 7 days so payments that were already started can still be confirmed.<\/li>\n<li><strong>On the plugin's settings page<\/strong>, and at most every 10 minutes when checkout is shown: a signed request for your connection status (merchant ID only).<\/li>\n<li><strong>When checkout is shown in a store that doesn't price in US dollars<\/strong>, at most every 10 minutes: a signed request for the current exchange rate (merchant ID and your store's currency code only), so the buyer can be shown an estimate in US dollars.<\/li>\n<li><strong>When a buyer places an order with Caravel Pay<\/strong>: the order reference, order total, currency, the buyer's billing email address (to prefill the payment page), and your store's return, cancel and webhook URLs, plus your \"Who pays the fees\" choice and exchange-rate buffer when they aren't the defaults. The buyer is then redirected to the hosted payment page at https:\/\/pay.caravelpay.app, where they enter their payment details with Caravel Pay's card providers. Card details never pass through your site.<\/li>\n<li><strong>When you turn the PayPal and Venmo setting on or off<\/strong>: a signed request with that choice and the Ethereum payout address, if you entered one.<\/li>\n<li><strong>When Caravel Pay sends a webhook to your site, and while the buyer views the order-received page<\/strong>: a signed request for the checkout's current status (checkout ID only).<\/li>\n<\/ul>\n\n<p>Caravel Pay terms of service: https:\/\/caravelpay.app\/terms\/\nCaravel Pay privacy policy: https:\/\/caravelpay.app\/privacy\/<\/p>\n\n<p>No other data is sent, and no code is loaded from outside the plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>In WordPress, go to Plugins \u203a Add New Plugin, search for \"Caravel Pay\" and click Install Now.<\/li>\n<li>Click Activate Plugin. WooCommerce must be installed and active.<\/li>\n<li>Go to WooCommerce \u203a Settings \u203a Payments \u203a Caravel Pay, turn on Enable, paste your Polygon payout wallet, and click Save changes. The status line shows Connected.<\/li>\n<li>Place a cheap test order in a private browser window and pay it.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20account%20with%20caravel%20pay%3F\"><h3>Do I need an account with Caravel Pay?<\/h3><\/dt>\n<dd><p>No. Saving your payout wallet connects the store. The plugin receives its API credentials and keeps them in your WordPress database; there is no login and no dashboard. Your buyers may be asked by the card provider to verify their identity, usually only the first time they buy.<\/p><\/dd>\n<dt id=\"do%20my%20buyers%20need%20crypto%3F\"><h3>Do my buyers need crypto?<\/h3><\/dt>\n<dd><p>No. They pay by card, Apple Pay or Google Pay on a hosted page and return to your order-received page.<\/p><\/dd>\n<dt id=\"can%20buyers%20pay%20with%20paypal%20or%20venmo%3F\"><h3>Can buyers pay with PayPal or Venmo?<\/h3><\/dt>\n<dd><p>Yes, US buyers, once you tick \"PayPal and Venmo (US buyers)\" in the settings. They send PYUSD on Ethereum from the app; you receive it minus the 2% Caravel fee. Use an Ethereum address you control: an exchange deposit address may not credit PYUSD.<\/p><\/dd>\n<dt id=\"can%20a%20payout%20be%20reversed%3F\"><h3>Can a payout be reversed?<\/h3><\/dt>\n<dd><p>No. A payout is an on-chain transfer to your wallet, and nobody can pull it back, so check your wallet address twice. Refunds are yours to send, from your wallet or by another method you agree with your buyer.<\/p><\/dd>\n<dt id=\"caravel%20pay%20doesn%27t%20show%20at%20checkout\"><h3>Caravel Pay doesn't show at checkout<\/h3><\/dt>\n<dd><p>Make sure Enable is on, a payout wallet is saved, the status line on the settings page says Connected, and the store currency is one Caravel Pay supports (the settings page says so if it isn't).<\/p><\/dd>\n<dt id=\"an%20order%20stays%20on%20pending%20payment%20after%20paying\"><h3>An order stays on Pending payment after paying<\/h3><\/dt>\n<dd><p>The webhook is probably not reaching your store. Check that a security plugin, firewall or CDN rule isn't blocking POST requests to \/wp-json\/caravel-pay\/v1\/webhook, that the site isn't in maintenance mode or behind a password, and that your page cache doesn't cache that URL. Every webhook is logged under WooCommerce \u203a Status \u203a Logs (source caravel-pay). Webhooks are retried for up to 24 hours.<\/p><\/dd>\n<dt id=\"the%20status%20line%20says%20%22not%20connected%22\"><h3>The status line says \"Not connected\"<\/h3><\/dt>\n<dd><p>The line shows the reason. Your site address must be a public https:\/\/ address, your server must be able to make outgoing HTTPS requests, and the payout wallet must be a Polygon address you control. Fix the cause, then click Reconnect.<\/p><\/dd>\n<dt id=\"how%20do%20i%20change%20my%20payout%20wallet%3F\"><h3>How do I change my payout wallet?<\/h3><\/dt>\n<dd><p>Enter the new wallet and save. The plugin reconnects your store and receives new credentials: payouts for new orders go to the new wallet, and orders already started keep the previous one.<\/p><\/dd>\n<dt id=\"my%20store%20doesn%27t%20price%20in%20us%20dollars.%20does%20it%20work%3F\"><h3>My store doesn't price in US dollars. Does it work?<\/h3><\/dt>\n<dd><p>Yes. Supported store currencies: USD, EUR, GBP, CAD, AUD, NZD, SEK, NOK, DKK, CHF, PLN, CZK, HUF, RON, HKD, SGD, MXN, BRL, ZAR, ILS, INR, THB, MYR, PHP, TRY, JPY and KRW. Your prices and orders stay in your own currency. When a buyer chooses Caravel Pay, the order total is converted to US dollars at the exchange rate of that moment, and that amount is fixed for the payment: buyers are charged in US dollars and you are paid in USDC. Checkout and the payment page show both prices. The order note records the rate.<\/p><\/dd>\n<dt id=\"what%20is%20the%20exchange-rate%20buffer%3F\"><h3>What is the exchange-rate buffer?<\/h3><\/dt>\n<dd><p>An optional margin (0 to 5%) on the converted amount, for stores that don't price in US dollars. Your USDC is worth a little more or less in your own currency by the time you convert it; a buffer covers that movement. Leave it at 0 to charge the plain converted amount.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>New setting \"PayPal and Venmo (US buyers)\", off by default: you are paid in PYUSD on Ethereum for those orders; PYUSD payout links open Etherscan.<\/li>\n<li>Developers: filter caravel_pay_cancel_expired_order (default: an expired unpaid order is cancelled, as before).<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>New name and tags in the plugin directory.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Settings and readme say exactly what is sent to Caravel Pay.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Stores that price in 26 other currencies can use Caravel Pay; the total is converted to US dollars when the buyer pays. New setting \"Exchange-rate buffer\".<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New setting \"Who pays the fees\" (default: Seller pays everything).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Accept card, Apple Pay and Google Pay in WooCommerce and receive USDC on Polygon in your own wallet, minus the 2% Caravel fee.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/404508","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=404508"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/caravelpay"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=404508"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=404508"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=404508"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=404508"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=404508"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=404508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}