New error returned by the SDK
We have added a new error to the SDK Enrollment errors to indicate when a card should be enrolled via the network bulk enrollment flow.
Enhanced Card Subscription
Added a new field, enrollmentType
, to the card subscription entity to indicate whether the card subscription was created via single card enrollment or bulk enrollment flow.
Ability to check which webhook event is being emitted.
We've introduced support for the eventName in webhook headers, addressing customer concerns about the overhead our previous webhook implementation caused.
Cannot update the state of a bulk enrolled Card Subscription
We have updated the PATCH /card-subscriptions/<id>
endpoint to return a 422 Unprocessable Entity
status response when trying to change the state of a bulk enrolled Card Subscription. It should only be possible to update the state of a single enrolled Card Subscription.
New cardholder information
We have created a new endpoint GET /cards/<id>/cardholder
to query information about the cardholder of a given card.
We have also updated the GET /cards
(List cards) and GET /cards/<id>
(Get card by Id) endpoints. These endpoints now include a new link in the_links
section whenever cardholder information is available for a given card.
Card Subscription Webhook event types
We have new webhook event types cardsubscription.created
and cardsubscription.updated
. To provide customers with readily available information about the status of card subscription, and without the need for additional API calls.
Transaction amounts now accurately adapt to transaction messages sent out of order
A new rules engine has been implemented to accurately calculate transaction amounts, even when authorization and clearing messages are received out of order from upstream sources.
Transaction statuses are now independent of past state
Transaction status is now calculated independently of previous states, ensuring accurate updates based on the latest data received. Customers can rely on real-time status, with the most recent message determining the final state.
Reduced failed transaction processing
Resolved an issue where 2-4% of Mastercard transactions were sent with missing required fields, preventing processing due to risks of de-duplication and message miscorrelation.
Enhanced SDK initialisation resiliency
Increased SDK resiliency to initial request timeouts.