dragonbe/vies
PHP Composer package to validate EU VAT numbers via the European Commission VIES SOAP service. Returns country code, VAT number, request date, validity, and (when available) registered company name and address. GDPR-friendly: no data stored by the package.
Http facade and Eloquent persists.vat_validations table.Http::fake()) and integration tests remain viable. New edge cases (e.g., CY tax numbers starting with 6) should be added to test suites.| Risk | Mitigation Strategy | Update for 2.3.2 |
|---|---|---|
| VIES API Downtime | Fallback to cached/offline validation. | New: Monitor for "147 heartbeat" issues (PR #149); add health checks for VIES API. |
| Rate Limiting | Throttle requests or use queues. | Unchanged. |
| Data Privacy (GDPR) | Encrypt VAT numbers in transit/storage. | Unchanged. |
| False Positives | Combine with local VAT databases (e.g., league/geotools). |
New: Validate CY tax numbers (starting with 6) explicitly in tests. |
| Deprecation Risk | Fork if upstream is abandoned. | Unchanged. |
6? If so, test this explicitly.spatie/vat)?Http facade, Queues, and Events.6 (PR #155).6XXXXXX) and VIES API heartbeat stability.curl and json.6 in your ViesService.dragonbe/vies version to ^2.3 in composer.json to avoid surprises.6.6 (previously invalid).dd($vies->validate($vatNumber)) or Laravel logs.6XXXXXX is valid).spatie/circuit-breaker) for repeated failures.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| VIES API Heartbeat (HTTP 147) | Timeouts, failed validations. | New: Retry with backoff; fallback to cached/offline validation. |
| CY VAT Number Format (6XXXXXX) | False rejections, UX issues. | New: Explicitly validate CY numbers starting with 6; update test cases. |
| High Latency | Poor UX, abandoned carts. | Queue validations; show "processing" state. |
| Invalid VAT Numbers | Compliance risks, fraud. | Block transactions; notify admin for review. |
| Rate Limit Exceeded | Throttled requests, failed orders. | Implement exponential backoff; use queues with delays. |
NO_UPDATE_NEEDED would not apply here due to the VIES API heartbeat issue (PR #149) and CY VAT number format change (PR #155), which require updates to risk mitigation, testing, and operational procedures.
How can I help you explore Laravel packages today?