- New endpoint add order status by payment route (#155)
@Francois-Gomis, @alma-renovate-bot, @alma-renovate-bot[bot], @github-actions and @remi-zuffinetti
- Change send configuration url endpoint (#150)
@Benjamin-Freoua-Alma and @github-actions
- chore(deps): update pre-commit hook returntocorp/semgrep to v1.92.0 (#116)
- feat: replace payment validator hmac verification by request hmac val… (#147)
- Change CmsInfo themes to theme_name and theme_version (#146)
- Add isUrlRefreshRequired function (#145)
- Make nullable for all attributes in CmsInfo and CmsFeatures (#143)
- Create endpoint and formatter for gather cms data (#142)
@Benjamin-Freoua-Alma, @Francois-Gomis, @alma-renovate-bot, @alma-renovate-bot[bot], @github-actions, @hyahiaoui, @joyet-simon and @remi-zuffinetti
- Add function for HMAC verification (#132)
@Benjamin-Freoua-Alma, @CamilleFljt, @Francois-Gomis and @carine-bonnafous
- Add new release workflow (#111)
- Improve unit tests (#110)
- Rework integration test in php client (#125)
- Add updateTracking put endpoint & refactor Order Model (#124)
@Francois-Gomis, @carine-bonnafous, @gdraynz, @joyet-simon and @remic-alma
- Add endpoint Order State
- Fix error in throw exception without sprintf
- Fix endpoint customer-carts
- Fix json_decode in getSubscriptionDetails
- Add subscription pending_cancellation status
- Added order_id in subscription model
- Added sendCustomerCart endpoint Insurance
- Added cancelSubscription endpoint Insurance
- Added getSubscription endpoint Insurance
- Fix Subscription amount model
- Fix : Don't remove amount in refund if value equal zero
- Added Alma insurance endpoints
- Fix : Compatibility psr/log 1/2/3
- Fix : Unit tests and Integration tests for PHP5.6 to PHP8.2
- Fix : Check the amount purchase type
- Fix: composer
- Fix : Compatibility with PHP 8.2
- Added pay now payment plan behavior
- Added payment cancel endpoint
- Fixed tests PSR4 namespaces
- Added
addConsent
andremoveConsent
method toShareOfCheckout
endpoint
- Added
expired_at
property toPayment
entity - Added
getErrorMessage
method toRequestError
to fetch error message from the response when not accessible fromgetMessage
- Splited
refund
endpoint intopartialRefund
andfullRefund
- Added github CI for lint and unit tests purposes
- Added unit-tests
- Extract RequestError from Request.php file
- Added share of checkout endpoint
- Fix merchant reference only on partial refunds (#23)
- Allow merchant reference on refund endpoint
- Add payment upon trigger fields
- Add payment customer field
- Add payment billing address field
- Added configuration validation
- Utils functions now moved into classes to respect php good practices
- Added docker-compose to ease dev and local testing
- Add trigger payment in endpoint payment
- Add edit payment in endpoint payment
- Add annual interest rate from eligibility
- Add P10x informations
- New eligibility v2 endpoint
- Add customerTotalCostAmount, customerTotalCostBps in eligibility
- Add an option to depart from a legacy behaviour where the eligibility endpoint would not raise RequestErrors on 4xx
and 5xx errors. The default is to keep the original behaviour so as not to break existing implementations.
New implementations should call the endpoint with a second argument set to
true
and try/catch RequestError exceptions to better handle error cases with eligibility:try { $eligibility = $alma->payments->eligibility($data, true); } catch (RequestError $e) { // Handle errors }
- Add fields and docs to the Payment entity
- Add a Refund entity and extract refunds data within the Payment entity constructor
- Add the
feePlans
endpoint to themerchants
scope, so that one can fetch "fee plans" configured for their merchant account:$alma->merchants->feePlans();
— see function's docs for available options
- Add missing fields to Instalment entity
- Fix non-working code in the Orders endpoint & PaginatedResults class
- Improve type hints
- Fix compatibility with PHP versions older than 5.6
- Move
LIVE_MODE
&TEST_MODE
constants into theClient
class so that they're more easily addressable usingAlma\API\Client::LIVE_MODE
&Alma\API\Client::TEST_MODE
- Fixes webhook signature computation (use url-safe base64 encoding)
- Updates Webhook type constant name
- Adds endpoint to send payment link to customer via SMS
- Properly deserialize orders array in Payment entity
- Documents Order entity fields
- Adds endpoint to add an Order to a Payment
- Document usage of the lib without Composer & release a ready-to-use zip of the API client
- Fixes handling of server errors in eligibility endpoint
- Fixes eligibility response handling, which was buggy in case of non-eligibility responses and legacy response types
- Minor bug fix
- Fixes missing Webhooks endpoint instance on Client class
- Adds the Orders endpoint and Order entity to handle orders associated to a payment
- Improves the eligibility endpoint to handle multiple eligibility results (for different installments counts)
- Adds the Webhooks endpoint to be able to register webhook URLs against the API
- Adds payment_plan to eligibility result
- Bug fix: Always include a body for POST requests to prevent HTTP 411 error
- Adds
fee_plans
attribute to theMerchant
entity - Deprecate
Payments::createPayment
in favor ofPayments::create
- Adds the
Payments::refund
endpoint to partially or totally refund a payment - [Adds PHPUnit and a few unit tests, but nothing big just yet]
Getting more serious with a 1.0.0 release! 🎉
- Adds User-Agent with PHP and client version
- Adds ability to add User-Agent "components" to the request
- Eligibility check now returns
200 OK
with{"eligible": false}
for non-eligible purchases: supports legacy406
status code and the new version - New eligibility check's negative response includes constraints that should be met to be eligible
- Adds the possibility to flag a payment as potentially fraudulent
- Adds
Alma\API\Payment::STATE_PAID
- Adds support for Sandbox API root
- Bug fixes:
- Missing default Logger in Client instantiation - now using Psr\Log\NullLogger
- Alma\Api\Entity\Payment attributes had been wrongly converted to
camelCase
- Updates root namespace to
Alma\API
instead of justAlma
- Adds PSR-4 autoload config to
composer.json
- Logger is now just an option to the Client creation
- Uses PSR-3 logger spec
-
Initial "pre-release" of the API Client
-
Includes two main endpoints: Payments and Merchants
-
Provides what's necessary for a typical payment flow:
Payments.createPayment
andPayments.eligibility
Merchants.me
-
Base
Alma\API\Client
class can be configured with API key and live/test mode -
TLS is automatically forced to TLS 1.2 to meet Alma's security requirements, but configurable