Fix SilverPay payment integration JSON serialization

- Changed JSON naming policy from CamelCase to SnakeCaseLower for SilverPay API compatibility
- Fixed field name from 'fiat_amount' to 'amount' in request body
- Used unique payment ID instead of order ID to avoid duplicate external_id conflicts
- Modified SilverPayApiResponse to handle string amounts from API
- Added [JsonIgnore] attributes to computed properties to prevent JSON serialization conflicts
- Fixed test compilation errors (mock service and enum casting issues)
- Updated SilverPay endpoint to http://10.0.0.52:8001/

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-22 04:38:28 +01:00
parent 034b8facee
commit 5138242a99
5 changed files with 23 additions and 11 deletions

View File

@@ -269,7 +269,7 @@ public class OrdersWithVariantsTests : IClassFixture<TestWebApplicationFactory>
Price = 15.00m,
CategoryId = category.Id,
Weight = 1.0m,
WeightUnit = (int)LittleShop.Enums.ProductWeightUnit.Kilograms
WeightUnit = LittleShop.Enums.ProductWeightUnit.Kilograms
};
var response = await _client.PostAsJsonAsync("/api/admin/products", productDto);