adyen_api 0.2.0
adyen_api: ^0.2.0 copied to clipboard
A comprehensive Dart library for integrating Adyen payment APIs, providing type-safe access to payment processing services for Flutter and Dart applications.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased] #
Added #
Changed #
Fixed #
0.2.0 - 2026-01-04 #
Added #
- Documentation: Added project badges to README
- Added CI status badge for GitHub Actions workflow
- Added Pub.dev package version badge
- Added Pub.dev points and popularity badges
- Code Generation: Automatic yaml version bump detection
- Added
tool/codegen/detect_yaml_versions.shto detect latest yaml versions from Adyen OpenAPI repo - Added
tool/codegen/update_lock_file.shto automatically updateopenapi.lock.jsonspecs with new versions - Updated workflow to detect and update yaml version bumps automatically
- Supports both versioned files (e.g.,
CheckoutService-v71.yaml) and non-versioned files
- Added
Changed #
- Public API (Breaking): Narrowed exports from
adyen_api.dart; terminal and model types are now exposed via*_models.dart(e.g.terminal_models.dart). - CI: Fixed release workflow tag trigger pattern
- Corrected tag filter from
'v[0-9]+.[0-9]+.[0-9]+.*'to'v[0-9]+.[0-9]+.[0-9]+*'to properly match semantic version tags (e.g., v1.0.0, v1.2.3-beta)
- Corrected tag filter from
Fixed #
- CI: Fixed OpenAPI codegen workflow path issues
- Changed Docker volume mapping from
host:workspacetohost:/workto match script's defaultROOT_DIR_DOCKERpath - Changed clone directory from
.openapito.cache/openapito align with script'sOPENAPI_ROOT_DOCKERdefault - Resolves spec file not found errors in Docker container
- Changed Docker volume mapping from
0.1.0 - 2025-12-27 #
Added #
-
CI: Integrated Codecov for test coverage tracking
- Added coverage collection to CI workflow (
dart test --coverage) - Added automatic upload to Codecov with
codecov-action@v5 - Added
codecov.ymlconfiguration with ignore rules for generated code - Added coverage badge to README.md
- Added coverage collection to CI workflow (
-
Testing: Added 160+ tests across all domains based on Java codebase reference
-
Testing: Enhanced test coverage for HTTP module
- Added
test/http/terminal_local/connection_options_test.dart- 6 tests for TerminalLocalConnectionOptions - Added
test/http/terminal_local/connection_factory_test.dart- 7 tests for connection factory - Added
test/http/terminal_local/sni_config_test.dart- 5 tests for SNI configuration - Added
test/http/client/default_client_test.dart- 10 tests for DefaultHttpClient (including redirect hostname validation) - Added
test/http/client/terminal_local_client_test.dart- 3 tests for TerminalLocalHttpClient - Added
test/http/exceptions/exception_parser_test.dart- 36 tests for exception parsing - Total: 67 new tests improving coverage across
terminal_local(from 3.57%),client(from 54.70%), andexceptions(from 70.97%) test/security/nexo_crypto_test.dart- NEXO cryptographic operationstest/mocks/- Reusable mock data templates (common responses, errors, terminal)- Balance Platform: +31 tests
- Checkout/Payment: +32 tests
- Terminal & POS: +20+ tests
- Management/Legal Entity: +13 tests
- Webhooks: +12 tests
- Data Services: +6 tests
- Specialized Services: +10 tests
- Added
Changed #
- Testing: Unified test assertion style (replaced
try-catch-failwithexpectLater+throwsA) - Project: Updated project rules and documentation
- Updated dart version requirement to target latest version using fvm
- Clarified dart command execution using
fvm dart <command> - Added verification requirements for
dart format,dart analyze, anddart test - Added CHANGELOG.md update requirement using "Keep a Changelog" format
Fixed #
-
Testing: Fixed browser compatibility for HMAC validator and notification webhook tests
- Inlined JSON fixture data to remove
dart:iofile system dependencies - Removed
@TestOn('vm')platform restrictions, enabling tests to run on both VM and Chrome - Deleted obsolete fixture files from
test/fixtures/notification/
- Inlined JSON fixture data to remove
-
Code Organization: Refactored HTTP module structure for improved maintainability
- Reorganized into subdirectories:
client/,exceptions/,headers/,models/,terminal_local/,dio/ - Renamed
RequestOptionstoAdyenRequestOptionsto avoid naming conflicts with Dio
- Reorganized into subdirectories:
-
CI: Added ripgrep installation to resolve
rg: command not foundwarnings ingenerate_model_exports.sh
0.0.2 - 2025-12-27 #
Fixed #
-
Webhook API imports: Fixed broken import statements in all webhook API files caused by openapi-generator's incorrect handling of
webhooks:in OpenAPI specs. Affected files include:- webhook_acs, webhook_balance, webhook_configuration, webhook_dispute
- webhook_management, webhook_negative_balance, webhook_notification
- webhook_platforms_notifications, webhook_report, webhook_tokenization
- webhook_transaction, webhook_transfer
-
Added post-processing script to
tool/codegen/generate.shto automatically fix webhook imports during code generation. -
CI/CD: Fixed YAML indentation in
.github/workflows/release.ymlto ensure GitHub Actions workflow triggers correctly on version tags, addedenvironment: pub.devprotection for the publish job, and addedworkflow_dispatchtrigger for manual workflow execution.
Changed #
- Dependencies: Updated to latest stable versions
- built_value: 8.9.2 → 8.12.1
- crypto: 3.0.3 → 3.0.7
- dio: 5.7.0 → 5.9.0
- pointycastle: >=3.9.1 <5.0.0 → 4.0.0
- build_runner: 2.4.11 → 2.10.4
- test: 1.25.6 → 1.28.0
0.0.1 - 2025-12-27 #
Added #
Initial release of adyen_api - A type-safe Dart library for Adyen payment APIs.
Core Features:
- Pure Dart implementation - no native dependencies, works across Flutter, web, server, and CLI
- Full type safety with BuiltValue serialization
- Comprehensive API coverage from official Adyen OpenAPI specifications
Supported APIs:
- Checkout & Payments (Checkout, Payment, Recurring, Payout)
- Terminal APIs (Local, Cloud, Management) with NEXO encryption
- Balance Platform (Control, Platform)
- Additional services: BinLookup, Disputes, DataProtection, LegalEntity, OpenBanking, StoredValue, Transfers, Platforms, POSMobile, PaymentsApp, SessionAuthentication
Webhook Support:
- Complete handlers for all Adyen webhook types (transaction, balance, configuration, dispute, tokenization, transfer, management, etc.)
- HMAC signature validation utilities
Developer Experience:
- Configurable Client with environment (test/live) and region support
- HTTP client based on Dio
- Comprehensive test suite with mocking support
- Code generation pipeline from OpenAPI specs