SETUP GUIDE
CoinVoyage for WordPress
Add PayKit and SwapKit to WordPress pages with shortcodes.
Requirements
Your site needs WordPress 6.5+ and PHP 8.1+. A CoinVoyage public API key connects the widgets to your account. Standalone widgets do not require WooCommerce.
Get your CoinVoyage API key
Follow the API key setup guide to create your public API key.
PayKit supports crypto and eligible card payments. SwapKit is for token swaps.
Install the plugin
Download the ZIP. In WordPress, go to Plugins → Add New → Upload Plugin, choose the ZIP, then select Install Now and Activate.
Download WordPress widgetsAdd your public API key
Open Settings → CoinVoyage. Enter your Public API key and save your settings.
If needed, add a WalletConnect project ID for your wallet setup. Standalone widgets use the public API key.
Place a widget on your page
Add a Shortcode block to your page. Use this for SwapKit:
[coinvoyage_swap mode="dark"]Or show PayKit for an existing order:
[coinvoyage_pay order_id="YOUR_EXISTING_ORDER_ID"]Customize the payment button with button_text. This also works with deposit shortcodes; leaving it blank keeps “Pay”.
[coinvoyage_pay order_id="YOUR_EXISTING_ORDER_ID" button_text="Pay now"]Replace the order ID. For store purchases, follow the WooCommerce guide to create an order for every checkout.
Accept a direct deposit instead
For a standalone deposit, set the chain, amount, and recipient:
[coinvoyage_pay chain="1" amount="0.01" address="YOUR_RECIPIENT_ADDRESS"]This is a deposit widget. It does not automatically verify a product purchase.
Customize widget appearance
Open Settings, then CoinVoyage for separate PayKit and SwapKit appearance settings. Set colors and radius, or enter Advanced theme JSON using the SDK properties. Leave fields empty to keep the defaults.
Override settings for one shortcode:
[coinvoyage_swap accent="#d6296f" accent_hover="#b8225f" accent_text="#ffffff" radius="16px"]The theme attribute accepts a JSON object. Advanced values override matching basic controls. Custom colors apply to both light and dark modes; load custom fonts on your site.
[coinvoyage_swap theme='{"surface":"#ffffff","text":"#111827"}']Test your setup
Preview the published page and test the wallets your customers use, including mobile. Make sure any WalletConnect configuration includes your site's origin.
Local integration checks pass; live provider payment and wallet verification are still pending.
Payment options
These controls require integration version 0.1.6 or later. The downloads on this page are version 0.1.7. Update your installed plugin before using these settings.
Open checkout on Pay with card
Open Settings → CoinVoyage → Payment modal. Set Payment method to Pay with card. You can also choose Wallet, Deposit address or Default to keep the normal starting screen.
[coinvoyage_pay order_id="YOUR_EXISTING_ORDER_ID" payment_method="CARD" close_on_success="true" reset_on_success="false"]Shortcode attributes override saved settings for one widget. Boolean attributes accept true/false or 1/0; an empty value restores the SDK default. These settings apply only to PayKit.
Card payments must be enabled and available for your account and order. If unavailable, PayKit shows payment method selection. Choosing a method selects the first screen when the modal opens. Customers still click the payment button to open it. Enable Card payments in the plugin settings.
Close on success closes the modal after payment; Reset on success clears the widget's payment state. Leave Default selected to keep SDK defaults. A new purchase still needs a fresh server-created order; resetting a widget does not create one.
Configure PayKit options and debug mode
Open Settings → CoinVoyage → PayKit provider and enter Provider options JSON. For example:
{"language":"de-DE","hideTooltips":true,"overlayBlur":4}Use Debug mode for SDK diagnostics; leave it off for normal use.
Replace the saved options for one shortcode; an empty object clears inherited provider options:
[coinvoyage_pay order_id="YOUR_EXISTING_ORDER_ID" pay_options='{"language":"de-DE","hideTooltips":true,"overlayBlur":4}' debug_mode="false"]| Option | Value |
|---|---|
language | A supported locale, such as en-US, de-DE or fr-FR. |
hideTooltips, hideQuestionMarkCTA, hideRecentBadge | true or false to hide each UI element. |
walletConnectCTA | "link", "modal" or "both". |
disclaimer | Plain text, or null to clear it. HTML is displayed as text. |
overlayBlur | A finite number of zero or greater. |
optimisticConfirmation | true or false. Browser completion still requires server verification. |
bufferPolyfill | true or false. Leave unset unless you need to control the Buffer polyfill. |
experimentalFeatures.cardPayments | true or false. An explicit card-payments setting takes precedence. |
Omit options to keep SDK defaults. Unknown fields and invalid values are rejected. hideNoWalletCTA is accepted by PayKit but currently has no visible effect. The plugin's Card payments setting takes precedence over experimentalFeatures.cardPayments.