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.
- Deprecation note.
- Bancontact payment type and example.
- Payment page examples.
- Curl error string to debug log.
- Environment variable to enable/disable verbose curl output.
- Method to get the initial transaction from a payment.
- Parameter
css
toPaypage
to enable custom styling. Special thanks to github user bleenders.
- Mask auth header in debug log.
- Refactor test logging.
- Replace test environment variable.
- Apply minor changes.
- Refactor tests due to disabled default keypair.
- Refactor all files to reflect PHP 7.1 standards.
- Replace
codacy/coverage
withcodacy/codacy-coverage-reporter
. - Update examples.
- Change TravisCI config to use default linux distribution in VM to fix certificate errors during integration tests.
- Remove invalid PHPUnit config parameters.
- Disabled key pair from examples and tests.
- Remove deprecated method
authorizeWithPayment
. - Remove return value from
deleteCustomer
method.
- Rename Cards property holder to cardHolder.
- Add cancellation object to authorization only if cancellation has been successful.
- Fix some minor issues.
- Refactor tests due to API changes.
- Update response codes due to API changes.
- TraceId property to payment and transactions.
- Email form field to PayPal example.
- Description to zgReferenceId setter/getter.
- Added geolocation to Card resource.
- Payout webhook events.
- Fixed some minor issues.
- PHP version to HTTP header.
- PHP7.0 support.
- Travis tests using composer update.
- Changed date format string to support times with 24h-format.
- Http headers to debug log.
- PID to debug log.
- PHP7.4 support.
- Handles for automatic testing to examples.
- Update example implementation for Hire Purchase direct debit payment type (FlexiPay® Rate).
- Write log messages from examples to examples\log\example.log instead of error.log.
- Several minor changes.
- Ensure locale strings comply to standard.
- Example for Payment Type
Przelewy24
. - Enabled recurring payment for SEPA direct debit (guaranteed).
- Composer: PHP version constraint.
- Several minor issues.
- Refactor travis config.
- Refactor heidelpay facade to implement service interfaces.
- Move payment cancel methods to cancel service.
- Cleanup doc comments.
- Refactor unit tests.
- Refactor access modifiers of setters intended for system access only.
- Move method doc blocks to service interfaces.
- Remove dead code.
- A bug which led to an error when trying to cancel the initial transaction of a charged invoice.
- Hire purchase direct debit payment type (FlexiPay® Rate) including example implementation.
- Additional parameters from payment type to transactions.
- Facade method to update payment type.
- Property
invoiceId
toPayment
class. - Added card details to
Card
payment type. - Property
card3ds
toPaypage
. - Geolocation to
Customer
resource. - Property
effectiveInterestRate
toPayPage
to enableHirePurchase
payment types.
- Refactor invoice guaranteed tests to make them independent from each other.
- Response Code for basket item image extension error has been deprecated since it has been removed from the API.
- Refactored cancellation feature to support FlexiPay® Rate cancel.
- Remove trailing slash from routes.
- Float values are now rounded with 4 decimal places when exposed to the API. The value of the local object will be updated as well.
- Unused Constants.
- Obsolete/dead code.
- Several minor issues.
- It is now possible to exclude payment types from the Paypage.
- An example for
prepayment
payment method. - An example for
invoice
payment method. - Charge methods
getCancelledAmount
andgetTotalAmount
. - Authorize method
getCancelledAmount
. - Detailed
keypair
fetch. - Added properties to keypair resource.
- A problem with HeidelpayApiException.
- A problem which resulted in an error when trying to create a
customer
implicitly with a transaction when itscustomerId
was set.
- Replaced unreliable
Payment::cancel()
method withPayment::cancelAmount()
which takes multiple cancellation scenarios into account. - Replaced
ApiResponseCodes::API_ERROR_AUTHORIZE_ALREADY_CANCELLED
withApiResponseCodes::API_ERROR_ALREADY_CANCELLED
. - Replaced
ApiResponseCodes::API_ERROR_CHARGE_ALREADY_CHARGED_BACK
withApiResponseCodes::API_ERROR_ALREADY_CHARGED_BACK
. - Add deprecation notice for
Payment::cancelAllCharges
andPayment::cancelAuthorization
- Adapted integration tests with basket to changes in API.
- Refactor deprecation notices.
- Refactored and extended unit tests.
- Test keypair can now be set via environment variables.
- Activate recurring payment for
SEPA Direct Debit (guaranteed)
.
- An issue resulting in an error when a B2B customer is fetched which does not have a function set.
- Example to fetch all registered webhooks for the given key pair.
- Missing API response code for insurance already activated message after shipment.
- Giropay example
- Optional parameter orderId to ship call.
- Removed deletion of all webhooks prior to registering to webhook events.
- Parameters
paymentReference
andinvoiceId
toAuthorization
andPayout
. - The SDK now supports the webhook event
payout
. - Example for Flexipay direct.
- Email parameter to
Paypal
payment type. - Error id to
HeidelpayApiException
.
- The webhook tests now cover all supported events.
- SAQ-A test due to lack of a corresponding key.
- Refactored all examples.
- Fixed iDeal example.
- Metadata are no longer automatically created and sent when they are not set by the merchant.
- Version and Type of the SDK are now sent to the API with every request.
- Add missing feature to readme.
- Renamed property
Basket::amountTotal
toBasket::amountTotalGross
to follow the change in the API. - Refactor tests.
- Set
Paypage
default action to 'charge' and restrict values to 'charge' and 'authorize'.
- Property
type
toBasketItem
. - An exception is now thrown in case of a
CURL
timeout. - The
CURL
timeout can now be changed via environment variable.
- Unnecessary resource setters in
Paypage
.
- Unit tests work now even in
development
orstaging
environment.
- Support for hosted and embedded payment page.
- Refactor integration tests to reduce redundancies and complexity.
- Enable debug logging with unescaped slashes.
- Add payout transaction for Card and Sepa direct debit (guaranteed) payment type.
Customer
objects can now be created viaCustomerFactory
.
- Links to documentation page.
- Add deprecation notice for
Customer::__construct()
which is replaced by theCustomerFactory
.
- Enabled switching MGW environment (Prod, Staging, Dev) via environment variable.
- Examples for iDeal and Sofort.
- Added PHP 7.3 support.
- Add recurring payment for PayPal and Card payment type incl. examples.
- Updated unit tests.
- Refactored examples.
- Allow to pass the event payload manually to
Heidelpay::fetchResourceFromEvent
. - Add properties
imageUrl
andsubTitle
toBasketItem
resource.
- Added property
paymentReference
to charge and refund transaction.
- Adapted tests to new api behavior.
- Added 3ds flag to card payment type.
- Added example for invoice guaranteed payment type.
- Added example for PayPal payment type.
- Added example for the sepa direct debit guaranteed payment type.
- Added example for the deletion of all webhooks.
- Added missing parameter
invoiceId
topayment::ship
method. - A problem which resulted in an error when the property BasketItem::AmountPerUnit is set to 0.0.
- Refactored implementation examples.
- Enabled fetching the payment via orderId if its id is not set.
- Changed the default values of Basket and BasketItem.
- Refactored updating resource properties.
- Adapt to small API changes.
- Added Webhook(s) functionality: Resource, tests, example.
- Extended ResourceService with method to fetch a resource by its url.
- Added method to fetch resource by received event.
- Added log method to write to custom debuglog to heidelpay facade.
- Added IdService to fetch ids and types from id strings.
- Added Alipay payment type and example.
- Added WeChat Pay payment type and example.
- Added Invoice Factoring payment type and example.
- Applied several micro optimizations.
- Added response code to rest call logs.
- Adapted integration tests to new api version.
- Added parameter reasonCode to cancel method.
- Update of ApiResponseCodes.
- Add optional property invoiceId to charge transaction.
- Refactor setting basket items in basket resource to avoid problem with missing basket item reference id.
- Payment types
Prepayment
,Invoice
andInvoice guaranteed
can no longer perform the authorize transaction but only direct charge. - Enabled chargePayment with payment id.
- Renamed
KeyValidator
class toPrivateKeyValidator
. - Enabled setting the language for client messages.
- Merged examples into and added error messages to the failure page.
- Changed tests to meet updates in payment amount calculation within the payment API.
- Basic
PublicKeyValidator
which makes sure the key has the correct format. - Basket field
amountTotalVat
. - Optional parameter card3ds to charge and authorize transactions to enable switching between 3ds and non-3ds.
- Transaction message property holding the last code and message from the api.
- Constructor from
AbstractHeidelpayResource
.
- Several code style issues.
- Made status information available in transactions (isSuccess, isError, isPending).
- Http-Request: Remove payload from DELETE call.
- DebugLog: Remove payload output from GET and DELETE calls.
- Several code style issues.
- EPS payment type incl. example code.
- It is now possible to create, update and fetch a basket as well as referencing it by a authorization or charge.
- Missing tests for metadata resource.
- Refactor value update to allow for empty strings.
- Ensuring that transferred floats are always encoded as floats on json-encode.
- Properties stored in an array are now (json-)encoded as \stdClass not as array.
- Comments and styles.
- Fixed a bug which resulted in an error on getOrderId when the order id has not been set.
- Fixed namespace configuration in composer.json.
- Fixed a bug which resulted in metadata not being referenced by charge transactions.
- Set error code to string in HeidelpayApiException by default.
- Disabled pretty print of json string in response.
- Re-enabled skipped test.
- Examples: Added shortId of the transaction to the success and failure pages.
- Examples: Added an example debug handler.
- Readme: Added list of supported payment types.
- Added missing ApiResponseCodes.
- Added additional getter to fetch the merchant message from a HeidelpayApiException.
- Extended integration tests to test with matching addresses and with unmatching addresses.
- Added additional badges to readme file.
- Fixed license information.
- Fixed package information.
- Fixed return values for several getters.
- Changed versioning paradigm.
- Update documentation.
- Refactored examples.
- Refactored HttpAdapter implementation and made custom adapters injectable.
- Refactored exceptions.
- Reduced complexity in general.
- Refactored expiry date validation.
- Store transaction date as \DateTime instead of string.
- Enabled some skipped tests.
- Refactored integration tests.
- Changed travis configuration to perform unit tests with coverage-analysis instead of integration tests.
- Changed namespaces and packages.
- Added unit tests.
- Added debug handler injection.
- Added Metadata resource.
- Added fetching customer via (external) customerId.
- Added private key to Keypair resource.
- Added PIS payment type.
- Added ResourceNameService.
- Added method to create or update customer (uses customerId field to update if the id is not set).
- Added shipping address to customer resource.
- Added support info to readme file.
- Removed supported currencies and locales.
- Fix result urls.
- Fix PhpDoc.
- Beta release for the new php sdk.