Skip to content

Releases: checkout/checkout-sdk-php

5.2.0

Choose a tag to compare

@github-actions github-actions released this 22 Jul 11:20
74a31c4

Release 5.2.0 (#352)

** Accounts BREAKING CHANGE **

This release introduces significant enhancements and extensions to the Accounts API client and related data models to support Accounts API v3.0. The main goals are to enable schema version negotiation via the Accept header, expand the onboarding request and company models for new v3.0 fields, and add several new supporting classes for richer onboarding flows.

The most important changes are:

Accounts API v3.0 Schema Versioning Support: BREAKING CHANGE!

  • Added a DEFAULT_SCHEMA_VERSION constant and updated key client methods in AccountsClient to accept a $schemaVersion parameter (defaulting to 3.0), passing this as an Accept header to the API. This enables negotiation of the Accounts API schema version for all major entity operations. [1] [2] [3] [4] [5]

Expanded Onboarding and Company Models:

  • Extended OnboardEntityRequest and Company with new fields required by Accounts API v3.0, such as processing_details, agreed_terms, seller_category, is_draft, date_of_incorporation, regulatory_licence_number, and more. Added detailed PHPDoc for each field. [1] [2]
  • Added new business types in BusinessType and new entity roles in EntityRoles for v3.0 compatibility. [1] [2]

New Supporting Data Classes for v3.0:

  • Introduced new classes for richer onboarding and processing details: AgreedTerms, ProcessingDetails, ProcessingDetailsPayments, ProcessingDetailsAch, DateOfIncorporation, and CompanyPosition. These enable capturing additional information required by the latest API version. [1] [2] [3] [4] [5] [6]

OnboardSubEntityDocuments Enhancements:

  • Expanded OnboardSubEntityDocuments with new optional document fields (e.g., articles_of_association, shareholder_structure, bank_verification, etc.) to support the full set of required documents for different onboarding schema variants.

Documentation and Header Handling Improvements:

  • Improved PHPDoc for all updated and new fields, clarifying requirements and formats. Enhanced Headers to support the new accept header for schema negotiation.

These changes collectively prepare the codebase for full support of Accounts API v3.0 onboarding and entity management, while maintaining backward compatibility.

5.1.0

Choose a tag to compare

@github-actions github-actions released this 03 Jul 06:58
224fc46

Release 5.1.0 (#347)

This release introduces several new features and improvements to the issuing and payments domains, including expanded support for dispute handling, enhancements to card activation and revocation scheduling, and richer order/payment setup models. It also removes some deprecated or redundant classes and fields to streamline the codebase.

Issuing Disputes Enhancements:

  • Added new models for handling fraud-related dispute details (IssuingDisputeFraudDetails, IssuingDisputeFraudType) and integrated them into dispute request classes, allowing for more granular and structured fraud reporting. [1] [2] [3] [4] [5] [6]
  • Introduced the AmendDisputeRequest model and corresponding amendDispute method in IssuingClient, enabling amendments to disputes that are blocked or require additional information. [1] [2] [3] [4]
  • Marked the submitDispute method as deprecated, guiding users towards the new dispute amendment flow.

Card Management Improvements:

  • Added activation_date and revocation_date fields to both CardRequest and UpdateCardRequest classes, allowing for scheduled card activation and automatic revocation. [1] [2]
  • Removed the ScheduleRevocationRequest class and related scheduling methods from IssuingClient, consolidating revocation scheduling into the main card request models. [1] [2] [3]

Payments and Order Setup Extensions:

  • Enhanced the Order model with new fields for invoice_id, shipping_amount, surcharge_amount, tax_amount, tipping_amount, and amount_allocations, supporting more detailed order breakdowns.
  • Added new models for PaymentSetupAmountAllocation and AmountAllocationCommission, enabling split payments and commission handling in setup flows. [1] [2]
  • Introduced the PaymentSetupBillingDescriptor model for richer payment descriptions and billing information.

Account and Instrument Details:

  • Added InstrumentAccountType and InstrumentDetailsAch models to support ACH payment instrument details, including account and routing numbers. [1] [2]

Cleanup and Deprecations:

  • Removed the CardholderDocument class and related references from cardholder request models, simplifying cardholder data structures. [1] [2] [3] [4]

These changes collectively improve the flexibility, compliance, and functionality of the issuing and payments APIs, while also streamlining the codebase for easier maintenance.…nd Platforms instrument details)

5.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Jun 16:01
63d3cde

GetFaceAuthenticationAttemptAssets, PaymentPlan updates + Move to PHP versions 8.X (dropped all 7.X ones) (#345)

BREAKING CHANGE

This release drops support for PHP 7.1 and 7.4, raising the minimum required PHP version to 8.1. It updates the SDK and its dependencies accordingly, simplifies the Composer and CI workflows, and updates documentation to reflect these changes.

PHP version and dependency requirements:

  • Updated composer.json to require php: >=8.1.0, guzzlehttp/guzzle: ^7.4, and monolog/monolog: ^2.4 || ^3.0.0; dropped support for older versions and removed compatibility with PHP 7.x and Guzzle 6.x. Updated dev dependencies to require phpunit/phpunit: ^9.0 only.
  • Updated README.md to state that as of v5.0.0, the SDK requires PHP 8.1 or newer, and to explain the rationale for dropping PHP 7.x support. Updated Composer example accordingly.

Continuous Integration (CI) and workflow changes:

  • Removed all references to PHP 7.1 and 7.4 from GitHub Actions workflows (build-master.yml, build-pull-request.yml, build-release.yml), so CI now only tests PHP 8.1 and 8.4 on supported OSes. Simplified installation and Composer steps accordingly. [1] [2] [3] [4] [5] [6] [7] [8]

General update

This release introduces new functionality for retrieving assets associated with face authentication and identity verification attempts, adds support for recurring payment plans and authorization types to several payment request objects, and exposes a new processing field. It also includes comprehensive tests for the new features.

Identity Verification & Face Authentication Enhancements:

  • Added the AttemptAssetsQueryFilter entity to support pagination when querying assets related to authentication and verification attempts.
  • Introduced getFaceAuthenticationAttemptAssets and getIdentityVerificationAttemptAssets methods in their respective clients, enabling retrieval of assets (like images and videos) captured during an attempt, with optional pagination. [1] [2]
  • Added corresponding unit and integration tests for these new asset retrieval methods, ensuring correct API endpoint usage and response validation. [1] [2] [3] [4] [5] [6]

Payments API Improvements:

  • Added support for recurring payment plans and authorization types by introducing new payment_plan and authorization_type fields to HostedPaymentsSessionRequest, PaymentLinkRequest, and PaymentSessionsRequest. [1] [2] [3]
  • Exposed the scheme_transaction_link_id field in ProcessingSettings to allow access to the scheme transaction link identifier for card transactions.
  • Updated integration tests to safely access the new scheme_transaction_link_id field, confirming its presence and type when available.

4.9.0

Choose a tag to compare

@github-actions github-actions released this 02 Jun 11:00
d73b06c

Release 4.9.0 - General payments update (#340)

This release introduces several new features and enhancements across the SDK, mainly focusing on expanding support for dispute evidence, onboarding simulation, and entity requirements, along with some smaller improvements and bug fixes. The most important changes are grouped below by theme.

Onboarding Simulator Support:

  • Added a new OnboardingSimulatorClient class and related request objects, enabling sandbox testing of account onboarding workflows, such as setting requirements due, running scenarios, and updating entity status. This client is now accessible via the main CheckoutApi class. [1] [2] [3] [4] [5] [6] [7]

Entity Requirements Management:

  • Enhanced the AccountsClient with methods to retrieve pending requirements for a sub-entity, get details about specific requirements, and resolve requirements with a new EntityRequirementUpdateRequest class. [1] [2] [3]

Dispute Evidence Enhancements:

  • Added a CompellingEvidence model and extended the DisputeEvidenceRequest to support new fields for arbitration evidence and compelling evidence, improving dispute handling capabilities. [1] [2] [3]

Instruments Management Improvements:

  • Added a revoke method to InstrumentsClient to allow revoking instruments for future transactions, and updated related request classes for clarity and expanded customer data support. [1] [2] [3] [4] [5]

Other Enhancements and Fixes:

  • Added support for query parameters and body variables in DestinationRequest for forwarding requests.
  • Updated the PHP 8.4 download URL in the GitHub Actions workflow for Windows builds.
  • Added new fields to issuing card request classes for metadata, revocation date, and card controls. [1] [2]

These changes collectively improve the SDK's feature coverage, especially for testing onboarding flows, managing entity compliance, and dispute resolution.

4.8.0

Choose a tag to compare

@github-actions github-actions released this 19 May 14:58
cd461e4

Release 4.8.0 (#337)

This release adds support for a wide range of new alternative payment methods (APMs) by introducing new payment source types and corresponding request source classes. These changes enable the system to handle additional payment options such as ACH, Bizum, Blik, MobilePay, Octopus, PayNow, Plaid, Sequra, Swish, Twint, and Vipps, among others. The update primarily involves extending the PaymentSourceType enumeration and implementing new request classes for each APM, some of which include additional relevant fields.

Support for new payment source types:

  • Added new static members to PaymentSourceType for various APMs, including bizum, ach, blik, mobilepay, octopus, paynow, plaid, sequra, swish, twint, and vipps.

New request source classes for APMs:

  • Implemented new request source classes in the Apm namespace for each supported APM:
    • RequestAchSource, RequestBizumSource, RequestBlikSource, RequestMobilePaySource, RequestOctopusPaySource, RequestPayNowSource, RequestPlaidSource, RequestSequraSource, RequestSwishSource, RequestTwintSource, RequestVippsSource, and others. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

Additional fields for specific payment sources:

  • Some new request source classes include additional fields relevant to their payment method, such as account_type, country, account_number for ACH, partner_agreement_id for Blik, token and account_holder for Plaid, billing_address for Sequra, and billing_descriptor for Swish. [1] [2] [3] [4] [5]

These changes collectively expand the system's capability to support a broader array of payment methods, improving flexibility and coverage for international payments.

4.7.1

Choose a tag to compare

@github-actions github-actions released this 22 Apr 09:53
181d0a7

Version 4.7.1 (#332)

This release updates the naming conventions for request class properties in the Google Pay integration to use snake_case instead of camelCase. This change improves consistency and aligns with common PHP coding standards.

Property renaming for consistency:

Renamed properties in GooglePayEnrollmentRequest from camelCase to snake_case: entityId → entity_id, emailAddress → email_address, and acceptTermsOfService → accept_terms_of_service.
Renamed the webDomain property to web_domain in GooglePayRegisterDomainRequest.…snake-case)

4.7.0

Choose a tag to compare

@github-actions github-actions released this 15 Apr 08:40
970773b

Release - 4.7.0 (#330)

This release adds support for new sdk clients: Agentic Commerce, Compliance Requests and GooglePay. It introduces new API clients, request/response entity classes, and updates the main CheckoutApi class to expose these clients. Additionally, it updates the API client to allow passing custom headers for POST requests. These changes enable delegated payment token creation, compliance request retrieval, and response submission.

Agentic Commerce API integration:

  • Added AgenticCommerceClient for creating delegated payment tokens, including support for custom integrity headers and idempotency keys.
  • Introduced related entity classes: DelegatedPaymentRequest, DelegatedPaymentAllowance, DelegatedPaymentBillingAddress, DelegatedPaymentMethodCard, DelegatedPaymentRiskSignal, and supporting enums/types for card and funding types. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]

Compliance Requests API integration:

  • Added ComplianceRequestsClient to retrieve and respond to compliance requests by payment ID.
  • Added entity classes for compliance response fields and grouping by party: ComplianceRespondedField, ComplianceRespondedFields. [1] [2]

Google Pay API integration:

  • Added GooglePayClient to manage all google pay enrollments and domains

Core API enhancements:

  • Updated ApiClient::post to accept optional custom headers, supporting new API requirements for integrity and versioning.

Main API surface changes:

  • Updated CheckoutApi to instantiate and expose AgenticCommerceClient, ComplianceRequestsClient, and GooglePayClient via new getter methods. [1] [2] [3] [4] [5]

4.6.1

Choose a tag to compare

@github-actions github-actions released this 31 Mar 15:02
c08c9f9

Release - 4.6.1 (#328)

Added account_name_inquiry field to AccountHolder class (#327)

This release introduces a small update to the AccountHolder class by adding a new property to support account name inquiry functionality.

lib/Checkout/Common/AccountHolder.php: Added a new public boolean property account_name_inquiry to the AccountHolder class to indicate whether an account name inquiry has been performed.

4.6.0

Choose a tag to compare

@github-actions github-actions released this 30 Mar 10:53
66d1eb0

Release - 4.6.0 (#311)

This release introduces several enhancements and new features to the SDK, focusing on expanding API coverage, improving file handling. The changes include new client methods for file upload and retrieval, support for additional API clients, improvements to request serialization, and the addition of several new data classes.

Major SDK Feature Additions and Improvements:

  • Added new methods to AccountsClient for uploading and retrieving files for sub-entities, supporting due diligence documentation.
  • Introduced new endpoints in DisputesClient to support arbitration evidence submission and retrieval for disputes.
  • Added new data classes: FilePurpose (for file upload purposes), UploadFileRequest (file upload request model), CardholderAccessTokenRequest, UpdateCardholderRequest, and CardMetadata. [1] [2] [3] [4] [5]
  • Updated ShippingInstructions in the issuing cards module to clarify and swap the meaning of shipping_address and recipient_address.

API Client and Serialization Enhancements:

  • Improved request body handling in ApiClient to correctly set content types for JSON, multipart, and form-urlencoded requests, ensuring more robust API interactions.
  • Added utility methods in Client to serialize request objects as form-urlencoded data, converting camelCase properties to snake_case as required by some endpoints.

Expanded API Client Access:

  • Registered and exposed new clients in CheckoutApi: PaymentMethodsClient, StandaloneAccountUpdaterClient, and ApplePayClient, with corresponding getter methods for easier access. [1] [2] [3] [4]

Other Minor Improvements:

  • Added a missing import for UploadFileRequest in AccountsClient to support the new file upload feature.
  • Added a constant for the arbitration path in DisputesClient.

4.5.0

Choose a tag to compare

@github-actions github-actions released this 25 Mar 12:14
f61af71

Release - 4.5.0 (#309)

This release introduces new features and enhancements to the Checkout API client, focusing on expanding support for identities management, sub-entity member management, reserve rules, and additional API clients. It also improves the flexibility of the API client for handling custom headers and request body formats. Below are the most important changes:

API Client Enhancements

  • Refactored ApiClient to support custom headers via reflection, improved handling of different request body formats (JSON, multipart form data, form URL encoded), and updated method signatures for greater flexibility. [1] [2] [3] [4] [5]

  • Refactored ApiClient methods to accept a more generic $requestBody and optional custom headers, improving support for different content types (JSON, multipart, form URL encoded) and making header injection more flexible via reflection. Utility methods were added for header conversion and content-type detection. [1] [2] [3] [4] [5]

  • New if-match header support in the put requests through Accounts Headers class.

New API Client Integrations

  • Added new client properties and getter methods to CheckoutApi for NetworkTokensClient, FaceAuthenticationClient, IdDocumentVerificationClient, IdentityVerificationClient, AmlScreeningClient, and ApplicantsClient, enabling access to additional Checkout.com API features. [1] [2] [3] [4] [5] [6]

New Features: Sub-Entity Members & Reserve Rules

  • Added methods to AccountsClient for managing sub-entity members (retrieving and reinviting) and reserve rules (creating, retrieving, updating, and fetching details). New request and entity classes for reserve rules (CreateReserveRuleRequest, UpdateReserveRuleRequest, Rolling, HoldingDuration) were introduced. [1] [2] [3] [4] [5]

Enhancements to Accounts and Reserve Rules

  • Added new methods in AccountsClient to manage sub-entity members (retrieving and re-inviting members) and reserve rules (creating, querying, retrieving details, and updating reserve rules), along with the necessary request and entity classes (CreateReserveRuleRequest, UpdateReserveRuleRequest, Rolling, HoldingDuration). [1] [2] [3] [4] [5] [6] [7]

Identity Verification Client Integrations

  • Added new clients for identity verification, AML screening, face authentication, ID document verification, and applicant management to the CheckoutApi, making these services directly accessible via the main API class, integrated new identity-related clients (FaceAuthenticationClient, IdDocumentVerificationClient, IdentityVerificationClient, AmlScreeningClient, ApplicantsClient) into CheckoutApi, with corresponding getter methods for each. [1] [2] [3] [4]

Forward API Secret Management

  • Added secret management functionality to the ForwardClient, including methods to create, list, update, and delete secrets. New request classes for creating and updating secrets, and a metadata entity for secret information, were also introduced.

Codebase Organization

  • Moved and renamed files in the Forward module from the Requests namespace to the Entities namespace for improved clarity and consistency. (Headers.php, MethodType.php, NetworkToken.php) [1] [2] [3]This pull request introduces several new features and improvements to the Checkout SDK, focusing on enhanced support for sub-entity management, reserve rules, and identity verification, as well as improvements to the API client for more flexible request handling. It also includes some refactoring and namespace changes for better organization.

  • Refactored several ForwardClient request-related classes to reside under the Entities namespace instead of Requests, improving code organization and clarity. [1] [2] [3] [4] [5] [6]

These changes collectively add significant new functionality for managing sub-entity users and reserve rules, improve the flexibility of API requests, and enhance the SDK's support for identity verification workflows.