Developer Changelog
Gather insight and present dynamic salvage attempts when customers try to cancel. Integrated with Paddle.js.
Build pricing pages without making server-side calls to the Paddle API using a new method in Paddle.js.
Upgrade or downgrade, change items, bill for one-time charges, and update billing dates for subscriptions in trial.
Use the new origin
query parameter when listing transactions to filter by how they were created.
Merhaba! Paddle now supports the Turkish locale for Paddle Checkout and subscription emails. tr
is now an allowed value for the locale
parameter when passing settings to a checkout.
More easily distinguish emails sent from your sandbox account and your live account. Sandbox emails now include a [TEST]
prefix in the subject.
Cancellation Flows are now available for Paddle Billing! Use the new Paddle.Retain.initCancellationFlow()
method in Paddle.js to start a cancellation flow for a subscription.
Set names for prices and show them on checkouts, invoices, and emails from Paddle using the new name
field against price entities.
Include an object of custom_data
with requests when creating or updating discounts to store your own arbitrary key-value data.
Emails from Paddle when customers start a zero value subscription make it clear that they've saved a payment method. No receipt is sent. We also changed the wording when customers cancel these kinds of subscriptions.
Use the Paddle.PricePreview()
method in Paddle.js to build pricing pages without making server-side calls to the Paddle API.
Pass a client-side token to Paddle.Setup()
to authenticate with Paddle.js. There's no need to pass your seller ID any more.
Cardholder name is now returned in transaction.payments[].method_details.card
, so you can build billing information pages or integrations that show the name on the card used for a payment attempt.
Filter to see subscriptions with a scheduled change to pause, cancel, or resume using the scheduled_change_action
query parameter.
Pass an approved domain to checkout.url
when creating a transaction to specify an approved domain for the returned checkout link rather than using your default payment link.
Pass a list of subscription IDs when listing subscriptions using the id
query parameter to return subscriptions that match.
Pause or cancel a subscription right away, rather than at the end of the billing period. immediately
is now an accepted allowed value for effective_from
when sending a request to pause or cancel a subscription.
Use the new showAddTaxId
parameter or show-add-tax-id
HTML data attribute when working with Paddle.js to hide the option to add tax and business information at checkout.
Get a list of transactions that aren't related to a subscription by passing null
as a value for the subscription_id
query parameter when listing transactions. Use this to see transactions for single purchases.
List only automatically-collected or manually-collected subscriptions using the new collection_mode
query parameter.
Load Paddle.js as a module and use TypeScript definitions when working with its methods.
Pass items, discount, and customer information to the new Paddle.Checkout.updateCheckout()
method to update an open checkout.
Use the new showAddDiscounts
parameter or show-add-discount
HTML data attribute when working with Paddle.js to hide the option to add a discount at checkout.
Let customers pay for subscriptions using Apple Pay and Google Pay, with no engineering effort required on your part. You may see apple_pay
and google_pay
as values for transaction.payments[].method_details.type
when working with subscription-related transactions.
Listen to the new checkout.warning
event to get details about invalid or missing information passed to a checkout when opening, so you can handle problems in your frontend.
Create prices, discounts, transactions, and subscriptions in Colombian Peso. COP
is a new allowed value for currency_code
for payments.
Include an object of custom_data
with requests when creating or updating customers, addresses, and businesses to store your own arbitrary key-value data.
Subscribe to the new transaction.paid
event to get notified when a transaction is paid but not yet fully processed. transaction.completed
now include details of the related subscription and invoice number.
List credit balances for a customer using the new /customers/{customer_id}/credit-balances
endpoint to see how much credit a customer has to use, and how much credit they've previously used.
Send a request to the /subscriptions/{subscription_id}/activate
endpoint to immediately activate a trialing subscription.
Add or remove recurring items, change quantities, bill for one-time charges, and change the next billing date for subscriptions in trial.
Subscribe to notifications for payouts for Paddle to get notified when payouts are initiated (payout.created
) and when they're paid (payout.paid
.)
Subscribe to notifications for discount events to get notified when discounts are created (discount.created
) and when they're updated (discount.updated
.)
Check the new update_summary
object returned when previewing an update to a subscription or billing for a one-time charge to get an overview of any prorated credits and charges created as a result of the change.
Paddle Classic customers can now opt in to Paddle Billing to try the latest features. Paddle Billing shares some settings with Classic, but has its own data and API so your existing subscriptions and integration aren't impacted.
Present charge totals to a customer before billing a one-time charge to a subscription using the new /subscriptions/{id}/charge/preview
endpoint.
Get localized prices for a country, including taxes and discount calculation using the new /price-preview
endpoint. Paddle returns formatted prices, including currency symbol, so you can pass straight to your frontend.
Use the new subscription_charge
allowed value for the origin
field against a transaction to more easily determine why a transaction was created for a subscription.
Include an object of custom_data
with requests when creating or updating products and prices to store your own arbitrary key-value data.
Use the new /subscriptions/{subscription_id}/update-payment-method-transaction
endpoint to get a transaction that you can pass to Paddle.js to let customers update their payment details.
Filter to see recurring or one-time prices when using the list prices operation with the recurring
query parameter.
See how transaction totals and payout totals look after adjustments using the transaction.details.adjusted_totals
and transaction.details.adjusted_payout_totals
.
Use the adjustments_totals
include parameter to return a total for all the adjustments against a transaction, including a breakdown by adjustment action.
Resend a notification that's delivered
or failed
using the new /notifications/{notification_id}/replay
endpoint.
Find all notifications that relate to a customer, subscription, or transaction entity using the new filter
query parameter. Plus, filter notifications by date period using the from
and to
parameters.
We added a new discountCode
parameter and data-discount-code
HTML data attribute to Paddle.js to let you pass a discount code when opening a checkout.
Get the amount that a customer has to pay more easily using the new transaction.details.totals.grand_total
field against totals for a transaction. It's especially useful for completed transactions.