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.
Click To Pay payment method is added to Java SDK.
- Added
\UnzerSDK\Resources\PaymentTypes\ClickToPay
payment method. - Added
\UnzerSDK\Resources\PaymentTypes\Twint
payment method.
This version adds support for Google Pay.
- Add
\UnzerSDK\Resources\PaymentTypes\Googlepay
payment type. - Add Example for Google Pay.
- Add PHP 8.3 version to composer.json
Revert deprecation of Sepa Direct Debit type.
- Revert deprecation of
\UnzerSDK\Resources\PaymentTypes\SepaDirectDebit
.
This version adds support for Paylater Direct Debit payment method.
- Add
\UnzerSDK\Resources\PaymentTypes\PaylaterDirectDebit
payment type. - Add Example for Direct Debit payment type.
- Add constants
\UnzerSDK\Constants\CustomerRegistrationLevel
for valid "registrationLevel" values. Relevant for setting riskData. - Add riskData to PaylaterInstallment example.
- Add riskData to PaylaterInvoice example.
- Add bank account information to
\UnzerSDK\Resources\PaymentTypes\Sofort
class.
- Allow
null
for setters in\UnzerSDK\Traits\HasAccountInformation
trait to avoid error when e.g. API response contains empty bic. - Apple Pay example: Moved merchant identifier to constant in
_enableExamples.php
where it can be configured.
\UnzerSDK\Resources\PaymentTypes\SepaDirectDebit
, please use\UnzerSDK\Resources\PaymentTypes\PaylaterDirectDebit
.\UnzerSDK\Resources\PaymentTypes\SepaDirectDebitSecured
, please use\UnzerSDK\Resources\PaymentTypes\PaylaterDirectDebit
.
- Chargeback transaction type.
- Add class
\UnzerSDK\Resources\TransactionTypes\Chargeback
. - Add methods
\UnzerSDK\Unzer::fetchChargeback
and\UnzerSDK\Unzer::fetchChargebackById
to fetch chargeback information.
- Add class
- Add
\UnzerSDK\Resources\PaymentTypes\PayU
payment type. - Add example for PayU payment type.
- Support for "Paylater Installment" payment type.
- Add payment type "PaylaterInstallment"
- Add
\UnzerSDK\Unzer::fetchPaylaterInstallmentPlans
method to get available installment plans.
- Add "Paylater Installment" example.
\UnzerSDK\Resources\Payment::getCancellation
, please usegetCancellation
method of\UnzerSDK\Resources\TransactionTypes\Charge
or\UnzerSDK\Resources\TransactionTypes\Authorization
instead, depending on your use-case.\UnzerSDK\Resources\PaymentTypes\InstallmentSecured
, will be replaced by\UnzerSDK\Resources\PaymentTypes\PaylaterInstallment
in the future.
- Remove test-only constants and functions from
\UnzerSDK\Services\EnvironmentService
and move them to\UnzerSDK\test\Helper\TestEnvironmentService
. \UnzerSDK\Unzer::fetchPayPage()
method no longer automatically fetches linked Paypage to avoid issues with expired payment pages.
- Add payment types "Post Finance Card" and "Post Finance eFinance".
- Add setter/getter to PayPage for
recurrenceType
andexemptionType
.
- Make setter and getter for
PayPage::AdditionalAttributes
public to allow adding information manually.
- Enable PHP version 8.2 in composer.json.
- Add paypage property to
Payment
class. - Add class
\UnzerSDK\Resources\EmbeddedResources\CardTransactionData
. Set as "card" field of additionalTransactionData - Add constants
\UnzerSDK\Constants\LiabilityShiftIndicator
for valid liability shift indicator values, relevant for card payment.- Charge and authorize transactions with card can contain that indicator in Api Response. (
CardTransactionData::$liability
)
- Charge and authorize transactions with card can contain that indicator in Api Response. (
- Switch SDK to 3-digit versioning. First digit, formerly representing API version gets omitted (1.3.0.0 -> 3.0.0).
- Add Type declaration to methods where applicable.
- Enable
Unzer::fetchPaymentRefund
andUnzer::fetchPaymentReversal
to use resource ID as parameter. - Raise minimum PHP version to 7.4 in composer.json
- Handling of additionalTransactionData:
additionalTransactionData.card
from API responses will be mapped on\UnzerSDK\Resources\EmbeddedResources\CardTransactionData
now.- Remove
paymentType
parameter of\UnzerSDK\Traits\HasRecurrenceType::setRecurrenceType
, it will always be set forcard
field ofadditionalTransactionData
.
- Resource ID fields won't be sent in payment request if they are empty anymore.
-
Add support for express checkout via PayPal.
- Add support to set
checkoutType
for charge/authorize request. - Add transaction status
resumed
. - Add
updateCharge
andupdateAuthorization
method toUnzer
class
- Add support to set
-
Add missing "payment" webhook event.
-
Add
invoiceId
to Cancellation class.
- Marked unsecured
Invoice
class as deprecated.
- Sandbox API-URL will automatically be used for API calls depending on the private key.
- Adjust calculations of
Unzer::cancelPayment
method to avoid float precision issues.
- Allow fetching payment type config for paylater invoice.
- Add payment type "Klarna".
- Provide Example for "Klarna" payment method.
- Add
language
property to Customer class which is required for klarna payments.
- Update UPL Invoice Example to display the "my consent" link in payment form.
- Update examples to display shortId on success page also for payments done via payment pages.
- Add background and logo image URLs to examples, which can be adjusted in the
_enableExamples.php
file. - General adjustments of examples:
- Ensure all payment forms use correct css class.
- Place submit button into an extra div element.
- Disable submit button by default if a payment type has mandatory input fields.
- The
activateRecurring
method for Card and SepaDirectDebit types is deprecated.- For Card recurring please use
Charge|Authorization::setRecurrenceType
and perform a charge or authorization. - For Sepa Direct Debit a successful charge will automatically set the type resource as recurring.
- For Card recurring please use
- Add payment type Paylater Invoice.
- Add properties
companyType
andowner
toCompanyInfo
class. - Add
shippingType
property toAddress
class. - Allow setting the clientIp manually.
- Allow setting
riskData
for authorize request. - Allow setting shipping data for charge request such as
deliveryTrackingId
,deliveryService
andreturnTrackingId
. - Add new methods for
authorize
andcharge
transactions that use prepared objects only:Unzer::performAuthorization()
Unzer::performCharge()
Unzer::performChargeOnPayment()
- Add new methods to cancel payments done via paylater-invoice type:
Unzer::cancelAuthorizedPayment()
Unzer::cancelChargedPayment()
- Add new methods to fetch cancellations of payment done via paylater-invoice type:
Unzer::fetchPaymentReversal()
Unzer::fetchPaymentRefund()
- Add Paylater Invoice example including the function to capture an authorized payment.
- Remove redundant
currency
parameter fromUnzer::chargePayment()
method. - Add
geoLocation
property to all payment type classes. - Several minor improvements.
- Add account information coming from PAPI to Authorize class.
- Classes:
- Mark
InvoiceSecured
as deprecated, will be replaced byPaylaterInvoice
.
- Mark
- Methods:
- Mark
Unzer::authorize()
as deprecated. Please useUnzer::performAuthorization()
instead. - Mark
Unzer::charge()
as deprecated. Please useUnzer::performCharge()
instead. - Mark
Unzer::chargePayment()
as deprecated. Please useUnzer::performChargeOnPayment()
instead. - Mark
Unzer::chargeAuthorization()
as deprecated. Please useUnzer::performChargeOnPayment()
instead.
- Mark
- Add Support for basket
v2
resource.
- Add support for payment state
create
which can occur when using payment pages. - Examples:
- Use
v2/basket
resource for secured payment methods and payment pages. - Remove broken image-URLs of payment page examples.
- Use
- Several minor improvements.
- Enable PHP 8.1 compatibility.
- Fix an issue that can cause an exception when fetching a payment that contained a "cancel-authorize" transaction even though the payment has no authorization transaction.
- Update broken documentation links in readme.
- Several minor improvements.
- Added Apple Pay example.
- Adjust
cancelAmount
logic to work properly with Invoice Secured payments. - Updated jQuery and frameworks used in examples.
- Fixed failing card tests.
- Several minor improvements.
- Enable recurrence type to be set for
charge
,authorize
andactivateRecurringPayment
methods.
- Enable recurring examples (card paypal)to trigger subsequent transaction from success page.
- Enable card recurring example to use recurrence type.
- Several minor improvements.
- Enable PHP 8.0 compatibility.
- Allow PHPUnit version 8.x and 9.x in composer dev requirements and adjust tests accordingly.
- Payment Page examples: Add missing customer information that are required for payment with Instalment (address, dob, salutation).
\UnzerSDK\Services\HttpService::handleErrors
explicitly casts response code to int, to ensure same behaviour on all PHP versions.- Several minor changes.
- Introduce the payment type Applepay.
- Examples:
- Card Examples - Ensure that error messages are displayed just one time.
- Configuration - Change default protocol to https.
- Configuration - Correct vendor name of path constant
UNZER_PAPI_FOLDER
.
- Update documentation links.
- Change debug logging of failed tests that depend on another one to work as expected.
- PayPal recurring example: Response handling changed to check the recurring status of the payment type.
- Extended testing for Instalment payment type.
- Cards (extended) example using email UI element.
- Remove PhpUnit 8 support.
- Card recurring example using email UI element.
- Card example and paypage examples use a dummy customer-email to ensure they work with 3ds2.
- Several minor changes.
- Add email property to payment type
card
to meet 3Ds2.x regulations. - Several minor changes.
- Rebranding of the SDK.
- Removed payment type string from URL when fetching a payment type resource.
- Replace payment methods guaranteed/factoring by secured payment methods, i.e.:
InvoiceGuaranteed
andInvoiceFactoring
replaced byInvoiceSecured
.SepaDirectDebitGuaranteed
replaced bySepaDirectDebitSecured
.HirePurchaseDirectDebit
replaced byInstallmentSecured
.- Basket is now mandatory for all those payment types above.
- Added mapping of old payment type ids to the new payment type resources.
- Constant in
\UnzerSDK\Constants\ApiResponseCodes
got renamed:API_ERROR_IVF_REQUIRES_CUSTOMER
renamed toAPI_ERROR_FACTORING_REQUIRES_CUSTOMER
.API_ERROR_IVF_REQUIRES_BASKET
renamed toAPI_ERROR_FACTORING_REQUIRES_BASKET
.
- Several minor changes.
- Remove deprecated methods:
- getAmountTotal
- setAmountTotal
- getCardHolder
- setHolder
- cancel
- cancelAllCharges
- cancelAuthorization
- getResource
- fetchResource
- Remove deprecated constants:
- API_ERROR_AUTHORIZE_ALREADY_CANCELLED
- API_ERROR_CHARGE_ALREADY_CHARGED_BACK
- API_ERROR_BASKET_ITEM_IMAGE_INVALID_EXTENSION
- ENV_VAR_NAME_DISABLE_TEST_LOGGING