TalerPHP: Progress Updates & Tracking the Journey of the Package

Testing & Documentation Improvements

Over the past few days, I’ve focused on strengthening error-handling coverage and documentation in TalerPHP. These updates were inspired by the recent feedback and ongoing effort to ensure the SDK’s robustness and usability.

Exception Testing:
Added PHPUnit tests for TalerException , covering message sanitization, JSON response parsing, and DTO handling. This ensures reliable error detail extraction in all scenarios.

Order Tests:
Extended tests for CreateOrder , ForgetOrder , and RefundOrder operations to verify ErrorDetail parsing through TalerException::getResponseDTO . This significantly improves error-handling consistency across order actions.

Documentation Updates:
The README now includes a new section explaining how to use TalerException::getResponseDTO with practical examples for structured error parsing.

Config API Client Added

The SDK now includes a Config API client.

What’s new:
• Implemented GET /config action.
• Added DTOs: MerchantVersionResponse and ExchangeConfigInfo .
• Introduced ConfigClient with getConfig() and getConfigAsync() methods.
• New Taler::configApi() entry point for easy access.
• Comprehensive tests for DTOs and actions (covering success, async, and error cases).
• README updated with examples for using the Config API.

Donau Charity APIs Added

Just released a set of new features for Donau Charity integration
• Introduced PostDonauRequest DTO with built-in validation for safe and consistent requests.
• Implemented the CreateDonauCharity action - returns null on 204 responses, or an optional Challenge object if a 202 is returned.
• Added the ability to Delete Donau Charity by serial for effective resource management.
• Comprehensive test coverage is included.
• The README has a new Donau Charity section with usage documentation and code examples.

Credential Health Check Added

A new helper tool has been introduced to improve credential verification and error reporting:
• The Credential Health Check verifies merchant configuration via /config and tests instance accessibility.
• It performs an authenticated, harmless GET request to /private/orders to detect and report common errors like 404 (Not Found), 401 (Unauthorized), and other issues.
• This helps diagnose configuration or credential problems early with clear, actionable error messages.
• Usage is documented in the README for easy integration and reference.

Two-Factor Authentication (2FA) Support Added

Implemented comprehensive 2FA challenge request and confirmation APIs to boost security:
• Added MerchantChallengeSolveRequest DTO with validation and ChallengeRequestResponse DTO.
• Introduced TwoFactorAuthClient with requestChallenge() and confirmChallenge() methods handling synchronous and async operations.
• Developed RequestChallenge and ConfirmChallenge actions under the TwoFactorAuth module.
• Full test coverage ensures flow accuracy, including strict replay protection with Taler-Challenge-Ids .
• README extended with a dedicated Two Factor Auth section featuring usage examples.

This addition strengthens user authentication workflows with modern 2FA capabilities.