Skip to content

Conversation

@frknasir
Copy link
Collaborator

  • Implemented and methods in Customer API for creating and retrieving customers with typed responses.
  • Added and methods in PaymentRequest API for creating and listing payment requests with typed responses.
  • Introduced and methods in Transaction API for initializing and verifying transactions with typed responses.
  • Enhanced ResponseMediator to handle new typed responses for customers, transactions, and payment requests.
  • Created new response DTOs: CustomerData, CustomerListResponse, PaymentRequestData, TransactionData, and TransactionInitializeResponse.
  • Added PaginationMeta and PaginatedResponse classes for handling paginated responses.
  • Implemented ResponseFactory for creating response DTOs from API response arrays.
  • Added PaystackResponse and PaystackResponseException for consistent error handling across API responses.

- Created ReadAllOptions class for Page options to handle pagination.
- Implemented CreateOptions and ReadAllOptions classes for Product management.
- Added UpdateOptions class for updating product details.
- Introduced CreateOptions and ReadAllOptions classes for Refund management.
- Developed ReadAllOptions class for Settlement options.
- Created AddSubaccountOptions and CreateOptions classes for Split management.
- Implemented ReadAllOptions and RemoveSubaccountOptions classes for Split functionalities.
- Added UpdateOptions class for updating Split details.
- Created CreateOptions and ReadAllOptions classes for Subaccount management.
- Developed UpdateOptions class for modifying Subaccount details.
- Introduced CommissionOptions and DecommissionOptions classes for Terminal management.
- Created ReadAllOptions and SendEventOptions classes for Terminal functionalities.
- Implemented UpdateOptions class for updating Terminal details.
- Added InitiateOptions and ReadAllOptions classes for Transfer management.
- Created CreateOptions and ReadAllOptions classes for TransferRecipient management.
- Developed AssignDestinationOptions and CreateOptions classes for VirtualTerminal management.
- Implemented ReadAllOptions, SplitCodeOptions, UnassignDestinationOptions, and UpdateOptions classes for VirtualTerminal functionalities.
… Transfer

- Updated PaymentRequestTest to use a mock client and improved test methods.
- Added comprehensive tests for Plan including create, list, fetch, and update functionalities.
- Created SubaccountTest with tests for creating, listing, fetching, and updating subaccounts.
- Implemented TransactionTest covering initialization, verification, listing, fetching, charging authorization, checking authorization, and retrieving transaction timeline and totals.
- Introduced TransferTest with tests for initiating, finalizing, bulk transferring, listing, fetching, and verifying transfers.
… functionalities

- Implement SettlementTest with tests for listing settlements and retrieving settlement transactions.
- Implement SplitTest with tests for creating, listing, fetching, updating splits, and managing subaccounts.
- Implement SubscriptionTest with tests for creating, listing, fetching, enabling, disabling subscriptions, and generating update links.
- Implement TransferRecipientTest with tests for creating, bulk creating, listing, fetching, updating, and deleting transfer recipients.
…tualTerminal APIs; refactor request handling in respective classes for improved parameter management.
… Verification, and Charge

- Updated  class to accept  for session timeout updates.
- Enhanced  class with  and  for better query handling.
- Improved  class to utilize  and  for account verification processes.
- Added new options classes for Apple Pay, Bulk Charge, Dedicated Virtual Account, Direct Debit, and Dispute functionalities.
- Introduced various options for handling user inputs such as address, birthday, OTP, phone, and pin submissions in the Charge options.
- Implemented pagination and filtering options in  and .
- Enhanced dispute handling with new options for adding evidence, exporting disputes, and resolving disputes.
…ge and Charge; enhance test cases for improved clarity and structure
- Updated  to provide a comprehensive example of recurring billing and subscription management, including detailed customer data, subscription tiers, and billing processes.
- Added structured comments and documentation to clarify the functionality and usage of the script.
- Improved error handling and logging for payment requests and status checks.
- Introduced helper functions for currency formatting and billing calculations.
- Enhanced  with detailed comments, structured payment request creation, and retrieval of recent payment requests.
- Included additional operations for fetching and verifying payment requests, along with improved output formatting for better readability.
- Added warnings for using default API keys to encourage secure practices.
…on APIs

- Implemented  and  methods in Customer API for creating and retrieving customers with typed responses.
- Added  and  methods in PaymentRequest API for creating and listing payment requests with typed responses.
- Introduced  and  methods in Transaction API for initializing and verifying transactions with typed responses.
- Enhanced ResponseMediator to handle new typed responses for customers, transactions, and payment requests.
- Created new response DTOs: CustomerData, CustomerListResponse, PaymentRequestData, TransactionData, and TransactionInitializeResponse.
- Added PaginationMeta and PaginatedResponse classes for handling paginated responses.
- Implemented ResponseFactory for creating response DTOs from API response arrays.
- Added PaystackResponse and PaystackResponseException for consistent error handling across API responses.
- Upgrade PHPUnit from 9.5 to 10.5 to fix PHP Parser compatibility issues with PHP 8.3
- Explicitly require nikic/php-parser ^5.3 to ensure compatibility
- Upgrade minimum PHP version from 8.0 to 8.1 (required by PHPUnit 10)
- Update PHPUnit configuration to PHPUnit 10 format
- Update GitHub Actions artifact action from v3 to v4
- Remove PHP 8.0 from test matrix
- Update documentation to reflect PHP 8.1+ requirement

Fixes:
- PHP Warning: Undefined array key 327 in nikic/php-parser
- PhpParser\Lexer::getNextToken(): Return value must be of type int, null returned
- Deprecated actions/upload-artifact v3
- Add --no-coverage flag to default test command to avoid warnings
- Create separate test:coverage command for CI/CD coverage generation
- Remove failOnWarning from phpunit.xml.dist to prevent non-critical warnings from failing tests
- Update GitHub Actions to use appropriate test command based on coverage needs
- Fixes exit code 1 when running tests locally without xdebug/pcov installed
@frknasir frknasir merged commit c20edad into v1.x Oct 30, 2025
5 checks passed
@frknasir frknasir deleted the feat/v2.x branch October 30, 2025 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants