mirror of
https://github.com/wearepixel/laravel-quickbooks.git
synced 2026-11-14 22:11:50 +00:00
fix: switch DataService to JSON serialization to survive QuickBooks schema drift
The SDK's XML deserializer reflects on declared properties of its Data classes and throws a RuntimeException when QuickBooks returns a field the installed SDK version doesn't define yet (e.g. the new invoice AllowOnlinePayPalPayment field), breaking every invoice create/update. The JSON path builds instances from the class's own known properties and silently ignores unrecognised response fields instead, so it tolerates QuickBooks adding fields ahead of the SDK.
This commit is contained in:
+57
-57
@@ -1,61 +1,61 @@
|
||||
{
|
||||
"name": "wearepixel/laravel-quickbooks",
|
||||
"version": "2.0.0",
|
||||
"description": "Laravel Client for QuickBooks.",
|
||||
"keywords": [
|
||||
"quickbooks",
|
||||
"client",
|
||||
"laravel",
|
||||
"wearepixel"
|
||||
],
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Pixel",
|
||||
"email": "hello@wearepixel.com.au"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^8.3",
|
||||
"illuminate/database": "^10.0|^11.0|^12.0",
|
||||
"illuminate/http": "^10.0|^11.0|^12.0",
|
||||
"illuminate/routing": "^10.0|^11.0|^12.0",
|
||||
"illuminate/support": "^10.0|^11.0|^12.0",
|
||||
"nesbot/carbon": "^2.62.1|^3.0",
|
||||
"quickbooks/v3-php-sdk": "^5.4.6"
|
||||
},
|
||||
"require-dev": {
|
||||
"laravel/pint": "^1.2",
|
||||
"mockery/mockery": "^1.6",
|
||||
"pestphp/pest": "^3.0",
|
||||
"psy/psysh": "^0.12"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Wearepixel\\QuickBooks\\": "src/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Wearepixel\\QuickBooks\\": "tests/"
|
||||
"name": "wearepixel/laravel-quickbooks",
|
||||
"version": "2.0.1",
|
||||
"description": "Laravel Client for QuickBooks.",
|
||||
"keywords": [
|
||||
"quickbooks",
|
||||
"client",
|
||||
"laravel",
|
||||
"wearepixel"
|
||||
],
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Pixel",
|
||||
"email": "hello@wearepixel.com.au"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^8.3",
|
||||
"illuminate/database": "^10.0|^11.0|^12.0",
|
||||
"illuminate/http": "^10.0|^11.0|^12.0",
|
||||
"illuminate/routing": "^10.0|^11.0|^12.0",
|
||||
"illuminate/support": "^10.0|^11.0|^12.0",
|
||||
"nesbot/carbon": "^2.62.1|^3.0",
|
||||
"quickbooks/v3-php-sdk": "^5.4.6"
|
||||
},
|
||||
"files": [
|
||||
"tests/Overrides.php"
|
||||
]
|
||||
},
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Wearepixel\\QuickBooks\\Providers\\ServiceProvider",
|
||||
"Wearepixel\\QuickBooks\\Providers\\ClientServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"allow-plugins": {
|
||||
"pestphp/pest-plugin": true
|
||||
"require-dev": {
|
||||
"laravel/pint": "^1.2",
|
||||
"mockery/mockery": "^1.6",
|
||||
"pestphp/pest": "^3.0",
|
||||
"psy/psysh": "^0.12"
|
||||
},
|
||||
"sort-packages": true
|
||||
},
|
||||
"prefer-stable": true
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Wearepixel\\QuickBooks\\": "src/"
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"psr-4": {
|
||||
"Wearepixel\\QuickBooks\\": "tests/"
|
||||
},
|
||||
"files": [
|
||||
"tests/Overrides.php"
|
||||
]
|
||||
},
|
||||
"extra": {
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Wearepixel\\QuickBooks\\Providers\\ServiceProvider",
|
||||
"Wearepixel\\QuickBooks\\Providers\\ClientServiceProvider"
|
||||
]
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"allow-plugins": {
|
||||
"pestphp/pest-plugin": true
|
||||
},
|
||||
"sort-packages": true
|
||||
},
|
||||
"prefer-stable": true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user