Skip to main content

adyen_api 0.4.0 copy "adyen_api: ^0.4.0" to clipboard
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 balanceAccountsApi to customPayoutSchedulesSweepsApi. Upstream renamed PatchableMandate to MandateUpdate and Checkout's DefaultErrorResponseEntity to CheckoutErrorResponseEntity.
  • 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 InvalidField and Session Authentication's BalanceAccountResource and MerchantAccountResource models.
  • 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 operations
    • CheckoutForwardResponse - Response model for checkout forward operations
    • PaymentRequestPaymentMethod - Payment method details for payment requests
    • StoredPaymentMethodResource - Resource model for stored payment methods
  • Legal Entity: Added new models to support expanded legal entity management
    • Financier - Financier entity details
    • Support - Support contact information
    • TaxInformation - 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.sh to detect latest yaml versions from Adyen OpenAPI repo
    • Added tool/codegen/update_lock_file.sh to automatically update openapi.lock.json specs 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

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)

Fixed #

  • CI: Fixed OpenAPI codegen workflow path issues
    • Changed Docker volume mapping from host:workspace to host:/work to match script's default ROOT_DIR_DOCKER path
    • Changed clone directory from .openapi to .cache/openapi to align with script's OPENAPI_ROOT_DOCKER default
    • Resolves spec file not found errors in Docker container

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.yml configuration with ignore rules for generated code
    • Added coverage badge to README.md
  • 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%), and exceptions (from 70.97%)
    • test/security/nexo_crypto_test.dart - NEXO cryptographic operations
    • test/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

Changed #

  • Testing: Unified test assertion style (replaced try-catch-fail with expectLater + 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, and dart 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:io file system dependencies
    • Removed @TestOn('vm') platform restrictions, enabling tests to run on both VM and Chrome
    • Deleted obsolete fixture files from test/fixtures/notification/
  • Code Organization: Refactored HTTP module structure for improved maintainability

    • Reorganized into subdirectories: client/, exceptions/, headers/, models/, terminal_local/, dio/
    • Renamed RequestOptions to AdyenRequestOptions to avoid naming conflicts with Dio
  • CI: Added ripgrep installation to resolve rg: command not found warnings in generate_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.sh to automatically fix webhook imports during code generation.

  • CI/CD: Fixed YAML indentation in .github/workflows/release.yml to ensure GitHub Actions workflow triggers correctly on version tags, added environment: pub.dev protection for the publish job, and added workflow_dispatch trigger 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
1
likes
140
points
223
downloads

Documentation

API reference

Publisher

verified publisherlutra-fs.cc

Weekly Downloads

A comprehensive Dart library for integrating Adyen payment APIs, providing type-safe access to payment processing services for Flutter and Dart applications.

Repository (GitHub)
View/report issues
Contributing

License

MIT (license)

Dependencies

built_collection, built_value, crypto, dio, one_of, one_of_serializer, pointycastle

More

Packages that depend on adyen_api