> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.mangopay.com/release-notes/sdk/php/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mangopay.com/_mcp/server. # PHP SDK **Package:** [mangopay4/php-sdk](https://packagist.org/packages/mangopay4/php-sdk) --- ## 5.1.0 - Oct 1, 2026 #### [5.1.0 - Oct 1, 2026](/release-notes/sdk/php/5-1-0) Added * Extended Preauthorization feature to rename Deposit Preauthorization * Extended Preauthorized PayIn * `Transaction::$ExtendedPreauthorizationId` * Extended Preauthorization event types * Settlement event types * `ProfilingAttemptReference` on users Deprecated * Deposit Preauthorization feature deprecated ## 5.0.0 - Sep 2, 2026 #### [5.0.0 - Sep 2, 2026](/release-notes/sdk/php/5-0-0) Breaking change * Minimum PHP version raised to 8.2 * Dropped `psr/log` v1 support * php-cs-fixer upgraded to v3 Changed * Removed legacy Docker-based test environments * Deprecated `ReflectionProperty::setAccessible()` and `curl_close()` calls removed ## 4.5.0 - Sep 2, 2026 #### [4.5.0 - Sep 2, 2026](/release-notes/sdk/php/4-5-0) Added * `KycInformation` containing `KycRenewalDeadline` on the regulatory endpoint * Account funding for card direct PayIn * Get PayPal data collection ## 4.4.0 - Aug 18, 2026 #### [4.4.0 - Aug 18, 2026](/release-notes/sdk/php/4-4-0) Added * Support for multi-session PSC flow on hosted KYB for Business * Identity verification event types * GET List Intent external providers Changed * `Tag` on intents and splits ## 4.3.0 - Jul 14, 2026 #### [4.3.0 - Jul 14, 2026](/release-notes/sdk/php/4-3-0) Fixed * Echo Settlement validation errors response mapping Deprecated * Non-SCA user methods * Deposit-preauthorized complement PayIn methods ## 4.2.0 - Jun 24, 2026 #### [4.2.0 - Jun 24, 2026](/release-notes/sdk/php/4-2-0) Added * `FlowDescriptor` for declaring pay-in `Beneficiaries` * Support for `Email` on webhooks Changed * Renamed `Report.DateFilterBy` to `Report.DateRangeBy` Deprecated * `Report.DateFilterBy` ## 4.1.0 - May 21, 2026 #### [4.1.0 - May 21, 2026](/release-notes/sdk/php/4-1-0) Added * PayPal deposit preauthorizations * Recurring Apple Pay and Google Pay pay-ins * Recurring pay-in registrations * Unified recurring pay-in creation * `Report.DateFilterBy` * Local Virtual Account properties for DK, AU, LI * Recipients pagination Deprecated * `ApiPayIns` deposit-preauthorized PayIn methods * `ApiPayIns` recurring PayIn methods ## 4.0.0 - May 6, 2026 #### [4.0.0 - May 6, 2026](/release-notes/sdk/php/4-0-0) Breaking change * Sub-object casting improvements * `VirtualAccount.InternationalAccountDetails` type fix ## 3.52.0 - Mar 30, 2026 #### [3.52.0 - Mar 30, 2026](/release-notes/sdk/php/3-52-0) Breaking change * Idempotency resource mapping overhaul * Payconiq PayIn removed following discontinuation Added * Klarna discount property on line items --- ## 3.51.0 - Mar 23, 2026 ### Added #### Support for mTLS authentication To support mTLS authentication for [SCA on platforms](/guides/sca/platform), which is required for platforms taking [SCA-triggering action under proxy](/guides/sca/proxy-management): * Added `ClientCertificatePath`, `ClientCertificateKeyPath`, `ClientCertificateString`, `ClientCertificateKeyString`, `ClientCertificateKeyPassword` properties to `Configuration.php` * Updated the `BuildRequest()` method to add the mTLS certificate based on the configuration properties * Updated `README.md` file with details on [how to configure mTLS for the SDK](/guides/sca/platform#4-integrate-mtls-in-the-sdk) **Note:** The SDK requires **TLS 1.2+** for TLS compliance, even for non-mTLS connections, in line with [Mangopay's security guidelines](/security#2-a-tls-and-https). ## 3.50.1 - Feb 23, 2026 ### Added #### ChargeBearer body parameter on payouts On [POST Create a Payout](/api-reference/payouts/create-payout), platforms can now request to pay all SWIFT fees using the `OUR` value of the new `ChargeBearer` property ([API release note](/release-notes/api/2026-02-16)): * Added `ChargeBearer` param (String) to `PayOutPaymentDetailsBankWire` class * Updated tests ### Added #### AuthenticationType response property on card pay-ins The `AuthenticationResult.AuthenticationType` response property is now returned on card pay-ins ([API release note](/release-notes/api/2026-02-23)): * Added the `AuthenticationResult` class * Added `AuthenticationResult` param (Object containing AuthenticationType) to `CardPreAuthorization`, `CardValidation`, `Deposit`, `PayIn` classes * Updated tests ### Added #### TelephoneOrder body parameter on recurring card pay-ins (CIT and MIT) To support the `TelephoneOrder` property on [POST Create a Recurring PayIn](/api-reference/recurring-card-payins/create-recurring-card-payin) (both CIT and MIT payloads): * Added `PaymentCategory` (String) to `RecurringPayInCIT` and `RecurringPayInMIT` classes * Updated tests ## 3.50.0 - Feb 12, 2026 ### FX ### Breaking change #### Custom fees To support percentage-based FX fees ([API release note](/release-notes/api/2026-02-11)): > **Warning** > > **Caution - Breaking change** > > * The `CreateInstantConversion.Fees` type is now `CustomFees` instead of `Money` > * The `ConversionQuote.Fees` type is now `CustomFees` instead of `Money` * Added `RequestedFees` to `ConversionQuote` * Added `RequestedFees` to `Conversion` ### Added #### User margin To support the FX user margin ([API release note](/release-notes/api/2026-02-11)): * Added `UserMargin` to `CreateInstantConversion`, `ConversionQuote` * Added `MarginsResponse` to `Conversion`, `ConversionQuote` ### Echo ### Breaking change #### Settlement upload endpoints To support the new behavior of the [POST Create a Settlement](/api-reference/settlements/create-settlement) endpoint to obtain an `UploadUrl`: * Updated `settlement_sample.csv` and tests * Added `FileName` and `UploadUrl` to `Settlement` > **Warning** > > **Caution - Breaking change** > > * Replaced `upload` method in `ApiSettlements` with `GenerateUploadUrl`: > > ```php PHP > $settlement = new Settlement(); > $settlement->FileName = 'settlement_sample.csv'; > result = $this->_api->Settlements->GenerateUploadUrl($settlement); > ``` > **Warning** > > **Caution - Breaking change** > > * Replaced `update` method in `ApiSettlements` with: `GenerateNewUploadUrl` > > ```php PHP > $dto = new Settlement(); > $dto->FileName = 'updated_settlement_sample.csv'; > $dto->Id = $settlement->SettlementId; > $result = $this->_api->Settlements->GenerateNewUploadUrl($dto); > ``` ### Added #### GET validations for a Settlement endpoint To support the [GET View validation errors for a Settlement](/api-reference/settlements/view-settlement-validations) endpoint: * Added `SettlementValidation, SettlementValidationFooter, SettlementValidationLine` classes * Added `GetValidations` method to `ApiSettlements` **`PHP`** ```php PHP _api->Settlements->GetValidations($settlement->SettlementId, $pagination); ``` #### PUT Cancel a Settlement endpoint To support the [PUT Cancel a Settlement](/api-reference/settlements/cancel-settlement) endpoint: * Added `Cancel` method to `ApiSettlements` **`PHP`** ```php PHP _api->Settlements->Cancel($settlement->SettlementId); ``` #### Intent unfunded amounts and source wallet * Added `SplitOriginWalletId` to `PayInIntentLineItem` and `PayInIntentSplit` * Added `UnfundedSellerAmount` to `PayInIntentLineItem` * Added `UnfundedAmount` to `PayInIntent` #### POST Create an Intent Refund To support [POST Create an Intent Refund](/api-reference/intents/create-intent-refund): * Added `Refund` and `Capture` to `PayInIntent` * Added `CreatePayInIntentRefund` method to `ApiPayIns` **`PHP`** ```php PHP _api->PayIns->CreatePayInIntentRefund($intent->Id, $refundDto); ``` #### POST Reverse an Intent Refund To support [POST Reverse an Intent Refund](/api-reference/intents/create-intent-refund): * Added `ReversePayInIntentRefund` method to `ApiPayIns` **`PHP`** ```php PHP _api->PayIns->ReversePayInIntentRefund($intent->Id, $intent->Refund->Id, $reverseRefundDto); ``` #### POST Create an Intent Dispute To support [POST Create an Intent Dispute](/api-reference/intents/create-intent-refund): * Added `Dispute` to `PayInIntent` * Added `CreatePayInIntentDispute` method to `ApiPayIns` **`PHP`** ```php PHP _api->PayIns->CreatePayInIntentDispute($intent->Id, $intent->Capture->Id, $disputeDto); ``` #### PUT Update an Intent Dispute To support [PUT Update an Intent Dispute](/api-reference/intents/create-intent-dispute): * Added `Decision` to `PayInIntent` * Added `UpdatePayInIntentDisputeOutcome` method to `ApiPayIns` **`PHP`** ```php PHP $outcomeDto = new PayInIntent(); $outcomeDto->Decision = "DEFENDED"; _api->PayIns->UpdatePayInIntentDisputeOutcome($intent->Id, $intent->Capture->Id, $intent->Dispute->Id, $outcomeDto); ``` ### Fixed #### VirtualAccountCapabilities * Fixed `LocalPayInAvailable` and `InternationalPayInAvailable` in `VirtualAccountCapabilities` class ## 3.49.0 - Jan 30, 2026 ### Added #### Support for new SCA status endpoint The SDK now supports the new [GET View the SCA status of a User](/api-reference/users/view-user-sca-status) endpoint: [GitHub PR #766](https://github.com/Mangopay/mangopay4-php-sdk/pull/766). #### RecipientId property on payouts The SDK now supports the `RecipientId` property on payouts: [GitHub PR #759](https://github.com/Mangopay/mangopay4-php-sdk/pull/759). #### New event types New event type values added: [GitHub PR #765](https://github.com/Mangopay/mangopay4-php-sdk/pull/765). ## 3.48.0 - Nov 28, 2025 ### Changed * Migrated to V4 naming convention ## 3.47.1 - Nov 25, 2025 ### Added * Support for `ScaContext` on [POST Create a Recipient](/api-reference/recipients/create-recipient) for platforms taking action by [proxy with consent](/guides/sca/proxy-management) from the user ([API release note](/release-notes/api/2025-11-17)) ## 3.47.0 - Oct 27, 2025 ### Added * New [POST Manage proxy consent for a User](/api-reference/users/manage-proxy-consent) endpoint to obtain and manage user consent via the hosted SCA experience (if proxy is activated). A proxy and user consent are now required to use the `USER_NOT_PRESENT` value for `ScaContext` ([API release note](/release-notes/api/2025-10-23)) * `ScaContext` request parameter newly added on all user POST and PUT endpoints, enabling the platform to request these actions with `USER_NOT_PRESENT` – provided the proxy is in place, activated, and the user has given consent ([API release note](/release-notes/api/2025-10-23#sca%3A-scacontext-request-parameter-on-user-endpoints)) * Support for the `Licensor` property on [GET View a Client](/api-reference/client/view-client) ### Changed * `x-tenant-id` deprecated as no longer necessary for UK platforms; the parameter is ignored by Mangopay ## 3.46.0 - Oct 1, 2025 ### Added * [Verification of Payee (VOP)](/guides/vop/recipients-payouts) API response fields (`RecipientVerificationOfPayee` and sub-properties) on the endpoints [GET View a Recipient](/api-reference/recipients/view-recipient), [POST Create a Recipient](/api-reference/recipients/create-recipient), [POST Create a Payout](/api-reference/payouts/create-payout) ([API release note](/release-notes/api/2025-09-30), #739) * Support for the [POST Cancel an Intent](/api-reference/intents/cancel-intent) endpoint for [Echo](/guides/echo), Mangopay's solution for platforms working with another third-party PSP for funds acquisition * Support for [POST Submit data for a PayPal PayIn](/api-reference/paypal/submit-data-paypal-payin) endpoint ## 3.45.2 - Sep 23, 2025 ### Added * Support for `ProfilingAttemptReference` on all payment methods for Mangopay's Fraud Prevention solution #743 * Webhook event types for [Echo](/guides/echo), Mangopay's solution for third-party PSP integrations: `INTENT_AUTHORIZED`,`INTENT_CAPTURED`,`INTENT_REFUNDED`,`INTENT_REFUND_REVERSED`,`INTENT_DISPUTE_CREATED`,`INTENT_DISPUTE_DEFENDED`,`INTENT_DISPUTE_WON`,`INTENT_DISPUTE_LOST`,`INTENT_SETTLED_NOT_PAID`,`INTENT_PAID`,`SPLIT_CREATED`,`SPLIT_PENDING_FUNDS_RECEPTION`,`SPLIT_AVAILABLE`,`SPLIT_REJECTED`,`SPLIT_REVERSED` * Support for `VirtualAccountPurpose` on Banking Alias object ## 3.45.1 - Sep 3, 2025 ### Added * Support for `Fees` on `ConversionQuote` ### Improved * OAuth token refresh buffer before expiry updated to 30s * Curl verification of SSL certificate * PHP 8.2 compatibility ### Fixed * Tests ## 3.45.0 - Aug 14, 2025 ### Changed * Type casting to deserialize arrays in `GetSchema` > ⚠️**Caution – Potentially breaking** > The new `GetSchema` typings may result in a breaking change if your integration relies on the `stdClass` returned previously. * Made `PendingUserAction` nullable ### Added * Support for [POST Create a Bank Wire to the Repudiation Wallet](/api-reference/dispute-settlement/create-bank-wire-payin-to-repudiation-wallet) ## 3.44.0 - Aug 7, 2025 ### Added Support for new Splits endpoints for Echo ([API release note](/release-notes/api/2025-07-16)): * [PUT Update an Intent Split](/api-reference/intents/update-intent-split) * [POST Execute an Intent Split](/api-reference/intents/execute-intent-split) * [POST Reverse an Intent Split](/api-reference/intents/reverse-intent-split) * [GET View an Intent Split](/api-reference/intents/view-intent-split) New `ReportTypes` for Echo ([API release note](/release-notes/api/2025-08-06)): * `ECHO_INTENT` * `ECHO_INTENT_ACTION` * `ECHO_SETTLEMENT` * `ECHO_SPLIT` ## 3.43.1 - Jul 28, 2025 ### Added * `Sku` parameter on LineItem, for [Klarna PayIns](/api-reference/klarna/create-klarna-payin) * handle new endpoint [View supported banks for Pay by Bank](/api-reference/pay-by-bank/view-supported-banks-pay-by-bank), to enable presentation of banks to user before Pay by Bank payment request ## 3.43.0 - Jul 18, 2025 ### Added Endpoints for [Mangopay Echo](/guides/echo), a solution for platforms working with another third-party PSP for funds acquisition (including via the Mirakl Connector): * [POST Create an Intent](/api-reference/intents/create-intent) * [GET View an Intent](/api-reference/intents/view-intent) * [POST Create a Capture for an Intent](/api-reference/intents/create-intent-capture) * [POST Create a Settlement](/api-reference/settlements/create-settlement) * [PUT Update a Settlement](/api-reference/settlements/update-settlement) * [GET View a Settlement](/api-reference/settlements/view-settlement) * [POST Create an Intent Split](/api-reference/intents/create-intent-split) ## 3.42.0 - Jul 3, 2025 ### Added * New endpoint [POST Create a Bizum PayIn](/api-reference/bizum/create-bizum-payin) * New webhook event types for SCA enrollment ([API release note](/release-notes/api/2025-06-23)), note that these are triggered on enrollment not authentication: * `SCA_ENROLLMENT_SUCCEEDED` * `SCA_ENROLLMENT_FAILED` * `SCA_ENROLLMENT_EXPIRED` * New webhook event types for `UserCategory` change ([API release note](/release-notes/api/2025-06-23)): * `USER_CATEGORY_UPDATED_TO_OWNER` * `USER_CATEGORY_UPDATED_TO_PAYER` * `USER_CATEGORY_UPDATED_TO_PLATFORM` * Support for `PLATFORM` value to `UserCategory` enum * Support for [GET List Transactions for a Card Fingerprint](/api-reference/transactions/list-transactions-card-fingerprint) ## 3.41.1 - Jun 12, 2025 ### Added * [US and CA virtual accounts](/release-notes/api/2025-06-12) for local pay-in collection ### Fixed * On POST Enroll a User, `PendingUserAction` cast to `MangoPayPendingUserAction` instead of `stdClass` ## 3.41.0 - Jun 10, 2025 ### Added Endpoints for [new Reporting Service](/release-notes/api/2025-06-05) feature: * [POST Create a Report](/api-reference/reporting/create-report) * [GET View a Report](/api-reference/reporting/view-report) * [GET List all Reports](/api-reference/reporting/list-reports) Webhook [event types](/webhooks/event-types#reports) for new Reporting Service: * `REPORT_GENERATED` * `REPORT_FAILED` Support for [GET List Disputes for a PayIn](/api-reference/disputes/list-disputes-payin) endpoint. ## 3.40.1 - Jun 6, 2025 ### Added * Support for `RecipientScope` query parameter on [GET List Recipients for a User](/api-reference/recipients/list-recipients-user) * Support for missing webhook event types (recurring registration, deposit preauth, etc) ### Fixed * `Status` enum value on Identity Verification object changed from `OUTDATED` to `OUT_OF_DATE`