Summary
This release brings flexible pricing for self-service wallet top-ups, webhook delivery events with resend, editable payment gateway integrations, Stripe payment-method and 3-D Secure fixes, split-by-meter-property pricing in Desk, and a range of invoicing, quote and meter improvements.
Meters and events
Delete events by reference
Events (meter data) can now be deleted using their reference as a path parameter on the delete endpoint, in addition to the resource id. Previously deleting by reference was only possible via a POST, which made it hard to trace; you can now remove a specific event directly by the reference you sent when ingesting it.
Use non-required meter values and properties in calculations and pricing rules
The required flag on a meter value or property now only governs event validation on ingest; it no longer gates what can be referenced elsewhere. Non-required values and properties can now be used in meter value calculations and in pricing rule conditions, and Desk offers them in the usage-metric and pricing-rule editors. This lets you build calculations and conditional pricing on optional usage data without forcing it onto every event.
Fixes
- A meter value or property can no longer be removed while it is still used by a feature, and a feature can no longer be created that references a value or property on a draft meter, preventing broken feature configurations.
Pricing
Flexible pricing for on-demand top-ups
A new FLEXIBLE pricing type lets a customer choose how much to pay within a range and receive wallet credits in proportion to the amount. You set a minimum and maximum amount and a credit conversion rate on a one-off, on-demand product item; the customer pays anything within the range (for example between $20 and $100) and is granted the matching number of wallet credits. It is charged through the on-demand flow, so it fits self-service wallet top-ups where the customer decides the amount.
Create pricing groups directly on a schedule You can now create pricing groups directly on a pricing plan schedule, without linking them to a pricing plan version, via the pricing group API. This complements pricing defined directly on a schedule, so a schedule’s stand-alone pricing can also include grouped, selectable options rather than only flat pricings.
Split pricing by meter property in Desk Split pricing by meter property is now available in Desk. When a usage-based product item’s meter has meter properties, you can define split pricing on the pricing item config directly in the UI, instead of only through the API. This unblocks setting up contracts that rely on splitting usage across a property (for example per region or per SKU) without hand-crafting the configuration over the API.
Quotes
Leave the expiry date empty on an upgrade quote
The quote upgrade flow now allows leaving the expiry date empty (expired_at can be null), matching the other quote flows, so an upgrade quote no longer has to carry an expiry date.
Quote flow improvements A set of UX refinements to the quote creation flow in Desk, streamlining the steps and interactions when building a quote.
Invoices
Clearer “price per X units” on invoices Usage prices expressed per a number of units (for example a price per 1,000 API calls) are now displayed more clearly on invoices, so the unit basis of a charge is easier to read on the document.
Fixes
- One-off lines added from a Deduction-type product can now be deleted from a draft invoice. Previously the delete icon only appeared for one-off lines from Revenue-type products, so deduction lines could not be removed once added.
- Fixed the wallet balance shown on the invoice, where expired wallet credits were not correctly deducted, so the wallet balance details on the invoice now reflect credit expiry correctly.
Customers
Fixes
- Fixed adding parent customers to a customer that already has parents. The form previously sent the existing parents as null values, which blocked adding more; you can now extend an existing parent list.
Payments
Stripe payment method options by currency and amount, and 3-D Secure handling Stripe payment method options are now filtered by the payment’s currency and amount limits, so only methods that actually support that currency and amount are returned; previously a payment in one currency could be offered methods that don’t support it. Alongside this, the Stripe authorisation flow and 3-D Secure handling were fixed so payments complete correctly after 3DS validation, and a Stripe customer is created when needed so the payment method can be stored rather than the payment being taken as a guest.
Developers
Webhook delivery events You can now inspect and replay individual webhook deliveries. New read endpoints return the delivery events for a webhook, each including the action that triggered the delivery, the HTTP status code your endpoint returned, the request payload, and any failure details. A resend action lets you re-trigger a delivery after fixing an outage on your side, and Desk adds a matching view in the Developers area to browse a webhook’s delivery events and resend one.
Integrations
Edit payment gateway integrations
Payment gateway integrations can now be edited after creation. PATCH /integrations/{id} accepts updates to the integration’s name, description and reference, so a typo or a rename no longer requires deleting and recreating the integration. In Desk, Adyen payment gateway integrations now have an Edit option (rotate the API key, update name, description and reference, and configure AFP blocks), and the AFP fields for PLATFORM-type Adyen integrations can now be filled in.
Customer portal
Fixes
- Fixed the quote preview in the customer portal not reflecting the saved quote. After saving a quote, the portal preview now shows the same up-to-date data as the Desk preview.