adyen_api 0.4.0
adyen_api: ^0.4.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] #
0.4.0 - 2026-10-25 #
Added #
- APIs: Exposed Balance Platform payout schedule and recurring top-up clients, Management client certificate, donation campaign and terminal theme clients, and the Transfers cash-out client.
- Testing: Added request-level routing, authentication, serialization and timeout regression coverage; recorded coverage and fault-injection audits.
- Development: Pinned Flutter 3.47.8 / Dart 3.13.7 with FVM. CI verifies Dart 3.10.3 and the latest stable SDK.
Changed #
- Adyen API Specs: Regenerated all 35 configured APIs and webhook clients
from upstream commit
2c1f3ab1e0385815899db9364a95e5aa5cf5568a(2026-10-22), including Checkout v72, Balance Control v2 and refreshed model exports. - Public API (Breaking): Balance Platform sweep methods moved from
balanceAccountsApitocustomPayoutSchedulesSweepsApi. Upstream renamedPatchableMandatetoMandateUpdateand Checkout'sDefaultErrorResponseEntitytoCheckoutErrorResponseEntity. - HTTP clients: Shared raw JSON request assembly while retaining independent module Dio instances, caller-owned transports, and Cloud/Local retry policies.
- Dependencies: Updated compatible dependency constraints and retained the Dart 3.10.3 minimum SDK.
- CI: Updated Checkout and Codecov actions to v7 and GitHub Release to v3; added credential preflight, serialized codegen runs and validation of generated updates.
- Documentation: Updated installation and contributor guidance, API metadata, configuration scope and migration details in the audits. Repository-only audit reports are excluded from the published package.
Removed #
- Public API (Breaking): Upstream removed Checkout's
InvalidFieldand Session Authentication'sBalanceAccountResourceandMerchantAccountResourcemodels. - Documentation: Removed the retired pub popularity badge.
Fixed #
- HTTP configuration: Honored per-request connection/receive timeouts without mutating injected Dio defaults, including redirects and terminal handshake retries.
- Endpoint configuration: Preserved explicit Cloud and MarketPay service roots, defaulted LIVE Cloud to EU when no region is supplied, normalized trailing slashes, and rejected invalid service roots. LIVE prefixes are required only for PAL/Checkout.
- HTTP metadata: Kept request header library versions synchronized with the
package version instead of reporting
0.0.1. - Code Generation: Fixed the UK mandate account discriminator default, preserved quoted generator arguments, propagated specification parsing failures, and resolved the cached OpenAPI checkout relative to the project.
- Balance Control: Updated the hand-written wrapper for the regenerated v2 surface.
0.3.0 - 2026-01-15 #
Added #
- Checkout: Added new models for checkout functionality
CheckoutForwardRequest- Request model for checkout forward operationsCheckoutForwardResponse- Response model for checkout forward operationsPaymentRequestPaymentMethod- Payment method details for payment requestsStoredPaymentMethodResource- Resource model for stored payment methods
- Legal Entity: Added new models to support expanded legal entity management
Financier- Financier entity detailsSupport- Support contact informationTaxInformation- Tax-related information model
Changed #
- Adyen API Specs: Updated OpenAPI specifications to latest versions
- Checkout API: Added forward payment models and enhanced stored payment method details
- Legal Entity API: Added support for new entity types (financier, trust, unincorporated partnership)
- Transfers API: Enhanced transfer data models with additional fields and category data
- Management API: Updated payment method models
- StoredValue API: Minor field updates to amount model
- CI: Use Personal Access Token for automated PRs
- Configured openapi-codegen workflow to use AUTOMATION_PAT secret
- Automated PRs now properly trigger CI checks (required by branch ruleset)
- Tests run via normal CI workflow rather than codegen workflow
- Requires creating AUTOMATION_PAT secret with repo permissions
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