{"id":337011,"date":"2026-08-19T08:23:48","date_gmt":"2026-08-19T08:23:48","guid":{"rendered":"https:\/\/cn.wordpress.org\/plugins\/xcash-for-woocommerce\/"},"modified":"2026-08-19T08:23:16","modified_gmt":"2026-08-19T08:23:16","slug":"xcash-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/xcash-for-woocommerce\/","author":23391618,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.8","stable_tag":"1.0.8","tested":"7.0.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Xcash for WooCommerce","header_author":"Xcash","header_description":"Accept crypto payments via Xcash payment gateway for WooCommerce","assets_banners_color":"","last_updated":"2026-08-19 08:23:16","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/xca.sh","header_plugin_uri":"","header_author_uri":"https:\/\/xca.sh","rating":0,"author_block_rating":0,"active_installs":0,"downloads":39,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.8":{"tag":"1.0.8","author":"xcash","date":"2026-08-19 08:23:16"}},"upgrade_notice":{"1.0.8":"<p>Loads admin scripts and styles through the WordPress enqueue API and keeps admin notices scoped to the Plugins screen.<\/p>","1.0.7":"<p>Shows core Xcash payment details on admin orders.<\/p>","1.0.6":"<p>Removes the obsolete webhook URL display from the gateway settings and changes the default payment duration to 20 minutes.<\/p>","1.0.5":"<p>Adds the configurable gateway URL setting and refreshed Simplified Chinese language files.<\/p>","1.0.4":"<p>Fixes invoice creation against the current Xcash API and aligns the pricing currency with your store currency. Recommended for all users.<\/p>","1.0.3":"<p>Initial release submitted to the WordPress.org plugin directory.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3654146,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3654146,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.8"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[17224,21057,1887,204245,286],"plugin_category":[45],"plugin_contributors":[276446],"plugin_business_model":[],"class_list":["post-337011","plugin","type-plugin","status-publish","hentry","plugin_tags-blockchain","plugin_tags-crypto","plugin_tags-payments","plugin_tags-usdt","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-xcash","plugin_committers-xcash"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/xcash-for-woocommerce\/assets\/icon-128x128.png?rev=3654146","icon_2x":"https:\/\/ps.w.org\/xcash-for-woocommerce\/assets\/icon-256x256.png?rev=3654146","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<h4>Overview<\/h4>\n\n<p>Xcash for WooCommerce enables merchants to accept crypto payments through the Xcash payment gateway. Customers complete payments on Xcash\u2019s hosted checkout while WooCommerce stays in sync via secure webhooks. The gateway works with both classic shortcodes and WooCommerce Checkout Blocks, supports fiat-denominated invoices, and offers bilingual (English\/Chinese) strings out of the box.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Seamless Xcash gateway integration for WooCommerce orders with automatic redirect to the hosted pay_url.<\/li>\n<li>Fiat-denominated invoices (USD, CNY, EUR, JPY, HKD) with Xcash-managed crypto conversion.<\/li>\n<li>Optional JSON-based <code>methods<\/code> filter to limit coin-chain combinations presented to shoppers.<\/li>\n<li>Built-in \u201cTest Configuration\u201d button to validate credentials without placing a live order.<\/li>\n<li>Hardened webhook handler with nonce and per-invoice idempotency plus HMAC-SHA256 signature verification.<\/li>\n<li>Compatible with WooCommerce Checkout Blocks, High-Performance Order Storage (HPOS), and PHP 7.4\u20138+.<\/li>\n<li>Includes English and Simplified Chinese translations for admin and frontend strings.<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<ul>\n<li>WordPress 5.8 or higher.<\/li>\n<li>WooCommerce 5.0 or higher (tested up to WooCommerce 10.9).<\/li>\n<li>PHP 7.4 or higher.<\/li>\n<li>Active Xcash merchant account with App ID and HMAC key.<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Shopper chooses \u201cXcash\u201d during checkout.<\/li>\n<li>The plugin creates an invoice through the Xcash API using a bounded unique WooCommerce order reference as <code>out_no<\/code> and the order's WooCommerce currency as the pricing currency.<\/li>\n<li>Customer is redirected to the Xcash-hosted payment page (<code>pay_url<\/code>) to finalize the crypto transfer.<\/li>\n<li>Xcash notifies the store via webhook once the payment is detected and confirmed.<\/li>\n<li>The order is automatically marked as paid and annotated with invoice\/transaction details.<\/li>\n<\/ol>\n\n<h4>External Service<\/h4>\n\n<p>This plugin connects to Xcash, a cryptocurrency payment gateway, to create hosted crypto checkout invoices and receive payment status notifications. Xcash service information is available at https:\/\/xca.sh, developer documentation is available at https:\/\/docs.xca.sh, the Xcash Terms of Service are available at https:\/\/xca.sh\/terms\/, and the Xcash Privacy Policy is available at https:\/\/xca.sh\/privacy\/.<\/p>\n\n<p>The merchant must create an Xcash account at https:\/\/dash.xca.sh and enter the project App ID and HMAC key in the WooCommerce gateway settings. The gateway URL defaults to https:\/\/pay.xca.sh and can be changed if the merchant runs their own compatible Xcash gateway.<\/p>\n\n<p>When a shopper places an order with this payment method, or when an administrator uses the \u201cTest Configuration\u201d button, the plugin sends a signed HTTP(S) request to the configured Xcash gateway invoice API (<code>https:\/\/pay.xca.sh\/v1\/invoice<\/code> by default). The request includes authentication headers (<code>XC-Appid<\/code>, <code>XC-Nonce<\/code>, <code>XC-Timestamp<\/code>, and <code>XC-Signature<\/code>) and an invoice JSON body containing the WooCommerce order reference (<code>out_no<\/code>), order title, order total amount, pricing currency, invoice duration, the store return URL, the store webhook notification URL, and optional merchant-configured payment method restrictions.<\/p>\n\n<p>After the invoice is created, the shopper is redirected to the hosted Xcash payment URL returned by the service. When Xcash detects and confirms payment, Xcash sends a signed webhook request back to the store. The plugin validates the signature and stores invoice\/payment identifiers and transaction details from the webhook, such as Xcash invoice ID (<code>sys_no<\/code>), merchant order reference (<code>out_no<\/code>), confirmation flag, cryptocurrency, payment amount, pay address, transaction hash, chain, and block number, as WooCommerce order metadata and displays the core fields on the admin order screen.<\/p>\n\n<h4>Gateway Configuration<\/h4>\n\n<ul>\n<li>Navigate to WooCommerce \u2192 Settings \u2192 Payments \u2192 Xcash and enable the gateway.<\/li>\n<li>Set the title\/description displayed to customers.<\/li>\n<li>Enter your Xcash <strong>App ID<\/strong> and <strong>HMAC Key<\/strong> from the Xcash console.<\/li>\n<li>Keep the default gateway URL (<code>https:\/\/pay.xca.sh<\/code>) or change it to your own compatible gateway.<\/li>\n<li>The invoice pricing currency is taken automatically from your WooCommerce store currency, so make sure it is a fiat currency supported by Xcash.<\/li>\n<li>Optionally specify allowed payment methods as JSON \u2014 e.g. <code>{\"USDT\":[\"ethereum\",\"tron\"]}<\/code>.<\/li>\n<li>Adjust the payment duration (5\u201330 minutes, default: 20 minutes) if needed.<\/li>\n<li>Use the \u201cTest Configuration\u201d button to confirm the credentials before going live.<\/li>\n<\/ul>\n\n<h4>Webhook &amp; Security<\/h4>\n\n<ul>\n<li>Webhook endpoint: <code>https:\/\/your-site.com\/?wc-api=xcash_webhook<\/code>.<\/li>\n<li>The plugin sends this endpoint automatically as the invoice-level <code>notify_url<\/code> when creating invoices.<\/li>\n<li>Every webhook is validated by checking the <code>XC-Appid<\/code>, <code>XC-Nonce<\/code>, <code>XC-Timestamp<\/code>, and <code>XC-Signature<\/code> headers.<\/li>\n<li>Nonces are stored as transients and each paid invoice is marked as processed to block replay attempts; the request timestamp is covered by the HMAC signature rather than checked against a fixed time window.<\/li>\n<li>Detailed debug logs are written through WooCommerce\u2019s logging system (<code>wc_get_logger<\/code>).<\/li>\n<\/ul>\n\n<h4>Localization<\/h4>\n\n<ul>\n<li>Text Domain: <code>xcash-for-woocommerce<\/code>.<\/li>\n<li>Domain Path: <code>\/languages<\/code>.<\/li>\n<li>Bundled translations: English (default) and Simplified Chinese.<\/li>\n<\/ul>\n\n<h4>Compatibility<\/h4>\n\n<ul>\n<li>WooCommerce Checkout Blocks integration via <code>Xcash_WC_Gateway_Blocks_Support<\/code>.<\/li>\n<li>Declares compatibility with WooCommerce High-Performance Order Storage (custom order tables).<\/li>\n<li>Supports both shortcode-based and block-based checkout flows.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Download the plugin ZIP or clone the repository.<\/li>\n<li>Upload the <code>xcash-for-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <em>Xcash for WooCommerce<\/em> via <strong>Plugins \u2192 Installed Plugins<\/strong>.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Payments<\/strong>, enable \u201cXcash\u201d, fill in your credentials, and save.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20find%20my%20app%20id%20and%20hmac%20key%3F\"><h3>Where do I find my App ID and HMAC key?<\/h3><\/dt>\n<dd><p>Log in to your Xcash merchant dashboard (https:\/\/dash.xca.sh), open your project, and copy the App ID and HMAC key from the project settings.<\/p><\/dd>\n<dt id=\"why%20does%20the%20%E2%80%9Ctest%20configuration%E2%80%9D%20button%20fail%3F\"><h3>Why does the \u201cTest Configuration\u201d button fail?<\/h3><\/dt>\n<dd><p>Ensure App ID and HMAC key are filled, and that your WooCommerce store currency is a fiat currency supported by Xcash. If you restrict <code>methods<\/code>, confirm the JSON is valid and that the configured payment methods exist in your Xcash project. Check WooCommerce \u2192 Status \u2192 Logs for <code>xcash-for-woocommerce<\/code> entries.<\/p><\/dd>\n<dt id=\"how%20do%20i%20verify%20webhook%20delivery%3F\"><h3>How do I verify webhook delivery?<\/h3><\/dt>\n<dd><p>The plugin sends the store webhook endpoint as invoice-level <code>notify_url<\/code> for each new invoice. Keep Xcash project notifications enabled. Payments will trigger a POST request with the same signature scheme as the API. Successful processing returns <code>ok<\/code>. You can resend failed notifications from the Xcash console.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20woocommerce%20hpos%3F\"><h3>Does the plugin support WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>Yes, the gateway declares compatibility with HPOS\/custom order tables and works on both legacy and HPOS-enabled stores.<\/p><\/dd>\n<dt id=\"is%20there%20chinese%20language%20support%3F\"><h3>Is there Chinese language support?<\/h3><\/dt>\n<dd><p>All strings ship with Simplified Chinese translations (<code>xcash-for-woocommerce-zh_CN.po<\/code> source and <code>xcash-for-woocommerce-zh_CN.mo<\/code> runtime file). WordPress will load the locale automatically when the site language is set to Simplified Chinese; English remains the default for other locales.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Moved the gateway settings \"Test Connection\" script and styles into separate files loaded with wp_enqueue_script()\/wp_enqueue_style() instead of inline markup.<\/li>\n<li>Limited the \"WooCommerce required\" admin notice to the Plugins screen so it no longer appears across the admin dashboard.<\/li>\n<li>Renamed the bundled gateway icon to assets\/images\/xcash-icon.png and removed WordPress.org directory artwork from the plugin package.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<ul>\n<li>Added core Xcash payment details to the WooCommerce admin order screen.<\/li>\n<\/ul>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Removed the read-only webhook URL display from the WooCommerce gateway settings because invoices now send the store callback endpoint as <code>notify_url<\/code> automatically.<\/li>\n<li>Changed the default invoice payment duration to 20 minutes.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Added a configurable Xcash gateway URL setting, defaulting to <code>https:\/\/pay.xca.sh<\/code>.<\/li>\n<li>Refreshed bundled Simplified Chinese translations and included the runtime <code>.mo<\/code> language pack.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Fixed invoice creation failing when the Xcash API returns HTTP 201; both 200 and 201 are now treated as a successful response.<\/li>\n<li>The invoice pricing currency now follows the WooCommerce store currency instead of a separate setting, so the amount and currency always match.<\/li>\n<li>Webhook notifications delivered after a delay (retries) are no longer rejected by a timestamp window; replay protection is preserved via the signed nonce.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Initial release with WooCommerce payment gateway integration for Xcash, webhook handler, credential testing, block-based checkout support, and bilingual strings.<\/li>\n<\/ul>","raw_excerpt":"Accept crypto payments via the Xcash payment gateway directly in WooCommerce with full checkout blocks support.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/337011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=337011"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/xcash"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=337011"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=337011"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=337011"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=337011"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=337011"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=337011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}