Purpose
A technical guide for diagnosing and resolving mismatches between payment processes (WooCommerce, iyzico, Stripe, etc.) and the financial Ledger.
π³ Payment & Financial Troubleshooting
Payment errors typically originate from API connections, status mappings, or database locks.
π 1. Common Error Codes & Solutionsβ
HTTP 400 / 401 (Bad Request / Unauthorized)β
- Reason: API keys (Public/Private Key) entered incorrectly, or Test/Live mode mismatch.
- Fix: Confirm the keys and "Operating Mode" from the Rentiva > Payment Settings tab.
HTTP 403 (Access Denied)β
- Reason: The payment provider's IP addresses may be blocked by the server firewall (WAF/Cloudflare).
- Fix: Whitelist the IP ranges of the payment provider (e.g., iyzico, Stripe).
HTTP 500 (Server Error)β
- Reason: A PHP error or database conflict during the callback process.
- Fix: Inspect the
wp-content/debug.logfile and debug errors in theWooCommerceBridge::handle_webhook()method.
π 2. Status Mapping Issuesβ
Payment "Completed" but booking still "Pending"?β
- Check: Ensure the WooCommerce order status is
processingorcompleted. - Technical Detail: Rentiva listens to WooCommerce status hooks (
woocommerce_order_status_changed). If automatic triggering is not occurring, there may be a plugin conflict. - Fix: Perform a manual order update and test whether Rentiva status synchronizes.
π 3. Ledger Inconsistenciesβ
Double-Spending Attemptsβ
- Situation: A payout request appears approved but the balance was not reduced.
- Reason:
AtomicPayoutServicemay have stalled on a transaction lock. - Fix: Verify via SQL whether a record exists in the
mhm_rentiva_ledgertable with the relevantUUID.
Commission Credit Not Created?β
- Reason: The commission engine (
CommissionEngine) only processes bookings incompleted(Trip Ended) status. - Fix: Confirm the booking has genuinely ended and its status is
completed.
π οΈ 4. API Connection Test (Idempotency)β
An idempotency key is used in all API calls:
- Diagnose: The same payment request being sent multiple times is prevented.
- Fix: If you are receiving a callback error, search for the
transaction_idvalue from the payment provider inAdvancedLoggerand check whether there is a duplicate entry.
Checklistβ
- API key validity (Test vs Live).
- Firewall (WAF) blocks.
- Webhook/Callback URL correctness.
- WooCommerce status synchronization.
Changelogβ
| Date | Version | Note |
|---|---|---|
| 23.04.2026 | 4.27.2 | English translation added. |
| 19.03.2026 | 4.21.2 | API error codes, status mapping, and Ledger consistency details added. |