| 开发者 | b2brouter |
|---|---|
| 更新时间 | 2026年6月1日 20:58 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | MIT |
| 版权网址: | 版权信息 |
Yes. The plugin requires an active B2Brouter eDocExchange subscription. Sign up at app.b2brouter.net and obtain an API key under Developers → API Keys.
Authority-specific configuration (certificates, tokens, identifiers) is managed in your B2Brouter dashboard, not in the WordPress plugin UI. Once your dashboard is configured, the plugin transparently sends invoices through the appropriate regime.
Yes. Beyond the explicitly supported compliance regimes, the plugin generates standard electronic invoices (UBL, Facturae, Peppol) for the rest of the EU, the UK and other jurisdictions supported by B2Brouter. Need explicit compliance for another country? Open an issue.
Yes. The plugin declares full compatibility with WooCommerce HPOS / Custom Order Tables.
Enable webhooks under Invoices → Settings → Webhook Configuration. Copy the auto-generated webhook URL into your B2Brouter dashboard (Developers → Webhooks), then paste the generated webhook secret back into WordPress. Updates arrive in under one second; a 6-hour fallback poll keeps things reliable.
Yes, automatically. It works with both classic shortcode-based checkout and the new block-based checkout (WooCommerce 8.6+). The value is stored in _billing_tin on the order and on the customer profile for reuse.
Credit notes are generated on demand for WooCommerce refunds when the parent order has an invoice. They follow the country-specific format (e.g. Spanish rectifying invoices) and are accessible from the order admin and from the customer's My Account page.
Yes. The plugin ships with a PHPUnit test suite. See docs/DEVELOPER_GUIDE.md in the repository for instructions.
_-prefixed) meta stays hidden and values already in the product name aren't duplicated.2026-04-20. The plugin's refund / credit-note payload migrates from the flat top-level amend fields to the new structured invoice_references[] array. Resolves a long-standing latent bug along the way: the refund reason was being emitted as amended_reason (extra d), which no API version has ever accepted — Rails strong-params had been silently dropping it on every release. The new payload places the reason inside the reference object, so the refund reason now actually reaches the backend.User-Agent header via the SDK's app_info option, making plugin-originated calls distinguishable from raw SDK calls in B2Brouter's server logs._b2brouter_* namespace on orders or refunds. Reported privately and coordinated with Really Simple Plugins; huge thanks to their team..env.example, the package's own tests/, docs/, examples/, .github/, phpunit.xml.dist, CHANGELOG.md, README.md). Surfaced by the WordPress.org Plugin Review Team.Requires Plugins: woocommerce header (WordPress 6.5+). Older WordPress versions ignore the header and fall back to the existing PHP-side dependency check.Plugin URI and Author URI were both set to the same value; Plugin URI now points at the WooCommerce integration documentation (https://www.b2brouter.net/docs/#/en/integration/woocommerce) so the two URIs are distinct, as required by the WordPress.org submission validator.wp_postmeta access remains).
Added:
== External Services == disclosure section listing the B2Brouter API endpoint, data sent/received, transmission triggers, and links to Terms and Privacy Policy.build-release.sh: the release ZIP is rejected if readme.txt, uninstall.php, or the bundled SDK is missing.b2brouter-woocommerce to b2brouter-for-woocommerce for WordPress.org trademark compliance. The user-facing plugin name is unchanged; PHP constants, option keys, and extension hooks are preserved for compatibility.B2BROUTER_API_BASE constant.2026-03-02). API-key validation now uses the SDK's new AccountService.WP_Filesystem API.wp_date() for timezone-stable formatting.esc_html__, esc_html, wp_kses_post, (int) casts).$_POST / $_GET / $_REQUEST) go through wp_unslash() before sanitization; nonce verification uses the canonical check_admin_referer() pattern.sanitize_callback (strict whitelist for invoice mode).wp_postmeta directly and silently missed orders on HPOS-only stores..pot template.uninstall.php cleans up b2brouter_* options, sync timestamps and cached PDFs when the plugin is deleted.error_log() with wc_get_logger(). Plugin messages now appear under WooCommerce → Status → Logs (source b2brouter-for-woocommerce)._b2brouter_invoice_date now parsed in the site timezone.issued_invoice.state_change events; 5-minute timestamp window).CHANGELOG.md in the repository.