{"id":248462,"date":"2025-12-19T08:33:31","date_gmt":"2025-12-19T08:33:31","guid":{"rendered":"https:\/\/de.wordpress.org\/plugins\/ledger-direct\/"},"modified":"2026-09-07T12:08:08","modified_gmt":"2026-09-07T12:08:08","slug":"ledger-direct","status":"publish","type":"plugin","link":"https:\/\/ro.wordpress.org\/plugins\/ledger-direct\/","author":21144425,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1.1","requires":"6.7","requires_php":"8.2","requires_plugins":null,"header_name":"Ledger Direct","header_author":"Alexander Busse | Hardcastle Technologies","header_description":"A XRP Ledger integration.","assets_banners_color":"","last_updated":"2026-09-07 12:08:08","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/ledger-direct\/ledger-direct-woocommerce","header_author_uri":"https:\/\/www.ledger-direct.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":401,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"0.10.1":{"tag":"0.10.1","author":"ledgerdirect","date":"2025-12-19 08:56:01","revision":3423482},"0.11.0":{"tag":"0.11.0","author":"ledgerdirect","date":"2026-09-07 09:12:55","revision":3684523},"1.0.0":{"tag":"1.0.0","author":"ledgerdirect","date":"2026-09-07 10:08:34","revision":3684631},"1.1.0":{"tag":"1.1.0","author":"ledgerdirect","date":"2026-09-07 12:08:08","revision":3684823}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.10.1","0.11.0","1.0.0","1.1.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[252490,209195,286,164158,252489],"plugin_category":[45],"plugin_contributors":[252492,252491],"plugin_business_model":[],"class_list":["post-248462","plugin","type-plugin","status-publish","hentry","plugin_tags-rlusd","plugin_tags-usdc","plugin_tags-woocommerce","plugin_tags-xrp","plugin_tags-xrpl","plugin_category-ecommerce","plugin_contributors-alexanderbuzz","plugin_contributors-ledgerdirect","plugin_committers-ledgerdirect"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/ledger-direct.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>LedgerDirect is a WordPress plugin that allows you to accept direct payments in XRP, USDC, and RLUSD on the XRP Ledger. It provides a seamless integration with WooCommerce, enabling merchants to receive payments directly in their XRP Ledger accounts without the need for intermediaries.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Accept payments in XRP, USDC and RLUSD.<\/li>\n<li>Receive payments directly to your wallet without any intermediaries.<\/li>\n<\/ul>\n\n<h4>How do I know if my XRP account is setup correctly?<\/h4>\n\n<p>The best way is to configure the plugin to use the testnet and make a test payment.<\/p>\n\n<h3>Test Payments<\/h3>\n\n<p>To test the plugin, you can configure it to use the XRP Ledger Testnet. This allows you to simulate transactions without using real funds. Follow these steps:\n1. Go to the plugin settings in WooCommerce.\n2. Enable the Testnet mode.\n3. Use a XRP Ledger test account to make test payments.\n5. You can create test account from https:\/\/xrpl.org\/xrp-testnet-faucet.html for XRP or https:\/\/tryrlusd.com\/ for RLUSD.<\/p>\n\n<h3>External services<\/h3>\n\n<p>LedgerDirect uses public APIs from Coinbase, Coingecko, Binance, and Kraken to retrieve current cryptocurrency exchange rates. These rates are needed to correctly calculate and display payments.<\/p>\n\n<p>No personal or payment data is sent to these services. Only requests for current rates are made when a payment is processed or displayed.<\/p>\n\n<p>For more information about each service, see:\n- Coinbase API: <a href=\"https:\/\/www.coinbase.com\/legal\/user_agreement\">Terms of Service<\/a>, <a href=\"https:\/\/www.coinbase.com\/legal\/privacy\">Privacy Policy<\/a>\n- Coingecko API: <a href=\"https:\/\/www.coingecko.com\/en\/terms\">Terms of Service<\/a>, <a href=\"https:\/\/www.coingecko.com\/en\/privacy\">Privacy Policy<\/a>\n- Binance API: <a href=\"https:\/\/www.binance.com\/en\/terms\">Terms of Use<\/a>, <a href=\"https:\/\/www.binance.com\/en\/privacy\">Privacy Policy<\/a>\n- Kraken API: <a href=\"https:\/\/www.kraken.com\/legal\">Terms of Service<\/a>, <a href=\"https:\/\/www.kraken.com\/privacy\">Privacy Policy<\/a><\/p>\n\n<h3>Source Code of minified assets<\/h3>\n\n<p>LedgerDirect uses minified assets for the WooCommerce blocks checkout. The source for includes\/assets\/js\/frontend\/blocks.asset.js is available at https:\/\/github.com\/ledger-direct\/ledger-direct-woocommerce\/blob\/main\/resources\/js\/frontend\/index.js.<\/p>\n\n<p>LedgerDirect uses minified assets from third party libraries. The source for the QR code library (jquery-qrcode.min.js) is available at https:\/\/github.com\/jeromeetienne\/jquery-qrcode.<\/p>\n\n<!--section=installation-->\n<h4>Minimum Requirements<\/h4>\n\n<ul>\n<li>PHP version 8.2 or greater<\/li>\n<li>WordPress 6.7 or greater<\/li>\n<li>WooCommerce 8.6.1 or greater<\/li>\n<\/ul>\n\n<h4>Automatic installation<\/h4>\n\n<ol>\n<li>Search for LedgerDirect plugin in the plugin section of your admin panel.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to WooCommerce -&gt; Settings -&gt; Payments and enable the LedgerDirect gateway to manage the plugin settings.<\/li>\n<li>Configure the plugin settings, including your XRP Ledger account details and the currencies you want to<\/li>\n<\/ol>\n\n<h4>Manual installation<\/h4>\n\n<ol>\n<li>Clone the repo from https:\/\/github.com\/ledger-direct\/ledger-direct-woocommerce into the 'plugins' directory.<\/li>\n<li>Run 'composer install --no-dev --no-scripts --optimize-autoloader' to install the composer dependencies.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to WooCommerce -&gt; Settings -&gt; Payments and enable the LedgerDirect gateway to manage the plugin settings.<\/li>\n<li>Configure the plugin settings, including your XRP Ledger account details and the currencies you want to accept.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Core 0.4: the sync cursor is now kept per receiving account and network. A mainnet transaction can no longer stall the testnet sync, and a testnet reset no longer requires cleaning the database - the plugin resyncs on its own.<\/li>\n<li>Core 0.3: when several transactions carry the same destination tag, the newest one in the quoted asset is used. A stray payment in another asset no longer blocks settlement of the real one.<\/li>\n<li>Database schema version 3: <code>network<\/code> column on the transactions table, backfilled from the CTID; migrates automatically on the first request after the update.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>The plugin is now an adapter over the shared <code>hardcastle\/ledger-direct-core<\/code> library, so prices, exchange rates, destination tags, transaction sync and the settlement decision are identical across all LedgerDirect plugins.<\/li>\n<li>Fix: XRP payments were only accepted when the delivered amount was at or below the requested amount. Overpayment now settles, and a shortfall of up to 0.15 % is tolerated, as in every other LedgerDirect plugin.<\/li>\n<li>Fix: stablecoin payments were compared as raw arrays; a payment from another issuer is now always rejected and an overpayment accepted.<\/li>\n<li>Fix: the RLUSD and USDC switches were wired to the wrong asset depending on the network.<\/li>\n<li>Fix: the quote expiry setting was ignored (every quote lasted 15 hours). Quotes now expire as configured and are refreshed in place on the payment page, keeping the same destination tag.<\/li>\n<li>New: orders are settled in the background every five minutes via Action Scheduler, so a customer who closes the payment page still gets their order marked paid.<\/li>\n<li>New: the payment page shows how much of the requested amount has arrived and what is still missing.<\/li>\n<li>New: exchange rates are cached briefly (60 s) so a checkout render no longer waits for three price oracles.<\/li>\n<li>Database schema version 2: numeric ledger index, per-account destination-tag counter; migrates automatically on the first request after the update.<\/li>\n<li>Requires PHP 8.2.<\/li>\n<\/ul>\n\n<h4>0.11.0<\/h4>\n\n<ul>\n<li>Fix: the destination-tag table existed under three different names across install.php and XrplTxService, so reserved destination tags were silently never persisted on fresh installs. Unified to <code>ledger_direct_xrpl_destination_tag<\/code>, with an automatic upgrade routine for existing installs.<\/li>\n<li>Fix: add a unique constraint on the transactions table's <code>hash<\/code> column to enforce deduplication at the database level.<\/li>\n<li>Fix: KrakenOracle only ever returned a price for the XRP\/USD pair (it read a hardcoded response key); it now reads any pair generically.<\/li>\n<li>Fix: price oracle failures are now logged instead of silently discarded, to make pricing issues diagnosable.<\/li>\n<li>Fix: the \"change payment method\" AJAX action always failed due to a typo reading the wrong POST field.<\/li>\n<li>Add: order pricing metadata now includes <code>base_asset<\/code> and <code>quote_currency<\/code> fields alongside the existing <code>pairing<\/code>\/<code>exchange_rate<\/code>\/<code>amount_requested<\/code>.<\/li>\n<li>Remove: the unused, always-returns-zero RippleOracle.<\/li>\n<li>Internal: added automated tests, a CI pipeline (lint, coding standards, static analysis, PHPUnit, WordPress Plugin Check), and a WordPress.org SVN release workflow.<\/li>\n<\/ul>","raw_excerpt":"Accept XRP, EUR, USD directly on the XRP Ledger, using LedgerDirect!","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/248462","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=248462"}],"author":[{"embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ledgerdirect"}],"wp:attachment":[{"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=248462"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=248462"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=248462"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=248462"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=248462"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ro.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=248462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}