Cryptoverse - Guichet de Paiement en Monnaie Crypto [BTC, LTC, ETH]

Cryptoverse - Guichet de Paiement en Monnaie Crypto [BTC, LTC, ETH] 3.1.4

Vous n'avez pas l'autorisation de télécharger
This is a critical update. Please upgrade immediately. Under 3.1.3, valid crypto payments were not being confirmed. 3.1.4 fixes the webhook pipeline end-to-end.

🔴 Critical fixes
  • Corrected the webhook/callback URL shown on the payment profile. It previously pointed at the admin router (admin.php?payment_callback…), so webhooks never reached XenForo and payments never completed. It now shows the correct https://<board>/payment_callback.php?_xfProvider=Crypoverse.
  • Replaced HMAC validation with UUID-based authentication. Crypoverse webhooks aren't HMAC-signed, so the 3.1.3 check rejected every real webhook. Each webhook is now matched to a pending purchase request by its unguessable UUID, with the amount always taken from that request, never the webhook, so a forged webhook can't alter it.
  • Fixed a fatal TypeError on the callback endpoint ($logDetails was passed as null). Affected XF 2.0–2.3.
  • Opening the callback URL directly in a browser now returns a friendly notice instead of logging an error.
🐛 Logging & reliability
  • Incoming webhook receipts now appear in the Payment Provider Log (not just initiations); routine receipts no longer spam the server error log.
  • Payment amount is now taken from the purchase request, removing a brittle fiat amount-mismatch check that could falsely reject non-USD payments.
  • Fixed the underpaid handler crashing on PHP 8.
  • Fixed local transaction audit rows never saving (column-mapping fix).
  • Fixed the payment status page lookup to match the stored metadata format.
Upgrade notes: Upload the package and run the upgrade from the Admin CP (no config changes required). After upgrading, open your Crypoverse payment profile and confirm the displayed webhook URL now ends in payment_callback.php?_xfProvider=Crypoverse, and that it matches the URL set in your Crypoverse dashboard.
### 🔴 **FINAL FIX: "Rebuild" vs "Upgrade" Issue - ROOT CAUSE RESOLVED!**

**Issue #10: XenForo Shows Wrong Version After Installation** - **FIXED ✅**
- **Root Cause**: Conflicting version sources and incorrect addon structure
- **Analysis**: Researched XenForo 2.x addon best practices and modern standards
- **Discovery**: XenForo works correctly with ONLY addon.json for version control

### What Was Wrong:
1. ❌ Had build.json (unnecessary file causing conflicts)
2. ❌ Had _data/addon_info.xml (not required for XenForo 2.x)
3. ❌ Had two hashes.json files (circular reference issue)
4. ❌ Used MD5 hashes (outdated)
5. ❌ Hash paths were relative to addon folder (incorrect)
6. ❌ Circular reference causing infinite hash changes

### The Fix (v3.1.2):
1. **DELETED**: build.json (conflicting version source)
2. **DELETED**: _data/addon_info.xml (not needed for XenForo 2)
3. **DELETED**: _data/hashes.json (circular reference issue)
4. **UPDATED**: hashes.json to use SHA-256 instead of MD5
5. **UPDATED**: Hash paths to be ZIP-relative: `src/addons/Crypoverseaddon/CryptoPayment/...`
6. **VERIFIED**: addon.json is now the SOLE source of version information
7. **CLEANED**: Removed all debug code from Setup.php
8. **FIXED**: Option phrases now display correctly (used dots instead of underscores)
### CRITICAL FIXES

**Issue #5: Invalid XenForo Archive Structure (NEW)**
- **Fixed** - Corrected ZIP archive structure to start with `CryptoPayment/` folder at root
- **Cause** - Previous ZIPs had incorrect structure: `upload/src/addons/Crypoverseaddon/CryptoPayment/`
- **Impact** - ZIP now uploads successfully, no more "File does not appear to be a valid add-on archive" error
- **Critical** - Without this fix, XenForo rejects the ZIP file completely

**Issue #4: Addon Not Upgrading (Shows "Rebuild" Instead of "Upgrade")**
- **Fixed** - Updated version in `_data/addon_info.xml` and corrected XML attribute order
- **Cause** - XenForo uses addon_info.xml (not just addon.json) to detect version during upgrade
- **Impact** - Addon now properly upgrades from 2.5.1/3.0.4 to 3.0.7 without requiring "Overwrite files" option
- **Critical** - Without this fix, users were stuck on old versions even after "upgrading"
- **Details** - Ensured version_id attribute comes before version_string in XML

**Issue #1: Missing hashes.json File Health Check Error**
- **Fixed** - Copied hashes.json from `_data/` folder to addon root folder
- **Cause** - XenForo expects hashes.json in addon root, not in _data subfolder
- **Impact** - File health check now works correctly in XenForo Admin CP

**Issue #2: MySQL Error with Emoji Characters in phrases.xml**
- **Fixed** - Removed all emoji characters from phrases.xml that caused MySQL utf8mb4 errors
- **Error** - `Incorrect string value: '\xF0\x9F\x93\x9A <...' for column 'phrase_text'`
- **Impact** - Addon installation/upgrade now completes without MySQL errors
- **Changed Phrases**:
- `option_group_cryptoPayment_explain` - Removed 📚, 🔌, 💬 emojis
- `enter_api_key_from_crypto_platform` - Removed ⚠️, 📚, 💬 emojis

**Issue #3: Undefined Constant CallbackState:😛AYMENT_CANCELLED**
- **Fixed** - Removed usage of non-existent XenForo constants
- **Error** - `Undefined constant XF\Payment\CallbackState:😛AYMENT_CANCELLED`
- **Root Cause** - XenForo 2 only has 3 constants: PAYMENT_RECEIVED, PAYMENT_REINSTATED, PAYMENT_REVERSED
- **Impact** - Webhook callbacks now process correctly without fatal errors
- **Files Modified**:
- `Payment/CryptoProvider.php` (lines 634, 641, 837, 868, 875, 887)
- `Controller/CryptoPayment.php` (lines 135-138)
- `Controller/PaymentReturn.php` (lines 70-100)
no change log for this version
Retour
Haut