CINXE.COM

Developer changelog - Paddle Developer

<!DOCTYPE html><html lang="en"><head><title>Developer changelog - Paddle Developer</title><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0"/><meta name="description" content="Track changes to the Paddle platform, including the Paddle API and Paddle.js."/><meta property="og:logo" content="/cover-image.png"/><meta property="og:title" content="Developer changelog - Paddle Developer"/><meta property="og:description" content="Track changes to the Paddle platform, including the Paddle API and Paddle.js."/><meta property="og:type" content="website"/><meta property="og:url" content="https://developer.paddle.com/changelog/overview"/><meta property="og:image" content="/cover-image.png"/><meta name="twitter:image" content="/cover-image.png"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@paddlehq"/><meta name="twitter:title" content="Developer changelog - Paddle Developer"/><meta name="twitter:description" content="Track changes to the Paddle platform, including the Paddle API and Paddle.js."/><link rel="shortcut icon" type="image/x-icon" href="/favicon.svg"/><link rel="apple-touch-icon-precomposed" href="/favicon.svg"/><link rel="apple-touch-icon" href="/favicon.svg"/><link rel="preload" as="image" href="/logo.svg"/><meta name="next-head-count" content="20"/><link rel="preload" href="/_next/static/media/a34f9d1faa5f3315-s.p.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/css/ce71cb2b270eb8c2.css" as="style"/><link rel="stylesheet" href="/_next/static/css/ce71cb2b270eb8c2.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2f903acb0cccbf9e.js" defer=""></script><script src="/_next/static/chunks/framework-d6b15d8b3dd1dcdb.js" defer=""></script><script src="/_next/static/chunks/main-e40b5460469659f0.js" defer=""></script><script src="/_next/static/chunks/pages/_app-1a10bf69d1520e22.js" defer=""></script><script src="/_next/static/chunks/207-6be7ad024bac9faf.js" defer=""></script><script src="/_next/static/chunks/900-21ea9e25bb7891ce.js" defer=""></script><script src="/_next/static/chunks/pages/changelog/overview-3b31758ef3d14155.js" defer=""></script><script src="/_next/static/twbUoq13ec4Iiiuu8on5_/_buildManifest.js" defer=""></script><script src="/_next/static/twbUoq13ec4Iiiuu8on5_/_ssgManifest.js" defer=""></script><style data-test="extract"><style data-token-hash="1wmd7ff" data-css-hash="n6klc0">:where(.css-1me4733) a{color:#1677ff;text-decoration:none;background-color:transparent;outline:none;cursor:pointer;transition:color 0.3s;-webkit-text-decoration-skip:objects;}:where(.css-1me4733) a:hover{color:#69b1ff;}:where(.css-1me4733) a:active{color:#0958d9;}:where(.css-1me4733) a:active,:where(.css-1me4733) a:hover{text-decoration:none;outline:0;}:where(.css-1me4733) a:focus{text-decoration:none;outline:0;}:where(.css-1me4733) a[disabled]{color:rgba(0, 0, 0, 0.25);cursor:not-allowed;}</style><style data-token-hash="1wmd7ff" data-css-hash="4m029j">:where(.css-1me4733)[class^="ant-skeleton"],:where(.css-1me4733)[class*=" ant-skeleton"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}:where(.css-1me4733)[class^="ant-skeleton"]::before,:where(.css-1me4733)[class*=" ant-skeleton"]::before,:where(.css-1me4733)[class^="ant-skeleton"]::after,:where(.css-1me4733)[class*=" ant-skeleton"]::after{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-skeleton"] [class^="ant-skeleton"],:where(.css-1me4733)[class*=" ant-skeleton"] [class^="ant-skeleton"],:where(.css-1me4733)[class^="ant-skeleton"] [class*=" ant-skeleton"],:where(.css-1me4733)[class*=" ant-skeleton"] [class*=" ant-skeleton"]{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-skeleton"] [class^="ant-skeleton"]::before,:where(.css-1me4733)[class*=" ant-skeleton"] [class^="ant-skeleton"]::before,:where(.css-1me4733)[class^="ant-skeleton"] [class*=" ant-skeleton"]::before,:where(.css-1me4733)[class*=" ant-skeleton"] [class*=" ant-skeleton"]::before,:where(.css-1me4733)[class^="ant-skeleton"] [class^="ant-skeleton"]::after,:where(.css-1me4733)[class*=" ant-skeleton"] [class^="ant-skeleton"]::after,:where(.css-1me4733)[class^="ant-skeleton"] [class*=" ant-skeleton"]::after,:where(.css-1me4733)[class*=" ant-skeleton"] [class*=" ant-skeleton"]::after{box-sizing:border-box;}:where(.css-1me4733).ant-skeleton{display:table;width:100%;}:where(.css-1me4733).ant-skeleton .ant-skeleton-header{display:table-cell;padding-inline-end:16px;vertical-align:top;}:where(.css-1me4733).ant-skeleton .ant-skeleton-header .ant-skeleton-avatar{display:inline-block;vertical-align:top;background:rgba(0, 0, 0, 0.06);width:32px;height:32px;line-height:32px;}:where(.css-1me4733).ant-skeleton .ant-skeleton-header .ant-skeleton-avatar-circle{border-radius:50%;}:where(.css-1me4733).ant-skeleton .ant-skeleton-header .ant-skeleton-avatar-lg{width:40px;height:40px;line-height:40px;}:where(.css-1me4733).ant-skeleton .ant-skeleton-header .ant-skeleton-avatar-sm{width:24px;height:24px;line-height:24px;}:where(.css-1me4733).ant-skeleton .ant-skeleton-content{display:table-cell;width:100%;vertical-align:top;}:where(.css-1me4733).ant-skeleton .ant-skeleton-content .ant-skeleton-title{width:100%;height:16px;background:rgba(0, 0, 0, 0.06);border-radius:4px;}:where(.css-1me4733).ant-skeleton .ant-skeleton-content .ant-skeleton-title +.ant-skeleton-paragraph{margin-block-start:24px;}:where(.css-1me4733).ant-skeleton .ant-skeleton-content .ant-skeleton-paragraph{padding:0;}:where(.css-1me4733).ant-skeleton .ant-skeleton-content .ant-skeleton-paragraph >li{width:100%;height:16px;list-style:none;background:rgba(0, 0, 0, 0.06);border-radius:4px;}:where(.css-1me4733).ant-skeleton .ant-skeleton-content .ant-skeleton-paragraph >li +li{margin-block-start:16px;}:where(.css-1me4733).ant-skeleton .ant-skeleton-content .ant-skeleton-paragraph>li:last-child:not(:first-child):not(:nth-child(2)){width:61%;}:where(.css-1me4733).ant-skeleton-round .ant-skeleton-content .ant-skeleton-title,:where(.css-1me4733).ant-skeleton-round .ant-skeleton-content .ant-skeleton-paragraph>li{border-radius:100px;}:where(.css-1me4733).ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title{margin-block-start:12px;}:where(.css-1me4733).ant-skeleton-with-avatar .ant-skeleton-content .ant-skeleton-title +.ant-skeleton-paragraph{margin-block-start:28px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element{display:inline-block;width:auto;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-button{display:inline-block;vertical-align:top;background:rgba(0, 0, 0, 0.06);border-radius:4px;width:64px;min-width:64px;height:32px;line-height:32px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-circle{width:32px;min-width:32px;border-radius:50%;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-button.ant-skeleton-button-round{border-radius:32px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-button-lg{width:80px;min-width:80px;height:40px;line-height:40px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-circle{width:40px;min-width:40px;border-radius:50%;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-button-lg.ant-skeleton-button-round{border-radius:40px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-button-sm{width:48px;min-width:48px;height:24px;line-height:24px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-circle{width:24px;min-width:24px;border-radius:50%;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-button-sm.ant-skeleton-button-round{border-radius:24px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-avatar{display:inline-block;vertical-align:top;background:rgba(0, 0, 0, 0.06);width:32px;height:32px;line-height:32px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-circle{border-radius:50%;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-lg{width:40px;height:40px;line-height:40px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-avatar.ant-skeleton-avatar-sm{width:24px;height:24px;line-height:24px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-input{display:inline-block;vertical-align:top;background:rgba(0, 0, 0, 0.06);border-radius:4px;width:160px;min-width:160px;height:32px;line-height:32px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-input-lg{width:200px;min-width:200px;height:40px;line-height:40px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-input-sm{width:120px;min-width:120px;height:24px;line-height:24px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-image{display:flex;align-items:center;justify-content:center;vertical-align:top;background:rgba(0, 0, 0, 0.06);border-radius:4px;width:96px;height:96px;line-height:96px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-image .ant-skeleton-image-path{fill:#bfbfbf;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-image .ant-skeleton-image-svg{width:48px;height:48px;line-height:48px;max-width:192px;max-height:192px;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-image .ant-skeleton-image-svg.ant-skeleton-image-svg-circle{border-radius:50%;}:where(.css-1me4733).ant-skeleton.ant-skeleton-element .ant-skeleton-image.ant-skeleton-image-circle{border-radius:50%;}:where(.css-1me4733).ant-skeleton.ant-skeleton-block{width:100%;}:where(.css-1me4733).ant-skeleton.ant-skeleton-block .ant-skeleton-button{width:100%;}:where(.css-1me4733).ant-skeleton.ant-skeleton-block .ant-skeleton-input{width:100%;}:where(.css-1me4733).ant-skeleton.ant-skeleton-active .ant-skeleton-title,:where(.css-1me4733).ant-skeleton.ant-skeleton-active .ant-skeleton-paragraph>li,:where(.css-1me4733).ant-skeleton.ant-skeleton-active .ant-skeleton-avatar,:where(.css-1me4733).ant-skeleton.ant-skeleton-active .ant-skeleton-button,:where(.css-1me4733).ant-skeleton.ant-skeleton-active .ant-skeleton-input,:where(.css-1me4733).ant-skeleton.ant-skeleton-active .ant-skeleton-image{background:linear-gradient(90deg, rgba(0, 0, 0, 0.06) 25%, rgba(0, 0, 0, 0.15) 37%, rgba(0, 0, 0, 0.06) 63%);background-size:400% 100%;animation-name:css-1me4733-ant-skeleton-loading;animation-duration:1.4s;animation-timing-function:ease;animation-iteration-count:infinite;}</style><style data-token-hash="1wmd7ff" data-css-hash="7c59u4">:where(.css-1me4733)[class^="ant-dropdown"],:where(.css-1me4733)[class*=" ant-dropdown"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}:where(.css-1me4733)[class^="ant-dropdown"]::before,:where(.css-1me4733)[class*=" ant-dropdown"]::before,:where(.css-1me4733)[class^="ant-dropdown"]::after,:where(.css-1me4733)[class*=" ant-dropdown"]::after{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-dropdown"] [class^="ant-dropdown"],:where(.css-1me4733)[class*=" ant-dropdown"] [class^="ant-dropdown"],:where(.css-1me4733)[class^="ant-dropdown"] [class*=" ant-dropdown"],:where(.css-1me4733)[class*=" ant-dropdown"] [class*=" ant-dropdown"]{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-dropdown"] [class^="ant-dropdown"]::before,:where(.css-1me4733)[class*=" ant-dropdown"] [class^="ant-dropdown"]::before,:where(.css-1me4733)[class^="ant-dropdown"] [class*=" ant-dropdown"]::before,:where(.css-1me4733)[class*=" ant-dropdown"] [class*=" ant-dropdown"]::before,:where(.css-1me4733)[class^="ant-dropdown"] [class^="ant-dropdown"]::after,:where(.css-1me4733)[class*=" ant-dropdown"] [class^="ant-dropdown"]::after,:where(.css-1me4733)[class^="ant-dropdown"] [class*=" ant-dropdown"]::after,:where(.css-1me4733)[class*=" ant-dropdown"] [class*=" ant-dropdown"]::after{box-sizing:border-box;}:where(.css-1me4733).ant-dropdown{box-sizing:border-box;margin:0;padding:0;color:rgba(0, 0, 0, 0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;top:-9999px;left:-9999px;z-index:1050;display:block;}:where(.css-1me4733).ant-dropdown::before{position:absolute;inset-block:-4px;z-index:-9999;opacity:0.0001;content:"";}:where(.css-1me4733).ant-dropdown .ant-dropdown-wrap{position:relative;}:where(.css-1me4733).ant-dropdown .ant-dropdown-wrap .ant-btn>.anticon-down{font-size:12px;}:where(.css-1me4733).ant-dropdown .ant-dropdown-wrap .anticon-down::before{transition:transform 0.2s;}:where(.css-1me4733).ant-dropdown .ant-dropdown-wrap-open .anticon-down::before{transform:rotate(180deg);}:where(.css-1me4733).ant-dropdown-hidden,:where(.css-1me4733).ant-dropdown-menu-hidden,:where(.css-1me4733).ant-dropdown-menu-submenu-hidden{display:none;}:where(.css-1me4733).ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomLeft,:where(.css-1me4733).ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomLeft,:where(.css-1me4733).ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottom,:where(.css-1me4733).ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottom,:where(.css-1me4733).ant-dropdown.ant-slide-down-enter.ant-slide-down-enter-active.ant-dropdown-placement-bottomRight,:where(.css-1me4733).ant-dropdown.ant-slide-down-appear.ant-slide-down-appear-active.ant-dropdown-placement-bottomRight{animation-name:css-1me4733-antSlideUpIn;}:where(.css-1me4733).ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topLeft,:where(.css-1me4733).ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topLeft,:where(.css-1me4733).ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-top,:where(.css-1me4733).ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-top,:where(.css-1me4733).ant-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-dropdown-placement-topRight,:where(.css-1me4733).ant-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-dropdown-placement-topRight{animation-name:css-1me4733-antSlideDownIn;}:where(.css-1me4733).ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomLeft,:where(.css-1me4733).ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottom,:where(.css-1me4733).ant-dropdown.ant-slide-down-leave.ant-slide-down-leave-active.ant-dropdown-placement-bottomRight{animation-name:css-1me4733-antSlideUpOut;}:where(.css-1me4733).ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topLeft,:where(.css-1me4733).ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-top,:where(.css-1me4733).ant-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-dropdown-placement-topRight{animation-name:css-1me4733-antSlideDownOut;}:where(.css-1me4733).ant-dropdown .ant-dropdown-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;}:where(.css-1me4733).ant-dropdown .ant-dropdown-arrow::before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:#ffffff;clip-path:path('M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z');content:"";}:where(.css-1me4733).ant-dropdown .ant-dropdown-arrow::after{content:"";position:absolute;width:8.970562748477143px;height:8.970562748477143px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px 0;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px rgba(0, 0, 0, 0.05);z-index:0;background:transparent;}:where(.css-1me4733).ant-dropdown .ant-dropdown-arrow:before{background:#ffffff;}:where(.css-1me4733).ant-dropdown-placement-top .ant-dropdown-arrow,:where(.css-1me4733).ant-dropdown-placement-topLeft .ant-dropdown-arrow,:where(.css-1me4733).ant-dropdown-placement-topRight .ant-dropdown-arrow{bottom:0;transform:translateY(100%) rotate(180deg);}:where(.css-1me4733).ant-dropdown-placement-top .ant-dropdown-arrow{left:50%;transform:translateX(-50%) translateY(100%) rotate(180deg);}:where(.css-1me4733).ant-dropdown-placement-topLeft .ant-dropdown-arrow{left:12px;}:where(.css-1me4733).ant-dropdown-placement-topRight .ant-dropdown-arrow{right:12px;}:where(.css-1me4733).ant-dropdown-placement-bottom .ant-dropdown-arrow,:where(.css-1me4733).ant-dropdown-placement-bottomLeft .ant-dropdown-arrow,:where(.css-1me4733).ant-dropdown-placement-bottomRight .ant-dropdown-arrow{top:0;transform:translateY(-100%);}:where(.css-1me4733).ant-dropdown-placement-bottom .ant-dropdown-arrow{left:50%;transform:translateX(-50%) translateY(-100%);}:where(.css-1me4733).ant-dropdown-placement-bottomLeft .ant-dropdown-arrow{left:12px;}:where(.css-1me4733).ant-dropdown-placement-bottomRight .ant-dropdown-arrow{right:12px;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu{position:relative;margin:0;}:where(.css-1me4733).ant-dropdown-menu-submenu-popup{position:absolute;z-index:1050;background:transparent;box-shadow:none;transform-origin:0 0;}:where(.css-1me4733).ant-dropdown-menu-submenu-popup ul,:where(.css-1me4733).ant-dropdown-menu-submenu-popup li{list-style:none;margin:0;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu{padding:4px;list-style-type:none;background-color:#ffffff;background-clip:padding-box;border-radius:8px;outline:none;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu:focus-visible,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu:focus-visible{outline:4px solid #91caff;outline-offset:1px;transition:outline-offset 0s,outline 0s;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-group-title,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-group-title{padding:5px 12px;color:rgba(0, 0, 0, 0.45);transition:all 0.2s;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item{position:relative;display:flex;align-items:center;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-icon,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-icon{min-width:14px;margin-inline-end:8px;font-size:12px;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content{flex:auto;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content >a,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content >a{color:inherit;transition:all 0.2s;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content >a:hover,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content >a:hover{color:inherit;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content >a::after,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content >a::after{position:absolute;inset:0;content:"";}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title{clear:both;margin:0;padding:5px 12px;color:rgba(0, 0, 0, 0.88);font-weight:normal;font-size:14px;line-height:1.5714285714285714;cursor:pointer;transition:all 0.2s;border-radius:4px;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item:hover,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item:hover,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title:hover,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title:hover,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-active,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-active,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-active,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-active{background-color:rgba(0, 0, 0, 0.04);}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item:focus-visible,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item:focus-visible,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title:focus-visible,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title:focus-visible{outline:4px solid #91caff;outline-offset:1px;transition:outline-offset 0s,outline 0s;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-selected,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-selected,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected{color:#1677ff;background-color:#e6f4ff;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-selected:hover,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-selected:hover,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected:hover,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected:hover,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-selected-active,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-selected-active,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected-active,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-selected-active{background-color:#bae0ff;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-disabled,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-disabled,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled{color:rgba(0, 0, 0, 0.25);cursor:not-allowed;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-disabled:hover,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-disabled:hover,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled:hover,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled:hover{color:rgba(0, 0, 0, 0.25);background-color:#ffffff;cursor:not-allowed;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-disabled a,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-disabled a,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled a,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-disabled a{pointer-events:none;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-divider,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-divider,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title-divider,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title-divider{height:1px;margin:4px 0;overflow:hidden;line-height:0;background-color:rgba(5, 5, 5, 0.06);}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon{position:absolute;inset-inline-end:8px;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-expand-icon .ant-dropdown-menu-submenu-arrow-icon{margin-inline-end:0!important;color:rgba(0, 0, 0, 0.45);font-size:12px;font-style:normal;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item-group-list,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item-group-list{margin:0 8px;padding:0;list-style:none;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-title,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-title{padding-inline-end:24px;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-vertical,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-vertical{position:relative;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title,:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon{color:rgba(0, 0, 0, 0.25);background-color:#ffffff;cursor:not-allowed;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-submenu-selected .ant-dropdown-menu-submenu-title{color:#1677ff;}:where(.css-1me4733).ant-slide-up-enter,:where(.css-1me4733).ant-slide-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-slide-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-slide-up-enter.ant-slide-up-enter-active,:where(.css-1me4733).ant-slide-up-appear.ant-slide-up-appear-active{animation-name:css-1me4733-antSlideUpIn;animation-play-state:running;}:where(.css-1me4733).ant-slide-up-leave.ant-slide-up-leave-active{animation-name:css-1me4733-antSlideUpOut;animation-play-state:running;pointer-events:none;}:where(.css-1me4733).ant-slide-up-enter,:where(.css-1me4733).ant-slide-up-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}:where(.css-1me4733).ant-slide-up-enter-prepare,:where(.css-1me4733).ant-slide-up-appear-prepare{transform:scale(1);}:where(.css-1me4733).ant-slide-up-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}:where(.css-1me4733).ant-slide-down-enter,:where(.css-1me4733).ant-slide-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-slide-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-slide-down-enter.ant-slide-down-enter-active,:where(.css-1me4733).ant-slide-down-appear.ant-slide-down-appear-active{animation-name:css-1me4733-antSlideDownIn;animation-play-state:running;}:where(.css-1me4733).ant-slide-down-leave.ant-slide-down-leave-active{animation-name:css-1me4733-antSlideDownOut;animation-play-state:running;pointer-events:none;}:where(.css-1me4733).ant-slide-down-enter,:where(.css-1me4733).ant-slide-down-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}:where(.css-1me4733).ant-slide-down-enter-prepare,:where(.css-1me4733).ant-slide-down-appear-prepare{transform:scale(1);}:where(.css-1me4733).ant-slide-down-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}:where(.css-1me4733).ant-move-up-enter,:where(.css-1me4733).ant-move-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-move-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-move-up-enter.ant-move-up-enter-active,:where(.css-1me4733).ant-move-up-appear.ant-move-up-appear-active{animation-name:css-1me4733-antMoveUpIn;animation-play-state:running;}:where(.css-1me4733).ant-move-up-leave.ant-move-up-leave-active{animation-name:css-1me4733-antMoveUpOut;animation-play-state:running;pointer-events:none;}:where(.css-1me4733).ant-move-up-enter,:where(.css-1me4733).ant-move-up-appear{opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}:where(.css-1me4733).ant-move-up-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}:where(.css-1me4733).ant-move-down-enter,:where(.css-1me4733).ant-move-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-move-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-move-down-enter.ant-move-down-enter-active,:where(.css-1me4733).ant-move-down-appear.ant-move-down-appear-active{animation-name:css-1me4733-antMoveDownIn;animation-play-state:running;}:where(.css-1me4733).ant-move-down-leave.ant-move-down-leave-active{animation-name:css-1me4733-antMoveDownOut;animation-play-state:running;pointer-events:none;}:where(.css-1me4733).ant-move-down-enter,:where(.css-1me4733).ant-move-down-appear{opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}:where(.css-1me4733).ant-move-down-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}:where(.css-1me4733).ant-zoom-big-enter,:where(.css-1me4733).ant-zoom-big-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-zoom-big-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-zoom-big-enter.ant-zoom-big-enter-active,:where(.css-1me4733).ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:css-1me4733-antZoomBigIn;animation-play-state:running;}:where(.css-1me4733).ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:css-1me4733-antZoomBigOut;animation-play-state:running;pointer-events:none;}:where(.css-1me4733).ant-zoom-big-enter,:where(.css-1me4733).ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}:where(.css-1me4733).ant-zoom-big-enter-prepare,:where(.css-1me4733).ant-zoom-big-appear-prepare{transform:none;}:where(.css-1me4733).ant-zoom-big-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}:where(.css-1me4733).ant-dropdown-button{white-space:nowrap;}:where(.css-1me4733).ant-dropdown-button.ant-btn-group>.ant-btn-loading,:where(.css-1me4733).ant-dropdown-button.ant-btn-group>.ant-btn-loading+.ant-btn{cursor:default;pointer-events:none;opacity:0.65;}:where(.css-1me4733).ant-dropdown-button.ant-btn-group>.ant-btn:last-child:not(:first-child):not(.ant-btn-icon-only){padding-inline:8px;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:not(.ant-dropdown-menu-item-disabled),:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:not(.ant-dropdown-menu-item-disabled){color:#ff4d4f;}:where(.css-1me4733).ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:not(.ant-dropdown-menu-item-disabled):hover,:where(.css-1me4733).ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-item.ant-dropdown-menu-item-danger:not(.ant-dropdown-menu-item-disabled):hover{color:#fff;background-color:#ff4d4f;}</style><style data-token-hash="1wmd7ff" data-css-hash="1wdrc00">:where(.css-1me4733)[class^="ant-space"],:where(.css-1me4733)[class*=" ant-space"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}:where(.css-1me4733)[class^="ant-space"]::before,:where(.css-1me4733)[class*=" ant-space"]::before,:where(.css-1me4733)[class^="ant-space"]::after,:where(.css-1me4733)[class*=" ant-space"]::after{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-space"] [class^="ant-space"],:where(.css-1me4733)[class*=" ant-space"] [class^="ant-space"],:where(.css-1me4733)[class^="ant-space"] [class*=" ant-space"],:where(.css-1me4733)[class*=" ant-space"] [class*=" ant-space"]{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-space"] [class^="ant-space"]::before,:where(.css-1me4733)[class*=" ant-space"] [class^="ant-space"]::before,:where(.css-1me4733)[class^="ant-space"] [class*=" ant-space"]::before,:where(.css-1me4733)[class*=" ant-space"] [class*=" ant-space"]::before,:where(.css-1me4733)[class^="ant-space"] [class^="ant-space"]::after,:where(.css-1me4733)[class*=" ant-space"] [class^="ant-space"]::after,:where(.css-1me4733)[class^="ant-space"] [class*=" ant-space"]::after,:where(.css-1me4733)[class*=" ant-space"] [class*=" ant-space"]::after{box-sizing:border-box;}:where(.css-1me4733).ant-space{display:inline-flex;}:where(.css-1me4733).ant-space-rtl{direction:rtl;}:where(.css-1me4733).ant-space-vertical{flex-direction:column;}:where(.css-1me4733).ant-space-align{flex-direction:column;}:where(.css-1me4733).ant-space-align-center{align-items:center;}:where(.css-1me4733).ant-space-align-start{align-items:flex-start;}:where(.css-1me4733).ant-space-align-end{align-items:flex-end;}:where(.css-1me4733).ant-space-align-baseline{align-items:baseline;}:where(.css-1me4733).ant-space .ant-space-item:empty{display:none;}:where(.css-1me4733).ant-space{display:inline-flex;}:where(.css-1me4733).ant-space-block{display:flex;width:100%;}:where(.css-1me4733).ant-space-vertical{flex-direction:column;}</style><style data-token-hash="1wmd7ff" data-css-hash="j17nxn">:where(.css-1me4733)[class^="ant-popover"],:where(.css-1me4733)[class*=" ant-popover"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}:where(.css-1me4733)[class^="ant-popover"]::before,:where(.css-1me4733)[class*=" ant-popover"]::before,:where(.css-1me4733)[class^="ant-popover"]::after,:where(.css-1me4733)[class*=" ant-popover"]::after{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-popover"] [class^="ant-popover"],:where(.css-1me4733)[class*=" ant-popover"] [class^="ant-popover"],:where(.css-1me4733)[class^="ant-popover"] [class*=" ant-popover"],:where(.css-1me4733)[class*=" ant-popover"] [class*=" ant-popover"]{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-popover"] [class^="ant-popover"]::before,:where(.css-1me4733)[class*=" ant-popover"] [class^="ant-popover"]::before,:where(.css-1me4733)[class^="ant-popover"] [class*=" ant-popover"]::before,:where(.css-1me4733)[class*=" ant-popover"] [class*=" ant-popover"]::before,:where(.css-1me4733)[class^="ant-popover"] [class^="ant-popover"]::after,:where(.css-1me4733)[class*=" ant-popover"] [class^="ant-popover"]::after,:where(.css-1me4733)[class^="ant-popover"] [class*=" ant-popover"]::after,:where(.css-1me4733)[class*=" ant-popover"] [class*=" ant-popover"]::after{box-sizing:border-box;}:where(.css-1me4733).ant-popover{box-sizing:border-box;margin:0;padding:0;color:rgba(0, 0, 0, 0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;top:0;left:0;z-index:1030;font-weight:normal;white-space:normal;text-align:start;cursor:auto;user-select:text;--antd-arrow-background-color:#ffffff;}:where(.css-1me4733).ant-popover-rtl{direction:rtl;}:where(.css-1me4733).ant-popover-hidden{display:none;}:where(.css-1me4733).ant-popover .ant-popover-content{position:relative;}:where(.css-1me4733).ant-popover .ant-popover-inner{background-color:#ffffff;background-clip:padding-box;border-radius:8px;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);padding:12px;}:where(.css-1me4733).ant-popover .ant-popover-title{min-width:177px;margin-bottom:8px;color:rgba(0, 0, 0, 0.88);font-weight:600;}:where(.css-1me4733).ant-popover .ant-popover-inner-content{color:rgba(0, 0, 0, 0.88);}:where(.css-1me4733).ant-popover .ant-popover-arrow{position:absolute;z-index:1;display:block;pointer-events:none;width:16px;height:16px;overflow:hidden;}:where(.css-1me4733).ant-popover .ant-popover-arrow::before{position:absolute;bottom:0;inset-inline-start:0;width:16px;height:8px;background:var(--antd-arrow-background-color);clip-path:path('M 0 8 A 4 4 0 0 0 2.82842712474619 6.82842712474619 L 6.585786437626905 3.0710678118654755 A 2 2 0 0 1 9.414213562373096 3.0710678118654755 L 13.17157287525381 6.82842712474619 A 4 4 0 0 0 16 8 Z');content:"";}:where(.css-1me4733).ant-popover .ant-popover-arrow::after{content:"";position:absolute;width:8.970562748477143px;height:8.970562748477143px;bottom:0;inset-inline:0;margin:auto;border-radius:0 0 2px 0;transform:translateY(50%) rotate(-135deg);box-shadow:2px 2px 5px rgba(0, 0, 0, 0.05);z-index:0;background:transparent;}:where(.css-1me4733).ant-popover .ant-popover-arrow:before{background:var(--antd-arrow-background-color);}:where(.css-1me4733).ant-popover-placement-top .ant-popover-arrow,:where(.css-1me4733).ant-popover-placement-topLeft .ant-popover-arrow,:where(.css-1me4733).ant-popover-placement-topRight .ant-popover-arrow{bottom:0;transform:translateY(100%) rotate(180deg);}:where(.css-1me4733).ant-popover-placement-top .ant-popover-arrow{left:50%;transform:translateX(-50%) translateY(100%) rotate(180deg);}:where(.css-1me4733).ant-popover-placement-topLeft .ant-popover-arrow{left:12px;}:where(.css-1me4733).ant-popover-placement-topRight .ant-popover-arrow{right:12px;}:where(.css-1me4733).ant-popover-placement-bottom .ant-popover-arrow,:where(.css-1me4733).ant-popover-placement-bottomLeft .ant-popover-arrow,:where(.css-1me4733).ant-popover-placement-bottomRight .ant-popover-arrow{top:0;transform:translateY(-100%);}:where(.css-1me4733).ant-popover-placement-bottom .ant-popover-arrow{left:50%;transform:translateX(-50%) translateY(-100%);}:where(.css-1me4733).ant-popover-placement-bottomLeft .ant-popover-arrow{left:12px;}:where(.css-1me4733).ant-popover-placement-bottomRight .ant-popover-arrow{right:12px;}:where(.css-1me4733).ant-popover-placement-left .ant-popover-arrow,:where(.css-1me4733).ant-popover-placement-leftTop .ant-popover-arrow,:where(.css-1me4733).ant-popover-placement-leftBottom .ant-popover-arrow{right:0;transform:translateX(100%) rotate(90deg);}:where(.css-1me4733).ant-popover-placement-left .ant-popover-arrow{top:50%;transform:translateY(-50%) translateX(100%) rotate(90deg);}:where(.css-1me4733).ant-popover-placement-leftTop .ant-popover-arrow{top:12px;}:where(.css-1me4733).ant-popover-placement-leftBottom .ant-popover-arrow{bottom:12px;}:where(.css-1me4733).ant-popover-placement-right .ant-popover-arrow,:where(.css-1me4733).ant-popover-placement-rightTop .ant-popover-arrow,:where(.css-1me4733).ant-popover-placement-rightBottom .ant-popover-arrow{left:0;transform:translateX(-100%) rotate(-90deg);}:where(.css-1me4733).ant-popover-placement-right .ant-popover-arrow{top:50%;transform:translateY(-50%) translateX(-100%) rotate(-90deg);}:where(.css-1me4733).ant-popover-placement-rightTop .ant-popover-arrow{top:12px;}:where(.css-1me4733).ant-popover-placement-rightBottom .ant-popover-arrow{bottom:12px;}:where(.css-1me4733).ant-popover-pure{position:relative;max-width:none;margin:16px;display:inline-block;}:where(.css-1me4733).ant-popover-pure .ant-popover-content{display:inline-block;}:where(.css-1me4733).ant-popover.ant-popover-blue{--antd-arrow-background-color:#1677ff;}:where(.css-1me4733).ant-popover.ant-popover-blue .ant-popover-inner{background-color:#1677ff;}:where(.css-1me4733).ant-popover.ant-popover-blue .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-popover.ant-popover-purple{--antd-arrow-background-color:#722ed1;}:where(.css-1me4733).ant-popover.ant-popover-purple .ant-popover-inner{background-color:#722ed1;}:where(.css-1me4733).ant-popover.ant-popover-purple .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-popover.ant-popover-cyan{--antd-arrow-background-color:#13c2c2;}:where(.css-1me4733).ant-popover.ant-popover-cyan .ant-popover-inner{background-color:#13c2c2;}:where(.css-1me4733).ant-popover.ant-popover-cyan .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-popover.ant-popover-green{--antd-arrow-background-color:#52c41a;}:where(.css-1me4733).ant-popover.ant-popover-green .ant-popover-inner{background-color:#52c41a;}:where(.css-1me4733).ant-popover.ant-popover-green .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-popover.ant-popover-magenta{--antd-arrow-background-color:#eb2f96;}:where(.css-1me4733).ant-popover.ant-popover-magenta .ant-popover-inner{background-color:#eb2f96;}:where(.css-1me4733).ant-popover.ant-popover-magenta .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-popover.ant-popover-pink{--antd-arrow-background-color:#eb2f96;}:where(.css-1me4733).ant-popover.ant-popover-pink .ant-popover-inner{background-color:#eb2f96;}:where(.css-1me4733).ant-popover.ant-popover-pink .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-popover.ant-popover-red{--antd-arrow-background-color:#f5222d;}:where(.css-1me4733).ant-popover.ant-popover-red .ant-popover-inner{background-color:#f5222d;}:where(.css-1me4733).ant-popover.ant-popover-red .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-popover.ant-popover-orange{--antd-arrow-background-color:#fa8c16;}:where(.css-1me4733).ant-popover.ant-popover-orange .ant-popover-inner{background-color:#fa8c16;}:where(.css-1me4733).ant-popover.ant-popover-orange .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-popover.ant-popover-yellow{--antd-arrow-background-color:#fadb14;}:where(.css-1me4733).ant-popover.ant-popover-yellow .ant-popover-inner{background-color:#fadb14;}:where(.css-1me4733).ant-popover.ant-popover-yellow .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-popover.ant-popover-volcano{--antd-arrow-background-color:#fa541c;}:where(.css-1me4733).ant-popover.ant-popover-volcano .ant-popover-inner{background-color:#fa541c;}:where(.css-1me4733).ant-popover.ant-popover-volcano .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-popover.ant-popover-geekblue{--antd-arrow-background-color:#2f54eb;}:where(.css-1me4733).ant-popover.ant-popover-geekblue .ant-popover-inner{background-color:#2f54eb;}:where(.css-1me4733).ant-popover.ant-popover-geekblue .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-popover.ant-popover-lime{--antd-arrow-background-color:#a0d911;}:where(.css-1me4733).ant-popover.ant-popover-lime .ant-popover-inner{background-color:#a0d911;}:where(.css-1me4733).ant-popover.ant-popover-lime .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-popover.ant-popover-gold{--antd-arrow-background-color:#faad14;}:where(.css-1me4733).ant-popover.ant-popover-gold .ant-popover-inner{background-color:#faad14;}:where(.css-1me4733).ant-popover.ant-popover-gold .ant-popover-arrow{background:transparent;}:where(.css-1me4733).ant-zoom-big-enter,:where(.css-1me4733).ant-zoom-big-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-zoom-big-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-zoom-big-enter.ant-zoom-big-enter-active,:where(.css-1me4733).ant-zoom-big-appear.ant-zoom-big-appear-active{animation-name:css-1me4733-antZoomBigIn;animation-play-state:running;}:where(.css-1me4733).ant-zoom-big-leave.ant-zoom-big-leave-active{animation-name:css-1me4733-antZoomBigOut;animation-play-state:running;pointer-events:none;}:where(.css-1me4733).ant-zoom-big-enter,:where(.css-1me4733).ant-zoom-big-appear{transform:scale(0);opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}:where(.css-1me4733).ant-zoom-big-enter-prepare,:where(.css-1me4733).ant-zoom-big-appear-prepare{transform:none;}:where(.css-1me4733).ant-zoom-big-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}</style><style data-token-hash="1wmd7ff" data-css-hash="15wyyg7">:where(.css-1me4733)[class^="ant-popover"],:where(.css-1me4733)[class*=" ant-popover"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}:where(.css-1me4733)[class^="ant-popover"]::before,:where(.css-1me4733)[class*=" ant-popover"]::before,:where(.css-1me4733)[class^="ant-popover"]::after,:where(.css-1me4733)[class*=" ant-popover"]::after{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-popover"] [class^="ant-popover"],:where(.css-1me4733)[class*=" ant-popover"] [class^="ant-popover"],:where(.css-1me4733)[class^="ant-popover"] [class*=" ant-popover"],:where(.css-1me4733)[class*=" ant-popover"] [class*=" ant-popover"]{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-popover"] [class^="ant-popover"]::before,:where(.css-1me4733)[class*=" ant-popover"] [class^="ant-popover"]::before,:where(.css-1me4733)[class^="ant-popover"] [class*=" ant-popover"]::before,:where(.css-1me4733)[class*=" ant-popover"] [class*=" ant-popover"]::before,:where(.css-1me4733)[class^="ant-popover"] [class^="ant-popover"]::after,:where(.css-1me4733)[class*=" ant-popover"] [class^="ant-popover"]::after,:where(.css-1me4733)[class^="ant-popover"] [class*=" ant-popover"]::after,:where(.css-1me4733)[class*=" ant-popover"] [class*=" ant-popover"]::after{box-sizing:border-box;}</style><style data-token-hash="1wmd7ff" data-css-hash="1p4k2i0">:where(.css-1me4733)[class^="ant-spin"],:where(.css-1me4733)[class*=" ant-spin"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}:where(.css-1me4733)[class^="ant-spin"]::before,:where(.css-1me4733)[class*=" ant-spin"]::before,:where(.css-1me4733)[class^="ant-spin"]::after,:where(.css-1me4733)[class*=" ant-spin"]::after{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-spin"] [class^="ant-spin"],:where(.css-1me4733)[class*=" ant-spin"] [class^="ant-spin"],:where(.css-1me4733)[class^="ant-spin"] [class*=" ant-spin"],:where(.css-1me4733)[class*=" ant-spin"] [class*=" ant-spin"]{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-spin"] [class^="ant-spin"]::before,:where(.css-1me4733)[class*=" ant-spin"] [class^="ant-spin"]::before,:where(.css-1me4733)[class^="ant-spin"] [class*=" ant-spin"]::before,:where(.css-1me4733)[class*=" ant-spin"] [class*=" ant-spin"]::before,:where(.css-1me4733)[class^="ant-spin"] [class^="ant-spin"]::after,:where(.css-1me4733)[class*=" ant-spin"] [class^="ant-spin"]::after,:where(.css-1me4733)[class^="ant-spin"] [class*=" ant-spin"]::after,:where(.css-1me4733)[class*=" ant-spin"] [class*=" ant-spin"]::after{box-sizing:border-box;}:where(.css-1me4733).ant-spin{box-sizing:border-box;margin:0;padding:0;color:#1677ff;font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;display:none;text-align:center;vertical-align:middle;opacity:0;transition:transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);}:where(.css-1me4733).ant-spin-spinning{position:static;display:inline-block;opacity:1;}:where(.css-1me4733).ant-spin-nested-loading{position:relative;}:where(.css-1me4733).ant-spin-nested-loading >div>.ant-spin{position:absolute;top:0;inset-inline-start:0;z-index:4;display:block;width:100%;height:100%;max-height:400px;}:where(.css-1me4733).ant-spin-nested-loading >div>.ant-spin .ant-spin-dot{position:absolute;top:50%;inset-inline-start:50%;margin:-10px;}:where(.css-1me4733).ant-spin-nested-loading >div>.ant-spin .ant-spin-text{position:absolute;top:50%;width:100%;padding-top:5px;text-shadow:0 1px 2px #ffffff;}:where(.css-1me4733).ant-spin-nested-loading >div>.ant-spin.ant-spin-show-text .ant-spin-dot{margin-top:-20px;}:where(.css-1me4733).ant-spin-nested-loading >div>.ant-spin-sm .ant-spin-dot{margin:-7px;}:where(.css-1me4733).ant-spin-nested-loading >div>.ant-spin-sm .ant-spin-text{padding-top:2px;}:where(.css-1me4733).ant-spin-nested-loading >div>.ant-spin-sm.ant-spin-show-text .ant-spin-dot{margin-top:-17px;}:where(.css-1me4733).ant-spin-nested-loading >div>.ant-spin-lg .ant-spin-dot{margin:-16px;}:where(.css-1me4733).ant-spin-nested-loading >div>.ant-spin-lg .ant-spin-text{padding-top:11px;}:where(.css-1me4733).ant-spin-nested-loading >div>.ant-spin-lg.ant-spin-show-text .ant-spin-dot{margin-top:-26px;}:where(.css-1me4733).ant-spin-nested-loading .ant-spin-container{position:relative;transition:opacity 0.3s;}:where(.css-1me4733).ant-spin-nested-loading .ant-spin-container::after{position:absolute;top:0;inset-inline-end:0;bottom:0;inset-inline-start:0;z-index:10;width:100%;height:100%;background:#ffffff;opacity:0;transition:all 0.3s;content:"";pointer-events:none;}:where(.css-1me4733).ant-spin-nested-loading .ant-spin-blur{clear:both;opacity:0.5;user-select:none;pointer-events:none;}:where(.css-1me4733).ant-spin-nested-loading .ant-spin-blur::after{opacity:0.4;pointer-events:auto;}:where(.css-1me4733).ant-spin-tip{color:rgba(0, 0, 0, 0.45);}:where(.css-1me4733).ant-spin .ant-spin-dot{position:relative;display:inline-block;font-size:20px;width:1em;height:1em;}:where(.css-1me4733).ant-spin .ant-spin-dot-item{position:absolute;display:block;width:9px;height:9px;background-color:#1677ff;border-radius:100%;transform:scale(0.75);transform-origin:50% 50%;opacity:0.3;animation-name:css-1me4733-antSpinMove;animation-duration:1s;animation-iteration-count:infinite;animation-timing-function:linear;animation-direction:alternate;}:where(.css-1me4733).ant-spin .ant-spin-dot-item:nth-child(1){top:0;inset-inline-start:0;}:where(.css-1me4733).ant-spin .ant-spin-dot-item:nth-child(2){top:0;inset-inline-end:0;animation-delay:0.4s;}:where(.css-1me4733).ant-spin .ant-spin-dot-item:nth-child(3){inset-inline-end:0;bottom:0;animation-delay:0.8s;}:where(.css-1me4733).ant-spin .ant-spin-dot-item:nth-child(4){bottom:0;inset-inline-start:0;animation-delay:1.2s;}:where(.css-1me4733).ant-spin .ant-spin-dot-spin{transform:rotate(45deg);animation-name:css-1me4733-antRotate;animation-duration:1.2s;animation-iteration-count:infinite;animation-timing-function:linear;}:where(.css-1me4733).ant-spin-sm .ant-spin-dot{font-size:14px;}:where(.css-1me4733).ant-spin-sm .ant-spin-dot i{width:6px;height:6px;}:where(.css-1me4733).ant-spin-lg .ant-spin-dot{font-size:32px;}:where(.css-1me4733).ant-spin-lg .ant-spin-dot i{width:14px;height:14px;}:where(.css-1me4733).ant-spin.ant-spin-show-text .ant-spin-text{display:block;}</style><style data-token-hash="1wmd7ff" data-css-hash="19aq8sb">:where(.css-1me4733)[class^="ant-input"],:where(.css-1me4733)[class*=" ant-input"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}:where(.css-1me4733)[class^="ant-input"]::before,:where(.css-1me4733)[class*=" ant-input"]::before,:where(.css-1me4733)[class^="ant-input"]::after,:where(.css-1me4733)[class*=" ant-input"]::after{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-input"] [class^="ant-input"],:where(.css-1me4733)[class*=" ant-input"] [class^="ant-input"],:where(.css-1me4733)[class^="ant-input"] [class*=" ant-input"],:where(.css-1me4733)[class*=" ant-input"] [class*=" ant-input"]{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-input"] [class^="ant-input"]::before,:where(.css-1me4733)[class*=" ant-input"] [class^="ant-input"]::before,:where(.css-1me4733)[class^="ant-input"] [class*=" ant-input"]::before,:where(.css-1me4733)[class*=" ant-input"] [class*=" ant-input"]::before,:where(.css-1me4733)[class^="ant-input"] [class^="ant-input"]::after,:where(.css-1me4733)[class*=" ant-input"] [class^="ant-input"]::after,:where(.css-1me4733)[class^="ant-input"] [class*=" ant-input"]::after,:where(.css-1me4733)[class*=" ant-input"] [class*=" ant-input"]::after{box-sizing:border-box;}:where(.css-1me4733).ant-input{box-sizing:border-box;margin:0;padding:4px 11px;color:rgba(0, 0, 0, 0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:inline-block;width:100%;min-width:0;background-color:#ffffff;background-image:none;border-width:1px;border-style:solid;border-color:#d9d9d9;border-radius:6px;transition:all 0.2s;}:where(.css-1me4733).ant-input::-moz-placeholder{opacity:1;}:where(.css-1me4733).ant-input::placeholder{color:rgba(0, 0, 0, 0.25);user-select:none;}:where(.css-1me4733).ant-input:placeholder-shown{text-overflow:ellipsis;}:where(.css-1me4733).ant-input:hover{border-color:#4096ff;border-inline-end-width:1px;}:where(.css-1me4733).ant-input:focus,:where(.css-1me4733).ant-input-focused{border-color:#4096ff;box-shadow:0 0 0 2px rgba(5, 145, 255, 0.1);border-inline-end-width:1px;outline:0;}:where(.css-1me4733).ant-input-disabled,:where(.css-1me4733).ant-input[disabled]{color:rgba(0, 0, 0, 0.25);background-color:rgba(0, 0, 0, 0.04);border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1;}:where(.css-1me4733).ant-input-disabled:hover,:where(.css-1me4733).ant-input[disabled]:hover{border-color:#d9d9d9;border-inline-end-width:1px;}:where(.css-1me4733).ant-input-borderless,:where(.css-1me4733).ant-input-borderless:hover,:where(.css-1me4733).ant-input-borderless:focus,:where(.css-1me4733).ant-input-borderless-focused,:where(.css-1me4733).ant-input-borderless-disabled,:where(.css-1me4733).ant-input-borderless[disabled]{background-color:transparent;border:none;box-shadow:none;}textarea:where(.css-1me4733).ant-input{max-width:100%;height:auto;min-height:32px;line-height:1.5714285714285714;vertical-align:bottom;transition:all 0.3s,height 0s;resize:vertical;}:where(.css-1me4733).ant-input-lg{padding:7px 11px;font-size:16px;line-height:1.5;border-radius:8px;}:where(.css-1me4733).ant-input-sm{padding:0px 7px;border-radius:4px;}:where(.css-1me4733).ant-input-rtl{direction:rtl;}:where(.css-1me4733).ant-input-textarea-rtl{direction:rtl;}:where(.css-1me4733).ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input{border-color:#ff4d4f;}:where(.css-1me4733).ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover{border-color:#ffa39e;}:where(.css-1me4733).ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:focus,:where(.css-1me4733).ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input-focused{border-color:#ff4d4f;box-shadow:0 0 0 2px rgba(255, 38, 5, 0.06);border-inline-end-width:1px;outline:0;}:where(.css-1me4733).ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input .ant-input-prefix,:where(.css-1me4733).ant-input-status-error:not(.ant-input-disabled):not(.ant-input-borderless).ant-input .ant-input-suffix{color:#ff4d4f;}:where(.css-1me4733).ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input{border-color:#faad14;}:where(.css-1me4733).ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:hover{border-color:#ffd666;}:where(.css-1me4733).ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input:focus,:where(.css-1me4733).ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input-focused{border-color:#faad14;box-shadow:0 0 0 2px rgba(255, 215, 5, 0.1);border-inline-end-width:1px;outline:0;}:where(.css-1me4733).ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input .ant-input-prefix,:where(.css-1me4733).ant-input-status-warning:not(.ant-input-disabled):not(.ant-input-borderless).ant-input .ant-input-suffix{color:#faad14;}:where(.css-1me4733).ant-input[type="color"]{height:32px;}:where(.css-1me4733).ant-input[type="color"].ant-input-lg{height:40px;}:where(.css-1me4733).ant-input[type="color"].ant-input-sm{height:24px;padding-top:3px;padding-bottom:3px;}:where(.css-1me4733).ant-input[type="search"]::-webkit-search-cancel-button,:where(.css-1me4733).ant-input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}:where(.css-1me4733).ant-input-textarea{position:relative;}:where(.css-1me4733).ant-input-textarea-show-count >.ant-input{height:100%;}:where(.css-1me4733).ant-input-textarea-show-count .ant-input-data-count{color:rgba(0, 0, 0, 0.45);white-space:nowrap;pointer-events:none;float:right;margin-bottom:-22px;}:where(.css-1me4733).ant-input-textarea-show-count-rtl .ant-input-data-count{float:left;}:where(.css-1me4733).ant-input-textarea-affix-wrapper.ant-input-textarea-has-feedback .ant-input{padding-inline-end:24px;}:where(.css-1me4733).ant-input-textarea-affix-wrapper.ant-input-affix-wrapper{padding:0;}:where(.css-1me4733).ant-input-textarea-affix-wrapper.ant-input-affix-wrapper >textarea.ant-input{font-size:inherit;border:none;outline:none;}:where(.css-1me4733).ant-input-textarea-affix-wrapper.ant-input-affix-wrapper >textarea.ant-input:focus{box-shadow:none!important;}:where(.css-1me4733).ant-input-textarea-affix-wrapper.ant-input-affix-wrapper .ant-input-suffix{margin:0;}:where(.css-1me4733).ant-input-textarea-affix-wrapper.ant-input-affix-wrapper .ant-input-suffix >*:not(:last-child){margin-inline:0;}:where(.css-1me4733).ant-input-textarea-affix-wrapper.ant-input-affix-wrapper .ant-input-suffix .ant-input-clear-icon{position:absolute;inset-inline-end:8px;inset-block-start:8px;}:where(.css-1me4733).ant-input-textarea-affix-wrapper.ant-input-affix-wrapper .ant-input-suffix .ant-input-textarea-suffix{position:absolute;top:0;inset-inline-end:11px;bottom:0;z-index:1;display:inline-flex;align-items:center;margin:auto;pointer-events:none;}:where(.css-1me4733).ant-input-affix-wrapper{position:relative;display:inline-flex;width:100%;min-width:0;padding:4px 11px;color:rgba(0, 0, 0, 0.88);font-size:14px;line-height:1.5714285714285714;background-color:#ffffff;background-image:none;border-width:1px;border-style:solid;border-color:#d9d9d9;border-radius:6px;transition:all 0.2s;}:where(.css-1me4733).ant-input-affix-wrapper::-moz-placeholder{opacity:1;}:where(.css-1me4733).ant-input-affix-wrapper::placeholder{color:rgba(0, 0, 0, 0.25);user-select:none;}:where(.css-1me4733).ant-input-affix-wrapper:placeholder-shown{text-overflow:ellipsis;}:where(.css-1me4733).ant-input-affix-wrapper:hover{border-color:#4096ff;border-inline-end-width:1px;}:where(.css-1me4733).ant-input-affix-wrapper:focus,:where(.css-1me4733).ant-input-affix-wrapper-focused{border-color:#4096ff;box-shadow:0 0 0 2px rgba(5, 145, 255, 0.1);border-inline-end-width:1px;outline:0;}:where(.css-1me4733).ant-input-affix-wrapper-disabled,:where(.css-1me4733).ant-input-affix-wrapper[disabled]{color:rgba(0, 0, 0, 0.25);background-color:rgba(0, 0, 0, 0.04);border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1;}:where(.css-1me4733).ant-input-affix-wrapper-disabled:hover,:where(.css-1me4733).ant-input-affix-wrapper[disabled]:hover{border-color:#d9d9d9;border-inline-end-width:1px;}:where(.css-1me4733).ant-input-affix-wrapper-borderless,:where(.css-1me4733).ant-input-affix-wrapper-borderless:hover,:where(.css-1me4733).ant-input-affix-wrapper-borderless:focus,:where(.css-1me4733).ant-input-affix-wrapper-borderless-focused,:where(.css-1me4733).ant-input-affix-wrapper-borderless-disabled,:where(.css-1me4733).ant-input-affix-wrapper-borderless[disabled]{background-color:transparent;border:none;box-shadow:none;}textarea:where(.css-1me4733).ant-input-affix-wrapper{max-width:100%;height:auto;min-height:32px;line-height:1.5714285714285714;vertical-align:bottom;transition:all 0.3s,height 0s;resize:vertical;}:where(.css-1me4733).ant-input-affix-wrapper-lg{padding:7px 11px;font-size:16px;line-height:1.5;border-radius:8px;}:where(.css-1me4733).ant-input-affix-wrapper-sm{padding:0px 7px;border-radius:4px;}:where(.css-1me4733).ant-input-affix-wrapper-rtl{direction:rtl;}:where(.css-1me4733).ant-input-affix-wrapper-textarea-rtl{direction:rtl;}:where(.css-1me4733).ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{border-color:#4096ff;border-inline-end-width:1px;z-index:1;}.ant-input-search-with-button :where(.css-1me4733).ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover{z-index:0;}:where(.css-1me4733).ant-input-affix-wrapper-focused,:where(.css-1me4733).ant-input-affix-wrapper:focus{z-index:1;}:where(.css-1me4733).ant-input-affix-wrapper-disabled .ant-input[disabled]{background:transparent;}:where(.css-1me4733).ant-input-affix-wrapper >input.ant-input{padding:0;font-size:inherit;border:none;border-radius:0;outline:none;}:where(.css-1me4733).ant-input-affix-wrapper >input.ant-input:focus{box-shadow:none!important;}:where(.css-1me4733).ant-input-affix-wrapper::before{width:0;visibility:hidden;content:"\a0";}:where(.css-1me4733).ant-input-affix-wrapper .ant-input-prefix,:where(.css-1me4733).ant-input-affix-wrapper .ant-input-suffix{display:flex;flex:none;align-items:center;}:where(.css-1me4733).ant-input-affix-wrapper .ant-input-prefix >*:not(:last-child),:where(.css-1me4733).ant-input-affix-wrapper .ant-input-suffix >*:not(:last-child){margin-inline-end:8px;}:where(.css-1me4733).ant-input-affix-wrapper .ant-input-show-count-suffix{color:rgba(0, 0, 0, 0.45);}:where(.css-1me4733).ant-input-affix-wrapper .ant-input-show-count-has-suffix{margin-inline-end:4px;}:where(.css-1me4733).ant-input-affix-wrapper .ant-input-prefix{margin-inline-end:4px;}:where(.css-1me4733).ant-input-affix-wrapper .ant-input-suffix{margin-inline-start:4px;}:where(.css-1me4733).ant-input-affix-wrapper .ant-input-clear-icon{margin:0;color:rgba(0, 0, 0, 0.25);font-size:12px;vertical-align:-1px;cursor:pointer;transition:color 0.3s;}:where(.css-1me4733).ant-input-affix-wrapper .ant-input-clear-icon:hover{color:rgba(0, 0, 0, 0.45);}:where(.css-1me4733).ant-input-affix-wrapper .ant-input-clear-icon:active{color:rgba(0, 0, 0, 0.88);}:where(.css-1me4733).ant-input-affix-wrapper .ant-input-clear-icon-hidden{visibility:hidden;}:where(.css-1me4733).ant-input-affix-wrapper .ant-input-clear-icon-has-suffix{margin:0 4px;}:where(.css-1me4733).ant-input-affix-wrapper .anticon.ant-input-password-icon{color:rgba(0, 0, 0, 0.45);cursor:pointer;transition:all 0.3s;}:where(.css-1me4733).ant-input-affix-wrapper .anticon.ant-input-password-icon:hover{color:rgba(0, 0, 0, 0.88);}:where(.css-1me4733).ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper{border-color:#ff4d4f;}:where(.css-1me4733).ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:hover{border-color:#ffa39e;}:where(.css-1me4733).ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:focus,:where(.css-1me4733).ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper-focused{border-color:#ff4d4f;box-shadow:0 0 0 2px rgba(255, 38, 5, 0.06);border-inline-end-width:1px;outline:0;}:where(.css-1me4733).ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper .ant-input-prefix,:where(.css-1me4733).ant-input-affix-wrapper-status-error:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper .ant-input-suffix{color:#ff4d4f;}:where(.css-1me4733).ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper{border-color:#faad14;}:where(.css-1me4733).ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:hover{border-color:#ffd666;}:where(.css-1me4733).ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper:focus,:where(.css-1me4733).ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper-focused{border-color:#faad14;box-shadow:0 0 0 2px rgba(255, 215, 5, 0.1);border-inline-end-width:1px;outline:0;}:where(.css-1me4733).ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper .ant-input-prefix,:where(.css-1me4733).ant-input-affix-wrapper-status-warning:not(.ant-input-affix-wrapper-disabled):not(.ant-input-affix-wrapper-borderless).ant-input-affix-wrapper .ant-input-suffix{color:#faad14;}:where(.css-1me4733).ant-input-group{box-sizing:border-box;margin:0;padding:0;color:rgba(0, 0, 0, 0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:table;width:100%;border-collapse:separate;border-spacing:0;}:where(.css-1me4733).ant-input-group[class*='col-']{padding-inline-end:8px;}:where(.css-1me4733).ant-input-group[class*='col-']:last-child{padding-inline-end:0;}:where(.css-1me4733).ant-input-group-lg .ant-input,:where(.css-1me4733).ant-input-group-lg>.ant-input-group-addon{padding:7px 11px;font-size:16px;line-height:1.5;border-radius:8px;}:where(.css-1me4733).ant-input-group-sm .ant-input,:where(.css-1me4733).ant-input-group-sm>.ant-input-group-addon{padding:0px 7px;border-radius:4px;}:where(.css-1me4733).ant-input-group-lg .ant-select-single .ant-select-selector{height:40px;}:where(.css-1me4733).ant-input-group-sm .ant-select-single .ant-select-selector{height:24px;}:where(.css-1me4733).ant-input-group >.ant-input{display:table-cell;}:where(.css-1me4733).ant-input-group >.ant-input:not(:first-child):not(:last-child){border-radius:0;}:where(.css-1me4733).ant-input-group .ant-input-group-addon,:where(.css-1me4733).ant-input-group .ant-input-group-wrap{display:table-cell;width:1px;white-space:nowrap;vertical-align:middle;}:where(.css-1me4733).ant-input-group .ant-input-group-addon:not(:first-child):not(:last-child),:where(.css-1me4733).ant-input-group .ant-input-group-wrap:not(:first-child):not(:last-child){border-radius:0;}:where(.css-1me4733).ant-input-group .ant-input-group-wrap>*{display:block!important;}:where(.css-1me4733).ant-input-group .ant-input-group-addon{position:relative;padding:0 11px;color:rgba(0, 0, 0, 0.88);font-weight:normal;font-size:14px;text-align:center;background-color:rgba(0, 0, 0, 0.02);border:1px solid #d9d9d9;border-radius:6px;transition:all 0.3s;line-height:1;}:where(.css-1me4733).ant-input-group .ant-input-group-addon .ant-select{margin:-5px -11px;}:where(.css-1me4733).ant-input-group .ant-input-group-addon .ant-select.ant-select-single:not(.ant-select-customize-input) .ant-select-selector{background-color:inherit;border:1px solid transparent;box-shadow:none;}:where(.css-1me4733).ant-input-group .ant-input-group-addon .ant-select-open .ant-select-selector,:where(.css-1me4733).ant-input-group .ant-input-group-addon .ant-select-focused .ant-select-selector{color:#1677ff;}:where(.css-1me4733).ant-input-group .ant-input-group-addon .ant-cascader-picker{margin:-9px -11px;background-color:transparent;}:where(.css-1me4733).ant-input-group .ant-input-group-addon .ant-cascader-picker .ant-cascader-input{text-align:start;border:0;box-shadow:none;}:where(.css-1me4733).ant-input-group .ant-input-group-addon:first-child{border-inline-end:0;}:where(.css-1me4733).ant-input-group .ant-input-group-addon:last-child{border-inline-start:0;}:where(.css-1me4733).ant-input-group .ant-input{width:100%;margin-bottom:0;text-align:inherit;}:where(.css-1me4733).ant-input-group .ant-input:focus{z-index:1;border-inline-end-width:1px;}:where(.css-1me4733).ant-input-group .ant-input:hover{z-index:1;border-inline-end-width:1px;}.ant-input-search-with-button :where(.css-1me4733).ant-input-group .ant-input:hover{z-index:0;}:where(.css-1me4733).ant-input-group >.ant-input:first-child,:where(.css-1me4733).ant-input-group .ant-input-group-addon:first-child{border-start-end-radius:0;border-end-end-radius:0;}:where(.css-1me4733).ant-input-group >.ant-input:first-child .ant-select .ant-select-selector,:where(.css-1me4733).ant-input-group .ant-input-group-addon:first-child .ant-select .ant-select-selector{border-start-end-radius:0;border-end-end-radius:0;}:where(.css-1me4733).ant-input-group >.ant-input-affix-wrapper:not(:first-child) .ant-input{border-start-start-radius:0;border-end-start-radius:0;}:where(.css-1me4733).ant-input-group >.ant-input-affix-wrapper:not(:last-child) .ant-input{border-start-end-radius:0;border-end-end-radius:0;}:where(.css-1me4733).ant-input-group >.ant-input:last-child,:where(.css-1me4733).ant-input-group .ant-input-group-addon:last-child{border-start-start-radius:0;border-end-start-radius:0;}:where(.css-1me4733).ant-input-group >.ant-input:last-child .ant-select .ant-select-selector,:where(.css-1me4733).ant-input-group .ant-input-group-addon:last-child .ant-select .ant-select-selector{border-start-start-radius:0;border-end-start-radius:0;}:where(.css-1me4733).ant-input-group .ant-input-affix-wrapper:not(:last-child){border-start-end-radius:0;border-end-end-radius:0;}.ant-input-search :where(.css-1me4733).ant-input-group .ant-input-affix-wrapper:not(:last-child){border-start-start-radius:6px;border-end-start-radius:6px;}:where(.css-1me4733).ant-input-group .ant-input-affix-wrapper:not(:first-child),.ant-input-search :where(.css-1me4733).ant-input-group .ant-input-affix-wrapper:not(:first-child){border-start-start-radius:0;border-end-start-radius:0;}:where(.css-1me4733).ant-input-group.ant-input-group-compact{display:block;}:where(.css-1me4733).ant-input-group.ant-input-group-compact::before{display:table;content:"";}:where(.css-1me4733).ant-input-group.ant-input-group-compact::after{display:table;clear:both;content:"";}:where(.css-1me4733).ant-input-group.ant-input-group-compact .ant-input-group-addon:not(:first-child):not(:last-child),:where(.css-1me4733).ant-input-group.ant-input-group-compact .ant-input-group-wrap:not(:first-child):not(:last-child),:where(.css-1me4733).ant-input-group.ant-input-group-compact >.ant-input:not(:first-child):not(:last-child){border-inline-end-width:1px;}:where(.css-1me4733).ant-input-group.ant-input-group-compact .ant-input-group-addon:not(:first-child):not(:last-child):hover,:where(.css-1me4733).ant-input-group.ant-input-group-compact .ant-input-group-wrap:not(:first-child):not(:last-child):hover,:where(.css-1me4733).ant-input-group.ant-input-group-compact >.ant-input:not(:first-child):not(:last-child):hover{z-index:1;}:where(.css-1me4733).ant-input-group.ant-input-group-compact .ant-input-group-addon:not(:first-child):not(:last-child):focus,:where(.css-1me4733).ant-input-group.ant-input-group-compact .ant-input-group-wrap:not(:first-child):not(:last-child):focus,:where(.css-1me4733).ant-input-group.ant-input-group-compact >.ant-input:not(:first-child):not(:last-child):focus{z-index:1;}:where(.css-1me4733).ant-input-group.ant-input-group-compact>*{display:inline-block;float:none;vertical-align:top;border-radius:0;}:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-input-affix-wrapper{display:inline-flex;}:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-picker-range{display:inline-flex;}:where(.css-1me4733).ant-input-group.ant-input-group-compact>*:not(:last-child){margin-inline-end:-1px;border-inline-end-width:1px;}:where(.css-1me4733).ant-input-group.ant-input-group-compact .ant-input{float:none;}:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input{border-inline-end-width:1px;border-radius:0;}:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:hover,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:hover,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:hover,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:hover{z-index:1;}:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-select>.ant-select-selector:focus,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input:focus,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-cascader-picker .ant-input:focus,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-input-group-wrapper .ant-input:focus{z-index:1;}:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-select-focused{z-index:1;}:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-select>.ant-select-arrow{z-index:1;}:where(.css-1me4733).ant-input-group.ant-input-group-compact>*:first-child,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-select:first-child>.ant-select-selector,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-select-auto-complete:first-child .ant-input,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-cascader-picker:first-child .ant-input{border-start-start-radius:6px;border-end-start-radius:6px;}:where(.css-1me4733).ant-input-group.ant-input-group-compact>*:last-child,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-select:last-child>.ant-select-selector,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-cascader-picker:last-child .ant-input,:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-cascader-picker-focused:last-child .ant-input{border-inline-end-width:1px;border-start-end-radius:6px;border-end-end-radius:6px;}:where(.css-1me4733).ant-input-group.ant-input-group-compact>.ant-select-auto-complete .ant-input{vertical-align:top;}:where(.css-1me4733).ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper{margin-inline-start:-1px;}:where(.css-1me4733).ant-input-group.ant-input-group-compact .ant-input-group-wrapper+.ant-input-group-wrapper .ant-input-affix-wrapper{border-radius:0;}:where(.css-1me4733).ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input-group-addon>.ant-input-search-button{border-radius:0;}:where(.css-1me4733).ant-input-group.ant-input-group-compact .ant-input-group-wrapper:not(:last-child).ant-input-search>.ant-input-group>.ant-input{border-start-start-radius:6px;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:6px;}:where(.css-1me4733).ant-input-group-rtl{direction:rtl;}:where(.css-1me4733).ant-input-group-wrapper{display:inline-block;width:100%;text-align:start;vertical-align:top;}:where(.css-1me4733).ant-input-group-wrapper-rtl{direction:rtl;}:where(.css-1me4733).ant-input-group-wrapper-lg .ant-input-group-addon{border-radius:8px;}:where(.css-1me4733).ant-input-group-wrapper-sm .ant-input-group-addon{border-radius:4px;}:where(.css-1me4733).ant-input-group-wrapper-status-error .ant-input-group-addon{color:#ff4d4f;border-color:#ff4d4f;}:where(.css-1me4733).ant-input-group-wrapper-status-warning .ant-input-group-addon{color:#faad14;border-color:#faad14;}:where(.css-1me4733).ant-input-group-wrapper-disabled .ant-input-group-addon{color:rgba(0, 0, 0, 0.25);background-color:rgba(0, 0, 0, 0.04);border-color:#d9d9d9;box-shadow:none;cursor:not-allowed;opacity:1;}:where(.css-1me4733).ant-input-group-wrapper-disabled .ant-input-group-addon:hover{border-color:#d9d9d9;border-inline-end-width:1px;}:where(.css-1me4733).ant-input-search .ant-input:hover,:where(.css-1me4733).ant-input-search .ant-input:focus{border-color:#4096ff;}:where(.css-1me4733).ant-input-search .ant-input:hover +.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary),:where(.css-1me4733).ant-input-search .ant-input:focus +.ant-input-group-addon .ant-input-search-button:not(.ant-btn-primary){border-inline-start-color:#4096ff;}:where(.css-1me4733).ant-input-search .ant-input-affix-wrapper{border-radius:0;}:where(.css-1me4733).ant-input-search .ant-input-lg{line-height:1.4998;}:where(.css-1me4733).ant-input-search >.ant-input-group >.ant-input-group-addon:last-child{inset-inline-start:-1px;padding:0;border:0;}:where(.css-1me4733).ant-input-search >.ant-input-group >.ant-input-group-addon:last-child .ant-input-search-button{padding-top:0;padding-bottom:0;border-start-start-radius:0;border-start-end-radius:6px;border-end-end-radius:6px;border-end-start-radius:0;}:where(.css-1me4733).ant-input-search >.ant-input-group >.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary){color:rgba(0, 0, 0, 0.45);}:where(.css-1me4733).ant-input-search >.ant-input-group >.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary):hover{color:#4096ff;}:where(.css-1me4733).ant-input-search >.ant-input-group >.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary):active{color:#0958d9;}:where(.css-1me4733).ant-input-search >.ant-input-group >.ant-input-group-addon:last-child .ant-input-search-button:not(.ant-btn-primary).ant-btn-loading::before{inset-inline-start:0;inset-inline-end:0;inset-block-start:0;inset-block-end:0;}:where(.css-1me4733).ant-input-search .ant-input-search-button{height:32px;}:where(.css-1me4733).ant-input-search .ant-input-search-button:hover,:where(.css-1me4733).ant-input-search .ant-input-search-button:focus{z-index:1;}:where(.css-1me4733).ant-input-search-large .ant-input-search-button{height:40px;}:where(.css-1me4733).ant-input-search-small .ant-input-search-button{height:24px;}:where(.css-1me4733).ant-input-search-rtl{direction:rtl;}:where(.css-1me4733).ant-input-search.ant-input-compact-item:not(.ant-input-compact-last-item) .ant-input-group-addon .ant-input-search-button{margin-inline-end:-1px;border-radius:0;}:where(.css-1me4733).ant-input-search.ant-input-compact-item:not(.ant-input-compact-first-item) .ant-input,:where(.css-1me4733).ant-input-search.ant-input-compact-item:not(.ant-input-compact-first-item) .ant-input-affix-wrapper{border-radius:0;}:where(.css-1me4733).ant-input-search.ant-input-compact-item >.ant-input-group-addon .ant-input-search-button:hover,:where(.css-1me4733).ant-input-search.ant-input-compact-item >.ant-input:hover,:where(.css-1me4733).ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:hover,:where(.css-1me4733).ant-input-search.ant-input-compact-item >.ant-input-group-addon .ant-input-search-button:focus,:where(.css-1me4733).ant-input-search.ant-input-compact-item >.ant-input:focus,:where(.css-1me4733).ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:focus,:where(.css-1me4733).ant-input-search.ant-input-compact-item >.ant-input-group-addon .ant-input-search-button:active,:where(.css-1me4733).ant-input-search.ant-input-compact-item >.ant-input:active,:where(.css-1me4733).ant-input-search.ant-input-compact-item .ant-input-affix-wrapper:active{z-index:2;}:where(.css-1me4733).ant-input-search.ant-input-compact-item >.ant-input-affix-wrapper-focused{z-index:2;}:where(.css-1me4733).ant-input-compact-item:not(.ant-input-compact-last-item){margin-inline-end:-1px;}:where(.css-1me4733).ant-input-compact-item:hover,:where(.css-1me4733).ant-input-compact-item:focus,:where(.css-1me4733).ant-input-compact-item:active{z-index:2;}:where(.css-1me4733).ant-input-compact-item[disabled]{z-index:0;}:where(.css-1me4733).ant-input-compact-item:not(.ant-input-compact-first-item):not(.ant-input-compact-last-item){border-radius:0;}:where(.css-1me4733).ant-input-compact-item:not(.ant-input-compact-last-item).ant-input-compact-first-item,:where(.css-1me4733).ant-input-compact-item:not(.ant-input-compact-last-item).ant-input-compact-first-item.ant-input-sm,:where(.css-1me4733).ant-input-compact-item:not(.ant-input-compact-last-item).ant-input-compact-first-item.ant-input-lg{border-start-end-radius:0;border-end-end-radius:0;}:where(.css-1me4733).ant-input-compact-item:not(.ant-input-compact-first-item).ant-input-compact-last-item,:where(.css-1me4733).ant-input-compact-item:not(.ant-input-compact-first-item).ant-input-compact-last-item.ant-input-sm,:where(.css-1me4733).ant-input-compact-item:not(.ant-input-compact-first-item).ant-input-compact-last-item.ant-input-lg{border-start-start-radius:0;border-end-start-radius:0;}</style><style data-token-hash="1wmd7ff" data-css-hash="103sp0z">:where(.css-1me4733)[class^="ant-btn"],:where(.css-1me4733)[class*=" ant-btn"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}:where(.css-1me4733)[class^="ant-btn"]::before,:where(.css-1me4733)[class*=" ant-btn"]::before,:where(.css-1me4733)[class^="ant-btn"]::after,:where(.css-1me4733)[class*=" ant-btn"]::after{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-btn"] [class^="ant-btn"],:where(.css-1me4733)[class*=" ant-btn"] [class^="ant-btn"],:where(.css-1me4733)[class^="ant-btn"] [class*=" ant-btn"],:where(.css-1me4733)[class*=" ant-btn"] [class*=" ant-btn"]{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-btn"] [class^="ant-btn"]::before,:where(.css-1me4733)[class*=" ant-btn"] [class^="ant-btn"]::before,:where(.css-1me4733)[class^="ant-btn"] [class*=" ant-btn"]::before,:where(.css-1me4733)[class*=" ant-btn"] [class*=" ant-btn"]::before,:where(.css-1me4733)[class^="ant-btn"] [class^="ant-btn"]::after,:where(.css-1me4733)[class*=" ant-btn"] [class^="ant-btn"]::after,:where(.css-1me4733)[class^="ant-btn"] [class*=" ant-btn"]::after,:where(.css-1me4733)[class*=" ant-btn"] [class*=" ant-btn"]::after{box-sizing:border-box;}:where(.css-1me4733).ant-btn{outline:none;position:relative;display:inline-block;font-weight:400;white-space:nowrap;text-align:center;background-image:none;background-color:transparent;border:1px solid transparent;cursor:pointer;transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);user-select:none;touch-action:manipulation;line-height:1.5714285714285714;color:rgba(0, 0, 0, 0.88);}:where(.css-1me4733).ant-btn >span{display:inline-block;}:where(.css-1me4733).ant-btn >.anticon+span,:where(.css-1me4733).ant-btn >span+.anticon{margin-inline-start:8px;}:where(.css-1me4733).ant-btn >a{color:currentColor;}:where(.css-1me4733).ant-btn:not(:disabled):focus-visible{outline:4px solid #91caff;outline-offset:1px;transition:outline-offset 0s,outline 0s;}:where(.css-1me4733).ant-btn-icon-only.ant-btn-compact-item{flex:none;}:where(.css-1me4733).ant-btn-compact-item.ant-btn-primary:not([disabled])+.ant-btn-compact-item.ant-btn-primary:not([disabled]){position:relative;}:where(.css-1me4733).ant-btn-compact-item.ant-btn-primary:not([disabled])+.ant-btn-compact-item.ant-btn-primary:not([disabled]):before{position:absolute;top:-1px;inset-inline-start:-1px;display:inline-block;width:1px;height:calc(100% + 2px);background-color:#4096ff;content:"";}:where(.css-1me4733).ant-btn-compact-vertical-item.ant-btn-primary:not([disabled])+.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]){position:relative;}:where(.css-1me4733).ant-btn-compact-vertical-item.ant-btn-primary:not([disabled])+.ant-btn-compact-vertical-item.ant-btn-primary:not([disabled]):before{position:absolute;top:-1px;inset-inline-start:-1px;display:inline-block;width:calc(100% + 2px);height:1px;background-color:#4096ff;content:"";}:where(.css-1me4733).ant-btn.ant-btn-sm{font-size:14px;height:24px;padding:0px 7px;border-radius:4px;}:where(.css-1me4733).ant-btn.ant-btn-sm.ant-btn-icon-only{width:24px;padding-inline-start:0;padding-inline-end:0;}:where(.css-1me4733).ant-btn.ant-btn-sm.ant-btn-icon-only.ant-btn-round{width:auto;}:where(.css-1me4733).ant-btn.ant-btn-sm.ant-btn-icon-only >span{transform:scale(1.143);}:where(.css-1me4733).ant-btn.ant-btn-sm.ant-btn-loading{opacity:0.65;cursor:default;}:where(.css-1me4733).ant-btn.ant-btn-sm .ant-btn-loading-icon{transition:width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}:where(.css-1me4733).ant-btn.ant-btn-sm:not(.ant-btn-icon-only) .ant-btn-loading-icon>.anticon{margin-inline-end:8px;}:where(.css-1me4733).ant-btn.ant-btn-circle.ant-btn-sm{min-width:24px;padding-inline-start:0;padding-inline-end:0;border-radius:50%;}:where(.css-1me4733).ant-btn.ant-btn-round.ant-btn-sm{border-radius:24px;padding-inline-start:12px;padding-inline-end:12px;}:where(.css-1me4733).ant-btn{font-size:14px;height:32px;padding:4px 15px;border-radius:6px;}:where(.css-1me4733).ant-btn.ant-btn-icon-only{width:32px;padding-inline-start:0;padding-inline-end:0;}:where(.css-1me4733).ant-btn.ant-btn-icon-only.ant-btn-round{width:auto;}:where(.css-1me4733).ant-btn.ant-btn-icon-only >span{transform:scale(1.143);}:where(.css-1me4733).ant-btn.ant-btn-loading{opacity:0.65;cursor:default;}:where(.css-1me4733).ant-btn .ant-btn-loading-icon{transition:width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}:where(.css-1me4733).ant-btn:not(.ant-btn-icon-only) .ant-btn-loading-icon>.anticon{margin-inline-end:8px;}:where(.css-1me4733).ant-btn.ant-btn-circle{min-width:32px;padding-inline-start:0;padding-inline-end:0;border-radius:50%;}:where(.css-1me4733).ant-btn.ant-btn-round{border-radius:32px;padding-inline-start:16px;padding-inline-end:16px;}:where(.css-1me4733).ant-btn.ant-btn-lg{font-size:16px;height:40px;padding:6.428571428571429px 15px;border-radius:8px;}:where(.css-1me4733).ant-btn.ant-btn-lg.ant-btn-icon-only{width:40px;padding-inline-start:0;padding-inline-end:0;}:where(.css-1me4733).ant-btn.ant-btn-lg.ant-btn-icon-only.ant-btn-round{width:auto;}:where(.css-1me4733).ant-btn.ant-btn-lg.ant-btn-icon-only >span{transform:scale(1.143);}:where(.css-1me4733).ant-btn.ant-btn-lg.ant-btn-loading{opacity:0.65;cursor:default;}:where(.css-1me4733).ant-btn.ant-btn-lg .ant-btn-loading-icon{transition:width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),opacity 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);}:where(.css-1me4733).ant-btn.ant-btn-lg:not(.ant-btn-icon-only) .ant-btn-loading-icon>.anticon{margin-inline-end:8px;}:where(.css-1me4733).ant-btn.ant-btn-circle.ant-btn-lg{min-width:40px;padding-inline-start:0;padding-inline-end:0;border-radius:50%;}:where(.css-1me4733).ant-btn.ant-btn-round.ant-btn-lg{border-radius:40px;padding-inline-start:20px;padding-inline-end:20px;}:where(.css-1me4733).ant-btn.ant-btn-block{width:100%;}:where(.css-1me4733).ant-btn-default{background-color:#ffffff;border-color:#d9d9d9;box-shadow:0 2px 0 rgba(0, 0, 0, 0.02);}:where(.css-1me4733).ant-btn-default:disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0, 0, 0, 0.25);background-color:rgba(0, 0, 0, 0.04);box-shadow:none;}:where(.css-1me4733).ant-btn-default:not(:disabled):hover{color:#4096ff;border-color:#4096ff;}:where(.css-1me4733).ant-btn-default:not(:disabled):active{color:#0958d9;border-color:#0958d9;}:where(.css-1me4733).ant-btn-default.ant-btn-background-ghost{color:#ffffff;background-color:transparent;border-color:#ffffff;box-shadow:none;}:where(.css-1me4733).ant-btn-default.ant-btn-background-ghost:not(:disabled):hover{background-color:transparent;}:where(.css-1me4733).ant-btn-default.ant-btn-background-ghost:not(:disabled):active{background-color:transparent;}:where(.css-1me4733).ant-btn-default.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25);border-color:#d9d9d9;}:where(.css-1me4733).ant-btn-default.ant-btn-dangerous{color:#ff4d4f;border-color:#ff4d4f;}:where(.css-1me4733).ant-btn-default.ant-btn-dangerous:not(:disabled):hover{color:#ff7875;border-color:#ffa39e;}:where(.css-1me4733).ant-btn-default.ant-btn-dangerous:not(:disabled):active{color:#d9363e;border-color:#d9363e;}:where(.css-1me4733).ant-btn-default.ant-btn-dangerous.ant-btn-background-ghost{color:#ff4d4f;background-color:transparent;border-color:#ff4d4f;box-shadow:none;}:where(.css-1me4733).ant-btn-default.ant-btn-dangerous.ant-btn-background-ghost:not(:disabled):hover{background-color:transparent;}:where(.css-1me4733).ant-btn-default.ant-btn-dangerous.ant-btn-background-ghost:not(:disabled):active{background-color:transparent;}:where(.css-1me4733).ant-btn-default.ant-btn-dangerous.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25);border-color:#d9d9d9;}:where(.css-1me4733).ant-btn-default.ant-btn-dangerous:disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0, 0, 0, 0.25);background-color:rgba(0, 0, 0, 0.04);box-shadow:none;}:where(.css-1me4733).ant-btn-primary{color:#fff;background-color:#1677ff;box-shadow:0 2px 0 rgba(5, 145, 255, 0.1);}:where(.css-1me4733).ant-btn-primary:disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0, 0, 0, 0.25);background-color:rgba(0, 0, 0, 0.04);box-shadow:none;}:where(.css-1me4733).ant-btn-primary:not(:disabled):hover{color:#fff;background-color:#4096ff;}:where(.css-1me4733).ant-btn-primary:not(:disabled):active{color:#fff;background-color:#0958d9;}:where(.css-1me4733).ant-btn-primary.ant-btn-background-ghost{color:#1677ff;background-color:transparent;border-color:#1677ff;box-shadow:none;}:where(.css-1me4733).ant-btn-primary.ant-btn-background-ghost:not(:disabled):hover{background-color:transparent;color:#4096ff;border-color:#4096ff;}:where(.css-1me4733).ant-btn-primary.ant-btn-background-ghost:not(:disabled):active{background-color:transparent;color:#0958d9;border-color:#0958d9;}:where(.css-1me4733).ant-btn-primary.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25);border-color:#d9d9d9;}:where(.css-1me4733).ant-btn-primary.ant-btn-dangerous{background-color:#ff4d4f;box-shadow:0 2px 0 rgba(255, 38, 5, 0.06);}:where(.css-1me4733).ant-btn-primary.ant-btn-dangerous:not(:disabled):hover{background-color:#ff7875;}:where(.css-1me4733).ant-btn-primary.ant-btn-dangerous:not(:disabled):active{background-color:#d9363e;}:where(.css-1me4733).ant-btn-primary.ant-btn-dangerous.ant-btn-background-ghost{color:#ff4d4f;background-color:transparent;border-color:#ff4d4f;box-shadow:none;}:where(.css-1me4733).ant-btn-primary.ant-btn-dangerous.ant-btn-background-ghost:not(:disabled):hover{background-color:transparent;color:#ff7875;border-color:#ff7875;}:where(.css-1me4733).ant-btn-primary.ant-btn-dangerous.ant-btn-background-ghost:not(:disabled):active{background-color:transparent;color:#d9363e;border-color:#d9363e;}:where(.css-1me4733).ant-btn-primary.ant-btn-dangerous.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25);border-color:#d9d9d9;}:where(.css-1me4733).ant-btn-primary.ant-btn-dangerous:disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0, 0, 0, 0.25);background-color:rgba(0, 0, 0, 0.04);box-shadow:none;}:where(.css-1me4733).ant-btn-dashed{background-color:#ffffff;border-color:#d9d9d9;box-shadow:0 2px 0 rgba(0, 0, 0, 0.02);border-style:dashed;}:where(.css-1me4733).ant-btn-dashed:disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0, 0, 0, 0.25);background-color:rgba(0, 0, 0, 0.04);box-shadow:none;}:where(.css-1me4733).ant-btn-dashed:not(:disabled):hover{color:#4096ff;border-color:#4096ff;}:where(.css-1me4733).ant-btn-dashed:not(:disabled):active{color:#0958d9;border-color:#0958d9;}:where(.css-1me4733).ant-btn-dashed.ant-btn-background-ghost{color:#ffffff;background-color:transparent;border-color:#ffffff;box-shadow:none;}:where(.css-1me4733).ant-btn-dashed.ant-btn-background-ghost:not(:disabled):hover{background-color:transparent;}:where(.css-1me4733).ant-btn-dashed.ant-btn-background-ghost:not(:disabled):active{background-color:transparent;}:where(.css-1me4733).ant-btn-dashed.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25);border-color:#d9d9d9;}:where(.css-1me4733).ant-btn-dashed.ant-btn-dangerous{color:#ff4d4f;border-color:#ff4d4f;}:where(.css-1me4733).ant-btn-dashed.ant-btn-dangerous:not(:disabled):hover{color:#ff7875;border-color:#ffa39e;}:where(.css-1me4733).ant-btn-dashed.ant-btn-dangerous:not(:disabled):active{color:#d9363e;border-color:#d9363e;}:where(.css-1me4733).ant-btn-dashed.ant-btn-dangerous.ant-btn-background-ghost{color:#ff4d4f;background-color:transparent;border-color:#ff4d4f;box-shadow:none;}:where(.css-1me4733).ant-btn-dashed.ant-btn-dangerous.ant-btn-background-ghost:not(:disabled):hover{background-color:transparent;}:where(.css-1me4733).ant-btn-dashed.ant-btn-dangerous.ant-btn-background-ghost:not(:disabled):active{background-color:transparent;}:where(.css-1me4733).ant-btn-dashed.ant-btn-dangerous.ant-btn-background-ghost:disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25);border-color:#d9d9d9;}:where(.css-1me4733).ant-btn-dashed.ant-btn-dangerous:disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0, 0, 0, 0.25);background-color:rgba(0, 0, 0, 0.04);box-shadow:none;}:where(.css-1me4733).ant-btn-link{color:#1677ff;}:where(.css-1me4733).ant-btn-link:not(:disabled):hover{color:#69b1ff;}:where(.css-1me4733).ant-btn-link:not(:disabled):active{color:#0958d9;}:where(.css-1me4733).ant-btn-link:disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25);}:where(.css-1me4733).ant-btn-link.ant-btn-dangerous{color:#ff4d4f;}:where(.css-1me4733).ant-btn-link.ant-btn-dangerous:not(:disabled):hover{color:#ff7875;}:where(.css-1me4733).ant-btn-link.ant-btn-dangerous:not(:disabled):active{color:#d9363e;}:where(.css-1me4733).ant-btn-link.ant-btn-dangerous:disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25);}:where(.css-1me4733).ant-btn-text:not(:disabled):hover{color:rgba(0, 0, 0, 0.88);background-color:rgba(0, 0, 0, 0.06);}:where(.css-1me4733).ant-btn-text:not(:disabled):active{color:rgba(0, 0, 0, 0.88);background-color:rgba(0, 0, 0, 0.15);}:where(.css-1me4733).ant-btn-text:disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25);}:where(.css-1me4733).ant-btn-text.ant-btn-dangerous{color:#ff4d4f;}:where(.css-1me4733).ant-btn-text.ant-btn-dangerous:disabled{cursor:not-allowed;color:rgba(0, 0, 0, 0.25);}:where(.css-1me4733).ant-btn-text.ant-btn-dangerous:not(:disabled):hover{color:#ff7875;background-color:#fff2f0;}:where(.css-1me4733).ant-btn-text.ant-btn-dangerous:not(:disabled):active{color:#ff7875;background-color:#fff2f0;}:where(.css-1me4733).ant-btn-disabled{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0, 0, 0, 0.25);background-color:rgba(0, 0, 0, 0.04);box-shadow:none;}:where(.css-1me4733).ant-btn-disabled.ant-btn:hover{cursor:not-allowed;border-color:#d9d9d9;color:rgba(0, 0, 0, 0.25);background-color:rgba(0, 0, 0, 0.04);box-shadow:none;}:where(.css-1me4733).ant-btn-group{position:relative;display:inline-flex;}:where(.css-1me4733).ant-btn-group >span:not(:last-child),:where(.css-1me4733).ant-btn-group >.ant-btn:not(:last-child),:where(.css-1me4733).ant-btn-group >span:not(:last-child)>.ant-btn,:where(.css-1me4733).ant-btn-group >.ant-btn:not(:last-child)>.ant-btn{border-start-end-radius:0;border-end-end-radius:0;}:where(.css-1me4733).ant-btn-group >span:not(:first-child),:where(.css-1me4733).ant-btn-group >.ant-btn:not(:first-child){margin-inline-start:-1px;}:where(.css-1me4733).ant-btn-group >span:not(:first-child),:where(.css-1me4733).ant-btn-group >.ant-btn:not(:first-child),:where(.css-1me4733).ant-btn-group >span:not(:first-child)>.ant-btn,:where(.css-1me4733).ant-btn-group >.ant-btn:not(:first-child)>.ant-btn{border-start-start-radius:0;border-end-start-radius:0;}:where(.css-1me4733).ant-btn-group .ant-btn{position:relative;z-index:1;}:where(.css-1me4733).ant-btn-group .ant-btn:hover,:where(.css-1me4733).ant-btn-group .ant-btn:focus,:where(.css-1me4733).ant-btn-group .ant-btn:active{z-index:2;}:where(.css-1me4733).ant-btn-group .ant-btn[disabled]{z-index:0;}:where(.css-1me4733).ant-btn-group .ant-btn-icon-only{font-size:14px;}:where(.css-1me4733).ant-btn-group >span:not(:last-child):not(:disabled),:where(.css-1me4733).ant-btn-group >.ant-btn-primary:not(:last-child):not(:disabled),:where(.css-1me4733).ant-btn-group >span:not(:last-child)>.ant-btn-primary:not(:disabled),:where(.css-1me4733).ant-btn-group >.ant-btn-primary:not(:last-child)>.ant-btn-primary:not(:disabled){border-inline-end-color:#4096ff;}:where(.css-1me4733).ant-btn-group >span:not(:first-child):not(:disabled),:where(.css-1me4733).ant-btn-group >.ant-btn-primary:not(:first-child):not(:disabled),:where(.css-1me4733).ant-btn-group >span:not(:first-child)>.ant-btn-primary:not(:disabled),:where(.css-1me4733).ant-btn-group >.ant-btn-primary:not(:first-child)>.ant-btn-primary:not(:disabled){border-inline-start-color:#4096ff;}:where(.css-1me4733).ant-btn-group >span:not(:last-child):not(:disabled),:where(.css-1me4733).ant-btn-group >.ant-btn-danger:not(:last-child):not(:disabled),:where(.css-1me4733).ant-btn-group >span:not(:last-child)>.ant-btn-danger:not(:disabled),:where(.css-1me4733).ant-btn-group >.ant-btn-danger:not(:last-child)>.ant-btn-danger:not(:disabled){border-inline-end-color:#ff7875;}:where(.css-1me4733).ant-btn-group >span:not(:first-child):not(:disabled),:where(.css-1me4733).ant-btn-group >.ant-btn-danger:not(:first-child):not(:disabled),:where(.css-1me4733).ant-btn-group >span:not(:first-child)>.ant-btn-danger:not(:disabled),:where(.css-1me4733).ant-btn-group >.ant-btn-danger:not(:first-child)>.ant-btn-danger:not(:disabled){border-inline-start-color:#ff7875;}:where(.css-1me4733).ant-btn-compact-item:not(.ant-btn-compact-last-item){margin-inline-end:-1px;}:where(.css-1me4733).ant-btn-compact-item:hover,:where(.css-1me4733).ant-btn-compact-item:active{z-index:2;}:where(.css-1me4733).ant-btn-compact-item[disabled]{z-index:0;}:where(.css-1me4733).ant-btn-compact-item:not(.ant-btn-compact-first-item):not(.ant-btn-compact-last-item){border-radius:0;}:where(.css-1me4733).ant-btn-compact-item:not(.ant-btn-compact-last-item).ant-btn-compact-first-item,:where(.css-1me4733).ant-btn-compact-item:not(.ant-btn-compact-last-item).ant-btn-compact-first-item.ant-btn-sm,:where(.css-1me4733).ant-btn-compact-item:not(.ant-btn-compact-last-item).ant-btn-compact-first-item.ant-btn-lg{border-start-end-radius:0;border-end-end-radius:0;}:where(.css-1me4733).ant-btn-compact-item:not(.ant-btn-compact-first-item).ant-btn-compact-last-item,:where(.css-1me4733).ant-btn-compact-item:not(.ant-btn-compact-first-item).ant-btn-compact-last-item.ant-btn-sm,:where(.css-1me4733).ant-btn-compact-item:not(.ant-btn-compact-first-item).ant-btn-compact-last-item.ant-btn-lg{border-start-start-radius:0;border-end-start-radius:0;}:where(.css-1me4733).ant-btn-compact-vertical-item:not(.ant-btn-compact-vertical-last-item){margin-bottom:-1px;}:where(.css-1me4733).ant-btn-compact-vertical-item:hover,:where(.css-1me4733).ant-btn-compact-vertical-item:focus,:where(.css-1me4733).ant-btn-compact-vertical-item:active{z-index:2;}:where(.css-1me4733).ant-btn-compact-vertical-item[disabled]{z-index:0;}:where(.css-1me4733).ant-btn-compact-vertical-item:not(.ant-btn-compact-vertical-first-item):not(.ant-btn-compact-vertical-last-item){border-radius:0;}:where(.css-1me4733).ant-btn-compact-vertical-item.ant-btn-compact-vertical-first-item:not(.ant-btn-compact-vertical-last-item),:where(.css-1me4733).ant-btn-compact-vertical-item.ant-btn-compact-vertical-first-item:not(.ant-btn-compact-vertical-last-item).ant-btn-sm,:where(.css-1me4733).ant-btn-compact-vertical-item.ant-btn-compact-vertical-first-item:not(.ant-btn-compact-vertical-last-item).ant-btn-lg{border-end-end-radius:0;border-end-start-radius:0;}:where(.css-1me4733).ant-btn-compact-vertical-item.ant-btn-compact-vertical-last-item:not(.ant-btn-compact-vertical-first-item),:where(.css-1me4733).ant-btn-compact-vertical-item.ant-btn-compact-vertical-last-item:not(.ant-btn-compact-vertical-first-item).ant-btn-sm,:where(.css-1me4733).ant-btn-compact-vertical-item.ant-btn-compact-vertical-last-item:not(.ant-btn-compact-vertical-first-item).ant-btn-lg{border-start-start-radius:0;border-start-end-radius:0;}</style><style data-token-hash="1wmd7ff" data-css-hash="vaxyn3">:where(.css-1me4733)[class^="ant-wave"],:where(.css-1me4733)[class*=" ant-wave"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}:where(.css-1me4733)[class^="ant-wave"]::before,:where(.css-1me4733)[class*=" ant-wave"]::before,:where(.css-1me4733)[class^="ant-wave"]::after,:where(.css-1me4733)[class*=" ant-wave"]::after{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-wave"] [class^="ant-wave"],:where(.css-1me4733)[class*=" ant-wave"] [class^="ant-wave"],:where(.css-1me4733)[class^="ant-wave"] [class*=" ant-wave"],:where(.css-1me4733)[class*=" ant-wave"] [class*=" ant-wave"]{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-wave"] [class^="ant-wave"]::before,:where(.css-1me4733)[class*=" ant-wave"] [class^="ant-wave"]::before,:where(.css-1me4733)[class^="ant-wave"] [class*=" ant-wave"]::before,:where(.css-1me4733)[class*=" ant-wave"] [class*=" ant-wave"]::before,:where(.css-1me4733)[class^="ant-wave"] [class^="ant-wave"]::after,:where(.css-1me4733)[class*=" ant-wave"] [class^="ant-wave"]::after,:where(.css-1me4733)[class^="ant-wave"] [class*=" ant-wave"]::after,:where(.css-1me4733)[class*=" ant-wave"] [class*=" ant-wave"]::after{box-sizing:border-box;}:where(.css-1me4733).ant-wave{position:absolute;background:transparent;pointer-events:none;box-sizing:border-box;color:var(--wave-color, #1677ff);box-shadow:0 0 0 0 currentcolor;opacity:0.2;}:where(.css-1me4733).ant-wave.wave-motion-appear{transition:box-shadow 0.4s cubic-bezier(0.08, 0.82, 0.17, 1),opacity 2s cubic-bezier(0.08, 0.82, 0.17, 1);}:where(.css-1me4733).ant-wave.wave-motion-appear-active{box-shadow:0 0 0 6px currentcolor;opacity:0;}</style><style data-token-hash="1wmd7ff" data-css-hash="1q1k7pu">:where(.css-1me4733)[class^="ant-select"],:where(.css-1me4733)[class*=" ant-select"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}:where(.css-1me4733)[class^="ant-select"]::before,:where(.css-1me4733)[class*=" ant-select"]::before,:where(.css-1me4733)[class^="ant-select"]::after,:where(.css-1me4733)[class*=" ant-select"]::after{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-select"] [class^="ant-select"],:where(.css-1me4733)[class*=" ant-select"] [class^="ant-select"],:where(.css-1me4733)[class^="ant-select"] [class*=" ant-select"],:where(.css-1me4733)[class*=" ant-select"] [class*=" ant-select"]{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-select"] [class^="ant-select"]::before,:where(.css-1me4733)[class*=" ant-select"] [class^="ant-select"]::before,:where(.css-1me4733)[class^="ant-select"] [class*=" ant-select"]::before,:where(.css-1me4733)[class*=" ant-select"] [class*=" ant-select"]::before,:where(.css-1me4733)[class^="ant-select"] [class^="ant-select"]::after,:where(.css-1me4733)[class*=" ant-select"] [class^="ant-select"]::after,:where(.css-1me4733)[class^="ant-select"] [class*=" ant-select"]::after,:where(.css-1me4733)[class*=" ant-select"] [class*=" ant-select"]::after{box-sizing:border-box;}:where(.css-1me4733).ant-select-borderless .ant-select-selector{background-color:transparent!important;border-color:transparent!important;box-shadow:none!important;}:where(.css-1me4733).ant-select.ant-select-in-form-item{width:100%;}:where(.css-1me4733).ant-select{box-sizing:border-box;margin:0;padding:0;color:rgba(0, 0, 0, 0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:relative;display:inline-block;cursor:pointer;}:where(.css-1me4733).ant-select:not(.ant-select-customize-input) .ant-select-selector{position:relative;background-color:#ffffff;border:1px solid #d9d9d9;transition:all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);}:where(.css-1me4733).ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:pointer;}.ant-select-show-search:where(.css-1me4733).ant-select:not(.ant-select-customize-input) .ant-select-selector{cursor:text;}.ant-select-show-search:where(.css-1me4733).ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:auto;color:inherit;}.ant-select-disabled:where(.css-1me4733).ant-select:not(.ant-select-customize-input) .ant-select-selector{color:rgba(0, 0, 0, 0.25);background:rgba(0, 0, 0, 0.04);cursor:not-allowed;}.ant-select-multiple.ant-select-disabled:where(.css-1me4733).ant-select:not(.ant-select-customize-input) .ant-select-selector{background:rgba(0, 0, 0, 0.04);}.ant-select-disabled:where(.css-1me4733).ant-select:not(.ant-select-customize-input) .ant-select-selector input{cursor:not-allowed;}:where(.css-1me4733).ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{margin:0;padding:0;background:transparent;border:none;outline:none;appearance:none;}:where(.css-1me4733).ant-select:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input::-webkit-search-cancel-button{display:none;-webkit-appearance:none;}:where(.css-1me4733).ant-select .ant-select-selection-item{flex:1;font-weight:normal;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}:where(.css-1me4733).ant-select .ant-select-selection-item >*{line-height:inherit;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}:where(.css-1me4733).ant-select .ant-select-selection-placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;color:rgba(0, 0, 0, 0.25);pointer-events:none;}:where(.css-1me4733).ant-select .ant-select-arrow{display:flex;align-items:center;color:rgba(0, 0, 0, 0.25);font-style:normal;line-height:1;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;position:absolute;top:50%;inset-inline-start:auto;inset-inline-end:11px;height:12px;margin-top:-6px;font-size:12px;pointer-events:none;}:where(.css-1me4733).ant-select .ant-select-arrow >*{line-height:1;}:where(.css-1me4733).ant-select .ant-select-arrow svg{display:inline-block;}:where(.css-1me4733).ant-select .ant-select-arrow .anticon{vertical-align:top;transition:transform 0.3s;}:where(.css-1me4733).ant-select .ant-select-arrow .anticon >svg{vertical-align:top;}:where(.css-1me4733).ant-select .ant-select-arrow .anticon:not(.ant-select-suffix){pointer-events:auto;}.ant-select-disabled :where(.css-1me4733).ant-select .ant-select-arrow{cursor:not-allowed;}:where(.css-1me4733).ant-select .ant-select-arrow >*:not(:last-child){margin-inline-end:8px;}:where(.css-1me4733).ant-select .ant-select-clear{position:absolute;top:50%;inset-inline-start:auto;inset-inline-end:11px;z-index:1;display:inline-block;width:12px;height:12px;margin-top:-6px;color:rgba(0, 0, 0, 0.25);font-size:12px;font-style:normal;line-height:1;text-align:center;text-transform:none;background:#ffffff;cursor:pointer;opacity:0;transition:color 0.2s ease,opacity 0.3s ease;text-rendering:auto;}:where(.css-1me4733).ant-select .ant-select-clear:before{display:block;}:where(.css-1me4733).ant-select .ant-select-clear:hover{color:rgba(0, 0, 0, 0.45);}:where(.css-1me4733).ant-select:hover .ant-select-clear{opacity:1;}:where(.css-1me4733).ant-select-has-feedback .ant-select-clear{inset-inline-end:29px;}:where(.css-1me4733).ant-select-single{font-size:14px;}:where(.css-1me4733).ant-select-single .ant-select-selector{box-sizing:border-box;margin:0;padding:0;color:rgba(0, 0, 0, 0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:flex;border-radius:6px;}:where(.css-1me4733).ant-select-single .ant-select-selector .ant-select-selection-search{position:absolute;top:0;inset-inline-start:11px;inset-inline-end:11px;bottom:0;}:where(.css-1me4733).ant-select-single .ant-select-selector .ant-select-selection-search-input{width:100%;}:where(.css-1me4733).ant-select-single .ant-select-selector .ant-select-selection-item,:where(.css-1me4733).ant-select-single .ant-select-selector .ant-select-selection-placeholder{padding:0;line-height:30px;transition:all 0.3s;}@supports (-moz-appearance: meterbar){:where(.css-1me4733).ant-select-single .ant-select-selector .ant-select-selection-item,:where(.css-1me4733).ant-select-single .ant-select-selector .ant-select-selection-placeholder{line-height:30px;}}:where(.css-1me4733).ant-select-single .ant-select-selector .ant-select-selection-item{position:relative;user-select:none;}:where(.css-1me4733).ant-select-single .ant-select-selector .ant-select-selection-placeholder{transition:none;pointer-events:none;}:where(.css-1me4733).ant-select-single .ant-select-selector:after,:where(.css-1me4733).ant-select-single .ant-select-selector .ant-select-selection-item:after,:where(.css-1me4733).ant-select-single .ant-select-selector .ant-select-selection-placeholder:after{display:inline-block;width:0;visibility:hidden;content:"\a0";}:where(.css-1me4733).ant-select-single.ant-select-show-arrow .ant-select-selection-item,:where(.css-1me4733).ant-select-single.ant-select-show-arrow .ant-select-selection-placeholder{padding-inline-end:18px;}:where(.css-1me4733).ant-select-single.ant-select-open .ant-select-selection-item{color:rgba(0, 0, 0, 0.25);}:where(.css-1me4733).ant-select-single:not(.ant-select-customize-input) .ant-select-selector{width:100%;height:32px;padding:0 11px;}:where(.css-1me4733).ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{height:30px;}:where(.css-1me4733).ant-select-single:not(.ant-select-customize-input) .ant-select-selector:after{line-height:30px;}:where(.css-1me4733).ant-select-single.ant-select-customize-input .ant-select-selector:after{display:none;}:where(.css-1me4733).ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-search{position:static;width:100%;}:where(.css-1me4733).ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder{position:absolute;inset-inline-start:0;inset-inline-end:0;padding:0 11px;}:where(.css-1me4733).ant-select-single.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder:after{display:none;}:where(.css-1me4733).ant-select-single.ant-select-sm{font-size:14px;}:where(.css-1me4733).ant-select-single.ant-select-sm .ant-select-selector{box-sizing:border-box;margin:0;padding:0;color:rgba(0, 0, 0, 0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:flex;border-radius:4px;}:where(.css-1me4733).ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-search{position:absolute;top:0;inset-inline-start:11px;inset-inline-end:11px;bottom:0;}:where(.css-1me4733).ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-search-input{width:100%;}:where(.css-1me4733).ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-item,:where(.css-1me4733).ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-placeholder{padding:0;line-height:22px;transition:all 0.3s;}@supports (-moz-appearance: meterbar){:where(.css-1me4733).ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-item,:where(.css-1me4733).ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-placeholder{line-height:22px;}}:where(.css-1me4733).ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-item{position:relative;user-select:none;}:where(.css-1me4733).ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-placeholder{transition:none;pointer-events:none;}:where(.css-1me4733).ant-select-single.ant-select-sm .ant-select-selector:after,:where(.css-1me4733).ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-item:after,:where(.css-1me4733).ant-select-single.ant-select-sm .ant-select-selector .ant-select-selection-placeholder:after{display:inline-block;width:0;visibility:hidden;content:"\a0";}:where(.css-1me4733).ant-select-single.ant-select-sm.ant-select-show-arrow .ant-select-selection-item,:where(.css-1me4733).ant-select-single.ant-select-sm.ant-select-show-arrow .ant-select-selection-placeholder{padding-inline-end:18px;}:where(.css-1me4733).ant-select-single.ant-select-sm.ant-select-open .ant-select-selection-item{color:rgba(0, 0, 0, 0.25);}:where(.css-1me4733).ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector{width:100%;height:24px;padding:0 11px;}:where(.css-1me4733).ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{height:22px;}:where(.css-1me4733).ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector:after{line-height:22px;}:where(.css-1me4733).ant-select-single.ant-select-sm.ant-select-customize-input .ant-select-selector:after{display:none;}:where(.css-1me4733).ant-select-single.ant-select-sm.ant-select-customize-input .ant-select-selector .ant-select-selection-search{position:static;width:100%;}:where(.css-1me4733).ant-select-single.ant-select-sm.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder{position:absolute;inset-inline-start:0;inset-inline-end:0;padding:0 11px;}:where(.css-1me4733).ant-select-single.ant-select-sm.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder:after{display:none;}:where(.css-1me4733).ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selection-search{inset-inline-start:7px;inset-inline-end:7px;}:where(.css-1me4733).ant-select-single.ant-select-sm:not(.ant-select-customize-input) .ant-select-selector{padding:0 7px;}:where(.css-1me4733).ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-search{inset-inline-end:28px;}:where(.css-1me4733).ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-item,:where(.css-1me4733).ant-select-single.ant-select-sm:not(.ant-select-customize-input).ant-select-show-arrow .ant-select-selection-placeholder{padding-inline-end:21px;}:where(.css-1me4733).ant-select-single.ant-select-lg{font-size:16px;}:where(.css-1me4733).ant-select-single.ant-select-lg .ant-select-selector{box-sizing:border-box;margin:0;padding:0;color:rgba(0, 0, 0, 0.88);font-size:16px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:flex;border-radius:8px;}:where(.css-1me4733).ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-search{position:absolute;top:0;inset-inline-start:11px;inset-inline-end:11px;bottom:0;}:where(.css-1me4733).ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-search-input{width:100%;}:where(.css-1me4733).ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-item,:where(.css-1me4733).ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-placeholder{padding:0;line-height:38px;transition:all 0.3s;}@supports (-moz-appearance: meterbar){:where(.css-1me4733).ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-item,:where(.css-1me4733).ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-placeholder{line-height:38px;}}:where(.css-1me4733).ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-item{position:relative;user-select:none;}:where(.css-1me4733).ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-placeholder{transition:none;pointer-events:none;}:where(.css-1me4733).ant-select-single.ant-select-lg .ant-select-selector:after,:where(.css-1me4733).ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-item:after,:where(.css-1me4733).ant-select-single.ant-select-lg .ant-select-selector .ant-select-selection-placeholder:after{display:inline-block;width:0;visibility:hidden;content:"\a0";}:where(.css-1me4733).ant-select-single.ant-select-lg.ant-select-show-arrow .ant-select-selection-item,:where(.css-1me4733).ant-select-single.ant-select-lg.ant-select-show-arrow .ant-select-selection-placeholder{padding-inline-end:20px;}:where(.css-1me4733).ant-select-single.ant-select-lg.ant-select-open .ant-select-selection-item{color:rgba(0, 0, 0, 0.25);}:where(.css-1me4733).ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector{width:100%;height:40px;padding:0 11px;}:where(.css-1me4733).ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input{height:38px;}:where(.css-1me4733).ant-select-single.ant-select-lg:not(.ant-select-customize-input) .ant-select-selector:after{line-height:38px;}:where(.css-1me4733).ant-select-single.ant-select-lg.ant-select-customize-input .ant-select-selector:after{display:none;}:where(.css-1me4733).ant-select-single.ant-select-lg.ant-select-customize-input .ant-select-selector .ant-select-selection-search{position:static;width:100%;}:where(.css-1me4733).ant-select-single.ant-select-lg.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder{position:absolute;inset-inline-start:0;inset-inline-end:0;padding:0 11px;}:where(.css-1me4733).ant-select-single.ant-select-lg.ant-select-customize-input .ant-select-selector .ant-select-selection-placeholder:after{display:none;}:where(.css-1me4733).ant-select-multiple{font-size:14px;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-overflow-item{flex:none;align-self:center;max-width:100%;display:inline-flex;}:where(.css-1me4733).ant-select-multiple .ant-select-selector{display:flex;flex-wrap:wrap;align-items:center;padding:1px 4px;border-radius:6px;}.ant-select-show-search:where(.css-1me4733).ant-select-multiple .ant-select-selector{cursor:text;}.ant-select-disabled:where(.css-1me4733).ant-select-multiple .ant-select-selector{background:rgba(0, 0, 0, 0.04);cursor:not-allowed;}:where(.css-1me4733).ant-select-multiple .ant-select-selector:after{display:inline-block;width:0;margin:2px 0;line-height:24px;content:"\a0";}:where(.css-1me4733).ant-select-multiple.ant-select-show-arrow .ant-select-selector,:where(.css-1me4733).ant-select-multiple.ant-select-allow-clear .ant-select-selector{padding-inline-end:24px;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-item{position:relative;display:flex;flex:none;box-sizing:border-box;max-width:100%;height:24px;margin-top:2px;margin-bottom:2px;line-height:22px;background:rgba(0, 0, 0, 0.06);border:1px solid rgba(5, 5, 5, 0.06);border-radius:4px;cursor:default;transition:font-size 0.3s,line-height 0.3s,height 0.3s;user-select:none;margin-inline-end:4px;padding-inline-start:8px;padding-inline-end:4px;}.ant-select-disabled:where(.css-1me4733).ant-select-multiple .ant-select-selection-item{color:rgba(0, 0, 0, 0.25);border-color:#d9d9d9;cursor:not-allowed;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-item-content{display:inline-block;margin-inline-end:4px;overflow:hidden;white-space:pre;text-overflow:ellipsis;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-item-remove{display:inline-block;align-items:center;color:rgba(0, 0, 0, 0.45);font-style:normal;line-height:inherit;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:bold;font-size:10px;cursor:pointer;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-item-remove >*{line-height:1;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-item-remove svg{display:inline-block;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-item-remove >.anticon{vertical-align:-0.2em;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-item-remove:hover{color:rgba(0, 0, 0, 0.88);}:where(.css-1me4733).ant-select-multiple .ant-select-selection-overflow-item+.ant-select-selection-overflow-item .ant-select-selection-search{margin-inline-start:0;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-search{display:inline-flex;position:relative;max-width:100%;margin-inline-start:8px;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-search-input,:where(.css-1me4733).ant-select-multiple .ant-select-selection-search-mirror{height:24px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';line-height:24px;transition:all 0.3s;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-search-input{width:100%;min-width:4.1px;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-search-mirror{position:absolute;top:0;inset-inline-start:0;inset-inline-end:auto;z-index:999;white-space:pre;visibility:hidden;}:where(.css-1me4733).ant-select-multiple .ant-select-selection-placeholder{position:absolute;top:50%;inset-inline-start:11px;inset-inline-end:11px;transform:translateY(-50%);transition:all 0.3s;}:where(.css-1me4733).ant-select-multiple.ant-select-sm{font-size:14px;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-overflow-item{flex:none;align-self:center;max-width:100%;display:inline-flex;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selector{display:flex;flex-wrap:wrap;align-items:center;padding:1px 4px;border-radius:4px;}.ant-select-show-search:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selector{cursor:text;}.ant-select-disabled:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selector{background:rgba(0, 0, 0, 0.04);cursor:not-allowed;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selector:after{display:inline-block;width:0;margin:2px 0;line-height:16px;content:"\a0";}:where(.css-1me4733).ant-select-multiple.ant-select-sm.ant-select-show-arrow .ant-select-selector,:where(.css-1me4733).ant-select-multiple.ant-select-sm.ant-select-allow-clear .ant-select-selector{padding-inline-end:24px;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-item{position:relative;display:flex;flex:none;box-sizing:border-box;max-width:100%;height:16px;margin-top:2px;margin-bottom:2px;line-height:14px;background:rgba(0, 0, 0, 0.06);border:1px solid rgba(5, 5, 5, 0.06);border-radius:2px;cursor:default;transition:font-size 0.3s,line-height 0.3s,height 0.3s;user-select:none;margin-inline-end:4px;padding-inline-start:8px;padding-inline-end:4px;}.ant-select-disabled:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-item{color:rgba(0, 0, 0, 0.25);border-color:#d9d9d9;cursor:not-allowed;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-item-content{display:inline-block;margin-inline-end:4px;overflow:hidden;white-space:pre;text-overflow:ellipsis;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-item-remove{display:inline-block;align-items:center;color:rgba(0, 0, 0, 0.45);font-style:normal;line-height:inherit;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:bold;font-size:10px;cursor:pointer;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-item-remove >*{line-height:1;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-item-remove svg{display:inline-block;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-item-remove >.anticon{vertical-align:-0.2em;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-item-remove:hover{color:rgba(0, 0, 0, 0.88);}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-overflow-item+.ant-select-selection-overflow-item .ant-select-selection-search{margin-inline-start:0;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-search{display:inline-flex;position:relative;max-width:100%;margin-inline-start:8px;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-search-input,:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror{height:16px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';line-height:16px;transition:all 0.3s;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-search-input{width:100%;min-width:4.1px;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-search-mirror{position:absolute;top:0;inset-inline-start:0;inset-inline-end:auto;z-index:999;white-space:pre;visibility:hidden;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{position:absolute;top:50%;inset-inline-start:11px;inset-inline-end:11px;transform:translateY(-50%);transition:all 0.3s;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-placeholder{inset-inline:7px;}:where(.css-1me4733).ant-select-multiple.ant-select-sm .ant-select-selection-search{margin-inline-start:2px;}:where(.css-1me4733).ant-select-multiple.ant-select-lg{font-size:16px;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-overflow{position:relative;display:flex;flex:auto;flex-wrap:wrap;max-width:100%;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-overflow-item{flex:none;align-self:center;max-width:100%;display:inline-flex;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selector{display:flex;flex-wrap:wrap;align-items:center;padding:1px 4px;border-radius:8px;}.ant-select-show-search:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selector{cursor:text;}.ant-select-disabled:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selector{background:rgba(0, 0, 0, 0.04);cursor:not-allowed;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selector:after{display:inline-block;width:0;margin:2px 0;line-height:32px;content:"\a0";}:where(.css-1me4733).ant-select-multiple.ant-select-lg.ant-select-show-arrow .ant-select-selector,:where(.css-1me4733).ant-select-multiple.ant-select-lg.ant-select-allow-clear .ant-select-selector{padding-inline-end:24px;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-item{position:relative;display:flex;flex:none;box-sizing:border-box;max-width:100%;height:32px;margin-top:2px;margin-bottom:2px;line-height:30px;background:rgba(0, 0, 0, 0.06);border:1px solid rgba(5, 5, 5, 0.06);border-radius:6px;cursor:default;transition:font-size 0.3s,line-height 0.3s,height 0.3s;user-select:none;margin-inline-end:4px;padding-inline-start:8px;padding-inline-end:4px;}.ant-select-disabled:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-item{color:rgba(0, 0, 0, 0.25);border-color:#d9d9d9;cursor:not-allowed;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-item-content{display:inline-block;margin-inline-end:4px;overflow:hidden;white-space:pre;text-overflow:ellipsis;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-item-remove{display:inline-block;align-items:center;color:rgba(0, 0, 0, 0.45);font-style:normal;line-height:inherit;text-align:center;text-transform:none;vertical-align:-0.125em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:bold;font-size:10px;cursor:pointer;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-item-remove >*{line-height:1;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-item-remove svg{display:inline-block;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-item-remove >.anticon{vertical-align:-0.2em;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-item-remove:hover{color:rgba(0, 0, 0, 0.88);}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-overflow-item+.ant-select-selection-overflow-item .ant-select-selection-search{margin-inline-start:0;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-search{display:inline-flex;position:relative;max-width:100%;margin-inline-start:8px;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-search-input,:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror{height:32px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';line-height:32px;transition:all 0.3s;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-search-input{width:100%;min-width:4.1px;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-search-mirror{position:absolute;top:0;inset-inline-start:0;inset-inline-end:auto;z-index:999;white-space:pre;visibility:hidden;}:where(.css-1me4733).ant-select-multiple.ant-select-lg .ant-select-selection-placeholder{position:absolute;top:50%;inset-inline-start:11px;inset-inline-end:11px;transform:translateY(-50%);transition:all 0.3s;}:where(.css-1me4733).ant-select-dropdown{box-sizing:border-box;margin:0;padding:4px;color:rgba(0, 0, 0, 0.88);font-size:14px;line-height:1.5714285714285714;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';position:absolute;top:-9999px;z-index:1050;overflow:hidden;font-variant:initial;background-color:#ffffff;border-radius:8px;outline:none;box-shadow:0 6px 16px 0 rgba(0, 0, 0, 0.08),0 3px 6px -4px rgba(0, 0, 0, 0.12),0 9px 28px 8px rgba(0, 0, 0, 0.05);}:where(.css-1me4733).ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-bottomLeft,:where(.css-1me4733).ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-bottomLeft{animation-name:css-1me4733-antSlideUpIn;}:where(.css-1me4733).ant-select-dropdown.ant-slide-up-enter.ant-slide-up-enter-active.ant-select-dropdown-placement-topLeft,:where(.css-1me4733).ant-select-dropdown.ant-slide-up-appear.ant-slide-up-appear-active.ant-select-dropdown-placement-topLeft{animation-name:css-1me4733-antSlideDownIn;}:where(.css-1me4733).ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-bottomLeft{animation-name:css-1me4733-antSlideUpOut;}:where(.css-1me4733).ant-select-dropdown.ant-slide-up-leave.ant-slide-up-leave-active.ant-select-dropdown-placement-topLeft{animation-name:css-1me4733-antSlideDownOut;}:where(.css-1me4733).ant-select-dropdown-hidden{display:none;}:where(.css-1me4733).ant-select-dropdown-empty{color:rgba(0, 0, 0, 0.25);}:where(.css-1me4733).ant-select-dropdown .ant-select-item-empty{position:relative;display:block;min-height:32px;padding:5px 12px;color:rgba(0, 0, 0, 0.25);font-weight:normal;font-size:14px;line-height:1.5714285714285714;box-sizing:border-box;}:where(.css-1me4733).ant-select-dropdown .ant-select-item{position:relative;display:block;min-height:32px;padding:5px 12px;color:rgba(0, 0, 0, 0.88);font-weight:normal;font-size:14px;line-height:1.5714285714285714;box-sizing:border-box;cursor:pointer;transition:background 0.3s ease;border-radius:4px;}:where(.css-1me4733).ant-select-dropdown .ant-select-item-group{color:rgba(0, 0, 0, 0.45);font-size:12px;cursor:default;}:where(.css-1me4733).ant-select-dropdown .ant-select-item-option{display:flex;}:where(.css-1me4733).ant-select-dropdown .ant-select-item-option-content{flex:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}:where(.css-1me4733).ant-select-dropdown .ant-select-item-option-content >*{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}:where(.css-1me4733).ant-select-dropdown .ant-select-item-option-state{flex:none;}:where(.css-1me4733).ant-select-dropdown .ant-select-item-option-active:not(.ant-select-item-option-disabled){background-color:rgba(0, 0, 0, 0.04);}:where(.css-1me4733).ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled){color:rgba(0, 0, 0, 0.88);font-weight:600;background-color:#e6f4ff;}:where(.css-1me4733).ant-select-dropdown .ant-select-item-option-selected:not(.ant-select-item-option-disabled) .ant-select-item-option-state{color:#1677ff;}:where(.css-1me4733).ant-select-dropdown .ant-select-item-option-disabled{color:rgba(0, 0, 0, 0.25);cursor:not-allowed;}:where(.css-1me4733).ant-select-dropdown .ant-select-item-option-disabled.ant-select-item-option-selected{background-color:rgba(0, 0, 0, 0.04);}:where(.css-1me4733).ant-select-dropdown .ant-select-item-option-grouped{padding-inline-start:24px;}:where(.css-1me4733).ant-select-dropdown-rtl{direction:rtl;}:where(.css-1me4733).ant-slide-up-enter,:where(.css-1me4733).ant-slide-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-slide-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-slide-up-enter.ant-slide-up-enter-active,:where(.css-1me4733).ant-slide-up-appear.ant-slide-up-appear-active{animation-name:css-1me4733-antSlideUpIn;animation-play-state:running;}:where(.css-1me4733).ant-slide-up-leave.ant-slide-up-leave-active{animation-name:css-1me4733-antSlideUpOut;animation-play-state:running;pointer-events:none;}:where(.css-1me4733).ant-slide-up-enter,:where(.css-1me4733).ant-slide-up-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}:where(.css-1me4733).ant-slide-up-enter-prepare,:where(.css-1me4733).ant-slide-up-appear-prepare{transform:scale(1);}:where(.css-1me4733).ant-slide-up-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}:where(.css-1me4733).ant-slide-down-enter,:where(.css-1me4733).ant-slide-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-slide-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-slide-down-enter.ant-slide-down-enter-active,:where(.css-1me4733).ant-slide-down-appear.ant-slide-down-appear-active{animation-name:css-1me4733-antSlideDownIn;animation-play-state:running;}:where(.css-1me4733).ant-slide-down-leave.ant-slide-down-leave-active{animation-name:css-1me4733-antSlideDownOut;animation-play-state:running;pointer-events:none;}:where(.css-1me4733).ant-slide-down-enter,:where(.css-1me4733).ant-slide-down-appear{transform:scale(0);transform-origin:0% 0%;opacity:0;animation-timing-function:cubic-bezier(0.23, 1, 0.32, 1);}:where(.css-1me4733).ant-slide-down-enter-prepare,:where(.css-1me4733).ant-slide-down-appear-prepare{transform:scale(1);}:where(.css-1me4733).ant-slide-down-leave{animation-timing-function:cubic-bezier(0.755, 0.05, 0.855, 0.06);}:where(.css-1me4733).ant-move-up-enter,:where(.css-1me4733).ant-move-up-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-move-up-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-move-up-enter.ant-move-up-enter-active,:where(.css-1me4733).ant-move-up-appear.ant-move-up-appear-active{animation-name:css-1me4733-antMoveUpIn;animation-play-state:running;}:where(.css-1me4733).ant-move-up-leave.ant-move-up-leave-active{animation-name:css-1me4733-antMoveUpOut;animation-play-state:running;pointer-events:none;}:where(.css-1me4733).ant-move-up-enter,:where(.css-1me4733).ant-move-up-appear{opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}:where(.css-1me4733).ant-move-up-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}:where(.css-1me4733).ant-move-down-enter,:where(.css-1me4733).ant-move-down-appear{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-move-down-leave{animation-duration:0.2s;animation-fill-mode:both;animation-play-state:paused;}:where(.css-1me4733).ant-move-down-enter.ant-move-down-enter-active,:where(.css-1me4733).ant-move-down-appear.ant-move-down-appear-active{animation-name:css-1me4733-antMoveDownIn;animation-play-state:running;}:where(.css-1me4733).ant-move-down-leave.ant-move-down-leave-active{animation-name:css-1me4733-antMoveDownOut;animation-play-state:running;pointer-events:none;}:where(.css-1me4733).ant-move-down-enter,:where(.css-1me4733).ant-move-down-appear{opacity:0;animation-timing-function:cubic-bezier(0.08, 0.82, 0.17, 1);}:where(.css-1me4733).ant-move-down-leave{animation-timing-function:cubic-bezier(0.78, 0.14, 0.15, 0.86);}:where(.css-1me4733).ant-select-rtl{direction:rtl;}.ant-select-focused:where(.css-1me4733).ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector{border-color:#4096ff;box-shadow:0 0 0 2px rgba(5, 145, 255, 0.1);outline:0;}:where(.css-1me4733).ant-select:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer):hover .ant-select-selector{border-color:#4096ff;}:where(.css-1me4733).ant-select-status-error:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector{border-color:#ff7875;}.ant-select-focused:where(.css-1me4733).ant-select-status-error:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector{border-color:#ff7875;box-shadow:0 0 0 2px rgba(255, 38, 5, 0.06);outline:0;}:where(.css-1me4733).ant-select-status-error:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer):hover .ant-select-selector{border-color:#ff7875;}:where(.css-1me4733).ant-select-status-warning:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector{border-color:#ffd666;}.ant-select-focused:where(.css-1me4733).ant-select-status-warning:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer) .ant-select-selector{border-color:#ffd666;box-shadow:0 0 0 2px rgba(255, 215, 5, 0.1);outline:0;}:where(.css-1me4733).ant-select-status-warning:not(.ant-select-disabled):not(.ant-select-customize-input):not(.ant-pagination-size-changer):hover .ant-select-selector{border-color:#ffd666;}:where(.css-1me4733).ant-select-compact-item:not(.ant-select-compact-last-item){margin-inline-end:-1px;}:where(.css-1me4733).ant-select-compact-item:hover>*,:where(.css-1me4733).ant-select-compact-item:active>*{z-index:2;}:where(.css-1me4733).ant-select-compact-item.ant-select-focused{z-index:2;}:where(.css-1me4733).ant-select-compact-item[disabled]>*{z-index:0;}:where(.css-1me4733).ant-select-compact-item:not(.ant-select-compact-first-item):not(.ant-select-compact-last-item)>.ant-select-selector{border-radius:0;}:where(.css-1me4733).ant-select-compact-item:not(.ant-select-compact-last-item).ant-select-compact-first-item>.ant-select-selector,:where(.css-1me4733).ant-select-compact-item:not(.ant-select-compact-last-item).ant-select-compact-first-item.ant-select-sm>.ant-select-selector,:where(.css-1me4733).ant-select-compact-item:not(.ant-select-compact-last-item).ant-select-compact-first-item.ant-select-lg>.ant-select-selector{border-start-end-radius:0;border-end-end-radius:0;}:where(.css-1me4733).ant-select-compact-item:not(.ant-select-compact-first-item).ant-select-compact-last-item>.ant-select-selector,:where(.css-1me4733).ant-select-compact-item:not(.ant-select-compact-first-item).ant-select-compact-last-item.ant-select-sm>.ant-select-selector,:where(.css-1me4733).ant-select-compact-item:not(.ant-select-compact-first-item).ant-select-compact-last-item.ant-select-lg>.ant-select-selector{border-start-start-radius:0;border-end-start-radius:0;}</style><style data-token-hash="1wmd7ff" data-css-hash="1vr805u">:where(.css-1me4733)[class^="ant-tag"],:where(.css-1me4733)[class*=" ant-tag"]{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';font-size:14px;box-sizing:border-box;}:where(.css-1me4733)[class^="ant-tag"]::before,:where(.css-1me4733)[class*=" ant-tag"]::before,:where(.css-1me4733)[class^="ant-tag"]::after,:where(.css-1me4733)[class*=" ant-tag"]::after{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-tag"] [class^="ant-tag"],:where(.css-1me4733)[class*=" ant-tag"] [class^="ant-tag"],:where(.css-1me4733)[class^="ant-tag"] [class*=" ant-tag"],:where(.css-1me4733)[class*=" ant-tag"] [class*=" ant-tag"]{box-sizing:border-box;}:where(.css-1me4733)[class^="ant-tag"] [class^="ant-tag"]::before,:where(.css-1me4733)[class*=" ant-tag"] [class^="ant-tag"]::before,:where(.css-1me4733)[class^="ant-tag"] [class*=" ant-tag"]::before,:where(.css-1me4733)[class*=" ant-tag"] [class*=" ant-tag"]::before,:where(.css-1me4733)[class^="ant-tag"] [class^="ant-tag"]::after,:where(.css-1me4733)[class*=" ant-tag"] [class^="ant-tag"]::after,:where(.css-1me4733)[class^="ant-tag"] [class*=" ant-tag"]::after,:where(.css-1me4733)[class*=" ant-tag"] [class*=" ant-tag"]::after{box-sizing:border-box;}:where(.css-1me4733).ant-tag{box-sizing:border-box;margin:0;padding:0;color:rgba(0, 0, 0, 0.88);font-size:12px;line-height:20px;list-style:none;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,'Noto Sans',sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol','Noto Color Emoji';display:inline-block;height:auto;margin-inline-end:8px;padding-inline:7px;white-space:nowrap;background:rgba(0, 0, 0, 0.02);border:1px solid #d9d9d9;border-radius:4px;opacity:1;transition:all 0.2s;text-align:start;}:where(.css-1me4733).ant-tag.ant-tag-rtl{direction:rtl;}:where(.css-1me4733).ant-tag,:where(.css-1me4733).ant-tag a,:where(.css-1me4733).ant-tag a:hover{color:rgba(0, 0, 0, 0.88);}:where(.css-1me4733).ant-tag .ant-tag-close-icon{margin-inline-start:3px;color:rgba(0, 0, 0, 0.45);font-size:10px;cursor:pointer;transition:all 0.2s;}:where(.css-1me4733).ant-tag .ant-tag-close-icon:hover{color:rgba(0, 0, 0, 0.88);}:where(.css-1me4733).ant-tag.ant-tag-has-color{border-color:transparent;}:where(.css-1me4733).ant-tag.ant-tag-has-color,:where(.css-1me4733).ant-tag.ant-tag-has-color a,:where(.css-1me4733).ant-tag.ant-tag-has-color a:hover,:where(.css-1me4733).ant-tag.ant-tag-has-color .anticon-close,:where(.css-1me4733).ant-tag.ant-tag-has-color .anticon-close:hover{color:#fff;}:where(.css-1me4733).ant-tag-checkable{background-color:transparent;border-color:transparent;cursor:pointer;}:where(.css-1me4733).ant-tag-checkable:not(.ant-tag-checkable-checked):hover{color:#1677ff;background-color:rgba(0, 0, 0, 0.06);}:where(.css-1me4733).ant-tag-checkable:active,:where(.css-1me4733).ant-tag-checkable-checked{color:#fff;}:where(.css-1me4733).ant-tag-checkable-checked{background-color:#1677ff;}:where(.css-1me4733).ant-tag-checkable-checked:hover{background-color:#4096ff;}:where(.css-1me4733).ant-tag-checkable:active{background-color:#0958d9;}:where(.css-1me4733).ant-tag-hidden{display:none;}:where(.css-1me4733).ant-tag >.anticon+span,:where(.css-1me4733).ant-tag >span+.anticon{margin-inline-start:7px;}:where(.css-1me4733).ant-tag-blue{color:#0958d9;background:#e6f4ff;border-color:#91caff;}:where(.css-1me4733).ant-tag-blue-inverse{color:#fff;background:#1677ff;border-color:#1677ff;}:where(.css-1me4733).ant-tag-purple{color:#531dab;background:#f9f0ff;border-color:#d3adf7;}:where(.css-1me4733).ant-tag-purple-inverse{color:#fff;background:#722ed1;border-color:#722ed1;}:where(.css-1me4733).ant-tag-cyan{color:#08979c;background:#e6fffb;border-color:#87e8de;}:where(.css-1me4733).ant-tag-cyan-inverse{color:#fff;background:#13c2c2;border-color:#13c2c2;}:where(.css-1me4733).ant-tag-green{color:#389e0d;background:#f6ffed;border-color:#b7eb8f;}:where(.css-1me4733).ant-tag-green-inverse{color:#fff;background:#52c41a;border-color:#52c41a;}:where(.css-1me4733).ant-tag-magenta{color:#c41d7f;background:#fff0f6;border-color:#ffadd2;}:where(.css-1me4733).ant-tag-magenta-inverse{color:#fff;background:#eb2f96;border-color:#eb2f96;}:where(.css-1me4733).ant-tag-pink{color:#c41d7f;background:#fff0f6;border-color:#ffadd2;}:where(.css-1me4733).ant-tag-pink-inverse{color:#fff;background:#eb2f96;border-color:#eb2f96;}:where(.css-1me4733).ant-tag-red{color:#cf1322;background:#fff1f0;border-color:#ffa39e;}:where(.css-1me4733).ant-tag-red-inverse{color:#fff;background:#f5222d;border-color:#f5222d;}:where(.css-1me4733).ant-tag-orange{color:#d46b08;background:#fff7e6;border-color:#ffd591;}:where(.css-1me4733).ant-tag-orange-inverse{color:#fff;background:#fa8c16;border-color:#fa8c16;}:where(.css-1me4733).ant-tag-yellow{color:#d4b106;background:#feffe6;border-color:#fffb8f;}:where(.css-1me4733).ant-tag-yellow-inverse{color:#fff;background:#fadb14;border-color:#fadb14;}:where(.css-1me4733).ant-tag-volcano{color:#d4380d;background:#fff2e8;border-color:#ffbb96;}:where(.css-1me4733).ant-tag-volcano-inverse{color:#fff;background:#fa541c;border-color:#fa541c;}:where(.css-1me4733).ant-tag-geekblue{color:#1d39c4;background:#f0f5ff;border-color:#adc6ff;}:where(.css-1me4733).ant-tag-geekblue-inverse{color:#fff;background:#2f54eb;border-color:#2f54eb;}:where(.css-1me4733).ant-tag-lime{color:#7cb305;background:#fcffe6;border-color:#eaff8f;}:where(.css-1me4733).ant-tag-lime-inverse{color:#fff;background:#a0d911;border-color:#a0d911;}:where(.css-1me4733).ant-tag-gold{color:#d48806;background:#fffbe6;border-color:#ffe58f;}:where(.css-1me4733).ant-tag-gold-inverse{color:#fff;background:#faad14;border-color:#faad14;}:where(.css-1me4733).ant-tag-success{color:#52c41a;background:#f6ffed;border-color:#b7eb8f;}:where(.css-1me4733).ant-tag-processing{color:#1677ff;background:#e6f4ff;border-color:#91caff;}:where(.css-1me4733).ant-tag-error{color:#ff4d4f;background:#fff2f0;border-color:#ffccc7;}:where(.css-1me4733).ant-tag-warning{color:#faad14;background:#fffbe6;border-color:#ffe58f;}</style></style></head><body><form method='post' name='feedback'><input type='hidden' name='form-name' value='feedback' /><input type="hidden" name="email"/><input type="hidden" name="userId"/><input type="hidden" name="content"/><input type="hidden" name="additional"/></form><div id="__next"><div class="dev-docs-loading __variable_a184c8"><div class="page-root changelog-overview-page-root"><div class="header-root dark border-b bg-background"><div class="header-logo-row"><div class="flex"><div class="header-logo"><a href="/"><img alt="Paddle Logo" width="150" height="26" decoding="async" data-nimg="1" style="color:transparent" src="/logo.svg"/></a></div><div class="header-version"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center ant-dropdown-trigger version-dropdown-root"><div class="ant-space-item" style="margin-right:32px"><span class="version-dropdown-value">Paddle Billing</span></div><div class="ant-space-item"><svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M6 9C5.81948 9 5.64949 8.91664 5.54118 8.775L1.33572 3.27556C1.24946 3.16276 1.3299 3 1.4719 3H2.38939C2.49618 3 2.59688 3.04976 2.66175 3.13459L6 7.5L9.33825 3.13459C9.40312 3.04976 9.50381 3 9.6106 3H10.5281C10.6701 3 10.7505 3.16276 10.6643 3.27556L6.45882 8.775C6.35051 8.91664 6.18052 9 6 9Z" fill="url(#paint0_linear_1591_26927)"></path><defs><linearGradient id="paint0_linear_1591_26927" x1="10.875" y1="3" x2="0.81973" y2="3.56475" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div></div></div></div><div class="flex"><a target="_blank" title="Paddle Billing subscription starterkit" href="https://nextjs-starterkit.paddle.com/"><div class="header-announcement"><svg class="paddle-star-icon" width="16" height="15" viewBox="0 0 16 15" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16 6.95954V8.0333C15.3429 8.03345 14.6922 8.16208 14.0852 8.41182C13.4782 8.66156 12.9268 9.02753 12.4625 9.48879C11.9982 9.95006 11.63 10.4976 11.3792 11.1C11.1283 11.7025 10.9995 12.3481 11.0003 13H9.99967C9.99935 11.6847 9.4725 10.4234 8.53495 9.49342C7.5974 8.56339 6.3259 8.04077 5 8.04045V6.9667C5.65713 6.96655 6.30779 6.83792 6.91477 6.58817C7.52176 6.33843 8.07318 5.97247 8.5375 5.5112C9.00183 5.04994 9.36996 4.50242 9.62084 3.89995C9.87173 3.29747 10.0005 2.65185 9.99967 2H11.0003C11.0006 3.31526 11.5275 4.57655 12.4651 5.50658C13.4026 6.4366 14.6741 6.95923 16 6.95954Z" fill="#FDDD35"></path><path d="M6 2.70521V3.29089C5.64157 3.29097 5.28666 3.36113 4.95558 3.49736C4.62449 3.63358 4.32372 3.8332 4.07045 4.0848C3.81718 4.33639 3.61639 4.63504 3.47954 4.96366C3.34269 5.29229 3.27248 5.64444 3.27291 6H2.72709C2.72692 5.28259 2.43955 4.59461 1.92815 4.08732C1.41676 3.58003 0.723217 3.29497 0 3.29479V2.70911C0.358434 2.70902 0.713337 2.63886 1.04442 2.50264C1.37551 2.36642 1.67628 2.1668 1.92955 1.9152C2.18281 1.6636 2.38361 1.36496 2.52046 1.03634C2.65731 0.707713 2.72752 0.355557 2.72709 0H3.27291C3.27308 0.717412 3.56045 1.40539 4.07185 1.91268C4.58324 2.41997 5.27678 2.70503 6 2.70521Z" fill="#FDDD35"></path><path d="M6 12.8035V13.1939C5.76104 13.194 5.52444 13.2408 5.30372 13.3316C5.083 13.4224 4.88248 13.5555 4.71364 13.7232C4.54479 13.8909 4.41092 14.09 4.31969 14.3091C4.22846 14.5282 4.18165 14.763 4.18194 15H3.81806C3.81795 14.5217 3.62636 14.0631 3.28544 13.7249C2.94451 13.3867 2.48214 13.1966 2 13.1965V12.8061C2.23896 12.806 2.47556 12.7592 2.69628 12.6684C2.917 12.5776 3.11752 12.4445 3.28636 12.2768C3.45521 12.1091 3.58908 11.91 3.68031 11.6909C3.77154 11.4718 3.81835 11.237 3.81806 11H4.18194C4.18205 11.4783 4.37364 11.9369 4.71456 12.2751C5.05549 12.6133 5.51786 12.8034 6 12.8035Z" fill="#FDDD35"></path></svg><div class="header-announcement-text">Create a Next.js SaaS app with Paddle Billing in minutes.<!-- --> <span class="header-announcement-text-bold">See how</span></div><span role="img" aria-label="right" class="anticon anticon-right"><svg viewBox="64 64 896 896" focusable="false" data-icon="right" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z"></path></svg></span></div></a></div><div class="header-actions"><div class="search-root" aria-label="Search"><div class="search-icon"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M14.4982 13.7915L10.7221 10.0155C11.6295 8.92614 12.0819 7.52894 11.9854 6.11452C11.8888 4.7001 11.2507 3.37735 10.2037 2.42145C9.15672 1.46554 7.78152 0.950081 6.36417 0.982289C4.94682 1.0145 3.59645 1.5919 2.59398 2.59437C1.5915 3.59685 1.0141 4.94722 0.981892 6.36457C0.949684 7.78191 1.46515 9.15712 2.42105 10.2041C3.37695 11.2511 4.6997 11.8892 6.11412 11.9858C7.52855 12.0823 8.92575 11.6299 10.0151 10.7225L13.7911 14.4986L14.4982 13.7915ZM1.99817 6.49856C1.99817 5.60855 2.26209 4.73852 2.75655 3.9985C3.25102 3.25847 3.95382 2.6817 4.77609 2.3411C5.59836 2.00051 6.50316 1.91139 7.37607 2.08503C8.24899 2.25866 9.05081 2.68724 9.68015 3.31658C10.3095 3.94592 10.7381 4.74774 10.9117 5.62066C11.0853 6.49357 10.9962 7.39837 10.6556 8.22064C10.315 9.0429 9.73825 9.74571 8.99823 10.2402C8.25821 10.7346 7.38818 10.9986 6.49817 10.9986C5.3051 10.9972 4.16127 10.5227 3.31765 9.67908C2.47402 8.83545 1.99949 7.69163 1.99817 6.49856Z"></path><defs><linearGradient id="gradient" x1="14.4982" y1="0.980861" x2="0.529942" y2="1.46365" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="search-text">Search</div></div><div class="hidden md:block"><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&amp;&gt;a]:text-inherit [&amp;&gt;a]:hover:text-inherit [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 border bg-secondary text-secondary-foreground hover:bg-white dark:hover:bg-dark-grey-900 h-10 px-5 py-2.5">Feedback</button></div><div class="hidden md:block"><a target="" href="https://sandbox-vendors.paddle.com" rel="noreferrer" class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&amp;&gt;a]:text-inherit [&amp;&gt;a]:hover:text-inherit [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 bg-primary text-primary-foreground hover:bg-dark-grey-900 dark:hover:bg-white h-10 px-5 py-2.5">Login</a></div><div class="header-nav"><svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="11" y="13.75" width="18" height="1.5" rx="0.75" fill="white"></rect><rect x="11" y="19.25" width="18" height="1.5" rx="0.75" fill="white"></rect><rect x="20" y="24.75" width="9" height="1.5" rx="0.75" fill="white"></rect></svg></div></div></div><div class="mobile-navigation-root"><a class="navigation-item" href="/"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.3788 1.38237C10.2678 1.2958 10.1312 1.24878 9.99044 1.24878C9.84972 1.24878 9.71303 1.2958 9.60209 1.38237L0.621094 8.38587L1.39778 9.36818L2.49609 8.5118V16.2487C2.49677 16.5801 2.62868 16.8976 2.86296 17.1319C3.09723 17.3661 3.41478 17.4981 3.74609 17.4987H16.2461C16.5774 17.4981 16.895 17.3662 17.1293 17.1319C17.3636 16.8977 17.4955 16.5801 17.4961 16.2487V8.51749L18.5944 9.37374L19.3711 8.39137L10.3788 1.38237ZM11.2461 16.2487H8.74609V11.2487H11.2461V16.2487ZM12.4961 16.2487V11.2487C12.4957 10.9173 12.3639 10.5996 12.1296 10.3653C11.8952 10.1309 11.5775 9.99912 11.2461 9.99874H8.74609C8.41468 9.99907 8.09693 10.1309 7.86258 10.3652C7.62823 10.5996 7.49643 10.9173 7.49609 11.2487V16.2487H3.74609V7.53718L9.99609 2.66843L16.2461 7.54374V16.2487H12.4961Z"></path><defs><linearGradient id="linear_gradient" x1="19.3711" y1="1.24877" x2="0.00383932" y2="2.02115" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Home</div></div></a><a class="navigation-item" href="/concepts/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.2578 6.25146H11.8828V7.50147H16.2578V6.25146Z"></path><path d="M16.2578 9.37341H11.8828V10.6234H16.2578V9.37341Z"></path><path d="M16.2578 12.4991H11.8828V13.7491H16.2578V12.4991Z"></path><path d="M17.5068 3.12573H2.50684C2.17542 3.12606 1.85767 3.25787 1.62332 3.49221C1.38897 3.72656 1.25717 4.04431 1.25684 4.37573V15.6257C1.25722 15.9571 1.38903 16.2749 1.62337 16.5092C1.85771 16.7435 2.17543 16.8754 2.50684 16.8757H17.5068C17.8382 16.8753 18.1559 16.7434 18.3902 16.5091C18.6245 16.2748 18.7564 15.9571 18.7568 15.6257V4.37573C18.7565 4.04433 18.6246 3.72661 18.3903 3.49227C18.156 3.25793 17.8382 3.12611 17.5068 3.12573ZM2.50684 4.37573H9.38184V15.6257H2.50684V4.37573ZM10.6318 15.6257V4.37573H17.5068L17.5081 15.6257H10.6318Z"></path><defs><linearGradient id="linear_gradient" x1="16.2578" y1="6.25146" x2="11.7969" y2="6.79111" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Concepts</div></div></a><a class="navigation-item" href="/build/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.428 11.9516L14.8071 10.0016L18.428 8.05164C18.5273 7.99812 18.6103 7.91872 18.6682 7.82184C18.726 7.72497 18.7566 7.61425 18.7566 7.50142C18.7566 7.38859 18.726 7.27787 18.6682 7.181C18.6103 7.08413 18.5273 7.00472 18.428 6.9512L10.303 2.5762C10.212 2.52707 10.1101 2.50134 10.0067 2.50134C9.90325 2.50134 9.80142 2.52707 9.71038 2.5762L1.58538 6.9512C1.48606 7.00472 1.40307 7.08413 1.34522 7.181C1.28738 7.27787 1.25684 7.38859 1.25684 7.50142C1.25684 7.61425 1.28738 7.72497 1.34522 7.82184C1.40307 7.91872 1.48606 7.99812 1.58538 8.05164L5.20626 10.0016L1.58538 11.9516C1.48606 12.0052 1.40307 12.0846 1.34522 12.1814C1.28738 12.2783 1.25684 12.389 1.25684 12.5019C1.25684 12.6147 1.28738 12.7254 1.34522 12.8223C1.40307 12.9192 1.48606 12.9986 1.58538 13.0521L9.71038 17.4271C9.80144 17.4761 9.90326 17.5018 10.0067 17.5018C10.1101 17.5018 10.2119 17.4761 10.303 17.4271L18.428 13.0521C18.5273 12.9986 18.6103 12.9192 18.6682 12.8223C18.726 12.7254 18.7566 12.6147 18.7566 12.5019C18.7566 12.389 18.726 12.2783 18.6682 12.1814C18.6103 12.0846 18.5273 12.0052 18.428 11.9516ZM10.0067 3.83658L16.8133 7.50164L10.0067 11.1668L3.20007 7.50164L10.0067 3.83658ZM10.0067 16.1668L3.20007 12.5016L6.52463 10.7115L9.71038 12.4266C9.80144 12.4757 9.90326 12.5014 10.0067 12.5014C10.1101 12.5014 10.2119 12.4757 10.303 12.4266L13.4888 10.7113L16.8133 12.5016L10.0067 16.1668Z"></path><defs><linearGradient id="linear_gradient" x1="18.7566" y1="2.50134" x2="0.681379" y2="3.23016" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Build</div></div></a><a class="navigation-item" href="/errors/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.25684 9.99878C1.25684 11.7294 1.77001 13.4211 2.73148 14.86C3.69294 16.2989 5.0595 17.4205 6.65836 18.0827C8.25721 18.745 10.0165 18.9183 11.7139 18.5807C13.4112 18.243 14.9703 17.4097 16.194 16.186C17.4177 14.9623 18.2511 13.4032 18.5887 11.7058C18.9263 10.0085 18.753 8.24915 18.0908 6.6503C17.4285 5.05145 16.307 3.68488 14.8681 2.72342C13.4291 1.76196 11.7374 1.24878 10.0068 1.24878C7.68619 1.24878 5.46059 2.17065 3.81965 3.81159C2.17871 5.45254 1.25684 7.67813 1.25684 9.99878ZM15.7256 14.8425L5.16309 4.28003C6.60098 3.08315 8.43429 2.46689 10.3032 2.55219C12.1721 2.6375 13.9416 3.4182 15.2645 4.74109C16.5874 6.06398 17.3681 7.83352 17.4534 9.70242C17.5387 11.5713 16.9225 13.4046 15.7256 14.8425ZM5.15684 15.7238C3.64329 14.4385 2.70121 12.6054 2.53719 10.6265C2.37316 8.64766 3.00057 6.6845 4.28184 5.16753L14.8381 15.7238C13.4845 16.8675 11.7696 17.495 9.99746 17.495C8.22533 17.495 6.51044 16.8675 5.15684 15.7238Z"></path><defs><linearGradient id="linear_gradient" x1="18.7568" y1="1.24877" x2="0.673585" y2="1.87379" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Errors</div></div></a><a class="navigation-item" href="/webhooks/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.99922 1.59998C7.79469 1.59998 5.99922 3.39544 5.99922 5.59998C5.99922 6.91611 6.65228 8.07094 7.63672 8.79998L5.66172 12.0625C5.64545 12.0576 5.62821 12.0544 5.61172 12.05C5.19972 11.9388 4.76962 11.9993 4.39922 12.2125C3.63522 12.6541 3.37052 13.6364 3.81172 14.4C4.10772 14.9124 4.64562 15.2 5.19922 15.2C5.47042 15.2 5.74842 15.1323 5.99922 14.9875C6.36922 14.7739 6.63882 14.4253 6.74922 14.0125C6.86002 13.5997 6.80032 13.17 6.58672 12.8C6.51956 12.6836 6.42792 12.5815 6.33672 12.4875L8.51172 8.91248L8.72422 8.56248L8.37422 8.36248C7.43249 7.80575 6.79922 6.77682 6.79922 5.59998C6.79922 3.82771 8.22695 2.39998 9.99922 2.39998C11.7715 2.39998 13.1992 3.82771 13.1992 5.59998C13.1992 5.92946 13.1537 6.2396 13.0617 6.53748L13.8242 6.77498C13.9395 6.40165 13.9992 6.00969 13.9992 5.59998C13.9992 3.39544 12.2038 1.59998 9.99922 1.59998ZM9.99922 3.99998C9.11682 3.99998 8.39922 4.71758 8.39922 5.59998C8.39922 6.48238 9.11682 7.19998 9.99922 7.19998C10.1319 7.19998 10.2633 7.18056 10.3867 7.14998L12.3117 10.6375L12.4992 10.9875L12.8617 10.8C13.3197 10.5475 13.8381 10.4 14.3992 10.4C16.1715 10.4 17.5992 11.8277 17.5992 13.6C17.5992 15.3722 16.1715 16.8 14.3992 16.8C13.5347 16.8 12.7504 16.4548 12.1742 15.9L11.6242 16.475C12.3432 17.1673 13.3238 17.6 14.3992 17.6C16.6038 17.6 18.3992 15.8045 18.3992 13.6C18.3992 11.3954 16.6038 9.59998 14.3992 9.59998C13.8441 9.59998 13.3311 9.7447 12.8492 9.94998L11.0867 6.76248C11.3991 6.4703 11.5992 6.06057 11.5992 5.59998C11.5992 4.71758 10.8816 3.99998 9.99922 3.99998ZM4.22422 9.71248C2.48245 10.1461 1.19922 11.7293 1.19922 13.6C1.19922 15.8045 2.99469 17.6 5.19922 17.6C7.26191 17.6 8.91341 16.008 9.12422 14H12.8617C13.0398 14.6892 13.655 15.2 14.3992 15.2C15.2816 15.2 15.9992 14.4824 15.9992 13.6C15.9992 12.7176 15.2816 12 14.3992 12C13.655 12 13.0398 12.5107 12.8617 13.2H8.79922H8.39922V13.6C8.39922 15.3722 6.97149 16.8 5.19922 16.8C3.42695 16.8 1.99922 15.3722 1.99922 13.6C1.99922 12.0962 3.03319 10.8463 4.42422 10.5L4.22422 9.71248Z"></path><defs><linearGradient id="linear_gradient" x1="19.375" y1="3.75058" x2="0.0289405" y2="4.75355" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Webhooks</div></div></a><a class="navigation-item" href="/api-reference/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.76157 15.9273L11.0243 3.75058L12.2317 4.0741L8.96898 16.2508L7.76157 15.9273ZM0.625 9.99999L5 5.62499L5.88125 6.50624L2.39375 9.99999L5.88125 13.4937L5 14.375L0.625 9.99999ZM19.375 9.99999L15 14.375L14.1187 13.4937L17.6062 9.99999L14.1187 6.50624L15 5.62499L19.375 9.99999Z"></path><defs><linearGradient id="linear_gradient" x1="19.375" y1="3.75058" x2="0.0289405" y2="4.75355" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">API Reference</div></div></a><a class="navigation-item" href="/paddlejs/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="18" height="14" viewBox="0 0 18 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.25 0H1.25C0.918581 0.000330923 0.600831 0.132133 0.366482 0.366482C0.132133 0.600831 0.000330923 0.918581 0 1.25V12.5C0.000380458 12.8314 0.132199 13.1491 0.366537 13.3835C0.600875 13.6178 0.918596 13.7496 1.25 13.75H16.25C16.5814 13.7496 16.8991 13.6177 17.1334 13.3834C17.3677 13.1491 17.4996 12.8314 17.5 12.5V1.25C17.4996 0.918596 17.3678 0.600875 17.1335 0.366537C16.8991 0.132199 16.5814 0.000380458 16.25 0ZM1.25 1.25H8.125V12.5H1.25V1.25ZM8.125 12.5V1.25H16.25L16.2513 12.5H8.125Z"></path><path d="M5.57463 9.88047C5.19063 9.88047 4.89196 9.82447 4.67863 9.71247V8.88047C4.91863 8.97647 5.16396 9.02447 5.41463 9.02447C5.98529 9.02447 6.27063 8.69914 6.27063 8.04847V4.08847H7.34263V8.07247C7.34263 8.67514 7.18529 9.12847 6.87063 9.43247C6.55596 9.73114 6.12396 9.88047 5.57463 9.88047ZM10.5375 9.88847C9.79083 9.88847 9.23083 9.72314 8.8575 9.39247C8.4895 9.0618 8.28417 8.60847 8.2415 8.03247H9.2655C9.30817 8.36847 9.42017 8.6298 9.6015 8.81647C9.78283 8.9978 10.0948 9.08847 10.5375 9.08847C10.8575 9.08847 11.1162 9.00847 11.3135 8.84847C11.5162 8.68314 11.6175 8.4698 11.6175 8.20847C11.6175 7.94181 11.5348 7.74714 11.3695 7.62447C11.2042 7.5018 10.8895 7.40314 10.4255 7.32847C9.71617 7.23247 9.2015 7.0618 8.8815 6.81647C8.56683 6.5658 8.4095 6.17914 8.4095 5.65647C8.4095 5.1818 8.5935 4.7898 8.9615 4.48047C9.3295 4.17114 9.8095 4.01647 10.4015 4.01647C11.0202 4.01647 11.5082 4.1578 11.8655 4.44047C12.2228 4.7178 12.4282 5.12847 12.4815 5.67247H11.5055C11.4522 5.3738 11.3375 5.1578 11.1615 5.02447C10.9855 4.8858 10.7322 4.81647 10.4015 4.81647C10.0868 4.81647 9.84417 4.8858 9.6735 5.02447C9.50283 5.1578 9.4175 5.33914 9.4175 5.56847C9.4175 5.8138 9.49483 5.9978 9.6495 6.12047C9.8095 6.24314 10.1268 6.33914 10.6015 6.40847C11.3108 6.50447 11.8282 6.6778 12.1535 6.92847C12.4788 7.1738 12.6415 7.57114 12.6415 8.12047C12.6415 8.62714 12.4468 9.04847 12.0575 9.38447C11.6682 9.72047 11.1615 9.88847 10.5375 9.88847Z"></path><defs><linearGradient id="linear_gradient" x1="19.375" y1="3.75058" x2="0.0289405" y2="4.75355" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Paddle.js</div></div></a><a class="navigation-item navigation-item-active" href="/changelog/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_1553_31004)"><path d="M10.998 16.6826C9.11318 17.1755 7.11586 16.9549 5.37408 16.0613C3.6201 15.1614 2.27042 13.6492 1.57366 11.8032C0.928404 10.0936 0.886638 8.2738 1.45286 6.5406C1.8727 5.25547 2.61801 4.09693 3.59736 3.18452L3.41672 4.68358L4.46923 4.81046L4.86744 1.50613L1.6046 1.12036L1.48011 2.17315L2.94268 2.34612C1.79936 3.38973 0.930408 4.72626 0.445217 6.21143C0.133909 7.16434 -0.0154694 8.1536 0.00126491 9.15179C0.0185969 10.1847 0.213925 11.2027 0.581904 12.1776C1.37169 14.2702 2.90176 15.9845 4.89022 17.0046C6.17543 17.6639 7.58347 17.9999 8.99956 17.9999C9.75872 17.9999 10.5203 17.9033 11.2663 17.7082L10.998 16.6826Z"></path><path d="M17.4544 12.0747C18.1915 10.0567 18.179 7.83669 17.4192 5.82361C16.5965 3.64365 14.9861 1.8896 12.8847 0.884556C10.7901 -0.117255 8.42345 -0.27377 6.2207 0.443908L6.54913 1.45187C8.49179 0.818919 10.5793 0.957118 12.4273 1.84094C14.281 2.72751 15.7015 4.27484 16.4274 6.19799C17.0975 7.97359 17.1086 9.93147 16.4586 11.711C15.9446 13.1181 15.045 14.3458 13.8778 15.2553L14.0743 13.6249L13.0218 13.498L12.6236 16.8024L15.8864 17.1882L16.0109 16.1354L14.6729 15.9771C15.9262 14.9586 16.8932 13.611 17.4544 12.0747Z"></path></g><path d="M7.81914 12.15L4.27539 8.60627L4.83215 8.04951L7.81914 11.0361L13.1686 5.68701L13.7254 6.24377L7.81914 12.15Z"></path><defs><linearGradient id="linear_gradient" x1="19.375" y1="3.75058" x2="0.0289405" y2="4.75355" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient><clipPath id="clip0_1553_31004"><rect width="18" height="18" fill="white"></rect></clipPath></defs></svg></div><div class="ant-space-item">Changelog</div></div></a><a class="navigation-item" href="/resources/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.98934 1.38924L5.49687 2.84318V5.77257L7.98934 7.22651L10.4818 5.77257V2.84318L7.98934 1.38924ZM11.6818 2.15394L7.98934 0L4.29688 2.15394V6.46182L7.98934 8.61576L11.6818 6.46182V2.15394ZM12.3097 8.77206L9.81719 10.226V13.1554L12.3097 14.6093L14.8021 13.1554V10.226L12.3097 8.77206ZM16.0021 9.53675L12.3097 7.38281L8.61719 9.53675V13.8446L12.3097 15.9986L16.0021 13.8446V9.53675ZM1.2 10.226L3.69247 8.77206L6.18493 10.226V13.1554L3.69247 14.6093L1.2 13.1554V10.226ZM3.69247 7.38281L7.38493 9.53675V13.8446L3.69247 15.9986L0 13.8446V9.53675L3.69247 7.38281Z"></path><defs><linearGradient id="linear_gradient" x1="16.0021" y1="-5.17309e-06" x2="-0.53332" y2="0.571637" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">SDKs and Tools</div></div></a><a class="navigation-item" href="/migrate/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="16" height="14" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 1C0 0.447715 0.447715 0 1 0H15C15.5523 0 16 0.447715 16 1V3C16 3.55228 15.5523 4 15 4H8.59844V6.55586L9.57812 5.57617L10.4267 6.4247L8.00239 8.84896L5.57812 6.4247L6.42665 5.57617L7.39844 6.54796V4H1C0.447715 4 0 3.55228 0 3V1ZM1.2 2.8V1.2H3.39844V2.8H1.2ZM4.59844 2.8H14.8V1.2H4.59844L4.59844 2.8ZM1 10C0.447715 10 0 10.4477 0 11V13C0 13.5523 0.447715 14 1 14H15C15.5523 14 16 13.5523 16 13V11C16 10.4477 15.5523 10 15 10H1ZM1.2 11.2V12.8H11.3984V11.2H1.2ZM14.8 12.8H12.5984V11.2H14.8V12.8Z"></path><defs><linearGradient id="linear_gradient" x1="16" y1="-4.52686e-06" x2="-0.527221" y2="0.652831" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Migrate</div></div></a></div></div><div class="navigation-root dark bg-background"><a class="navigation-item" href="/"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M10.3788 1.38237C10.2678 1.2958 10.1312 1.24878 9.99044 1.24878C9.84972 1.24878 9.71303 1.2958 9.60209 1.38237L0.621094 8.38587L1.39778 9.36818L2.49609 8.5118V16.2487C2.49677 16.5801 2.62868 16.8976 2.86296 17.1319C3.09723 17.3661 3.41478 17.4981 3.74609 17.4987H16.2461C16.5774 17.4981 16.895 17.3662 17.1293 17.1319C17.3636 16.8977 17.4955 16.5801 17.4961 16.2487V8.51749L18.5944 9.37374L19.3711 8.39137L10.3788 1.38237ZM11.2461 16.2487H8.74609V11.2487H11.2461V16.2487ZM12.4961 16.2487V11.2487C12.4957 10.9173 12.3639 10.5996 12.1296 10.3653C11.8952 10.1309 11.5775 9.99912 11.2461 9.99874H8.74609C8.41468 9.99907 8.09693 10.1309 7.86258 10.3652C7.62823 10.5996 7.49643 10.9173 7.49609 11.2487V16.2487H3.74609V7.53718L9.99609 2.66843L16.2461 7.54374V16.2487H12.4961Z"></path><defs><linearGradient id="linear_gradient" x1="19.3711" y1="1.24877" x2="0.00383932" y2="2.02115" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Home</div></div></a><a class="navigation-item" href="/concepts/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.2578 6.25146H11.8828V7.50147H16.2578V6.25146Z"></path><path d="M16.2578 9.37341H11.8828V10.6234H16.2578V9.37341Z"></path><path d="M16.2578 12.4991H11.8828V13.7491H16.2578V12.4991Z"></path><path d="M17.5068 3.12573H2.50684C2.17542 3.12606 1.85767 3.25787 1.62332 3.49221C1.38897 3.72656 1.25717 4.04431 1.25684 4.37573V15.6257C1.25722 15.9571 1.38903 16.2749 1.62337 16.5092C1.85771 16.7435 2.17543 16.8754 2.50684 16.8757H17.5068C17.8382 16.8753 18.1559 16.7434 18.3902 16.5091C18.6245 16.2748 18.7564 15.9571 18.7568 15.6257V4.37573C18.7565 4.04433 18.6246 3.72661 18.3903 3.49227C18.156 3.25793 17.8382 3.12611 17.5068 3.12573ZM2.50684 4.37573H9.38184V15.6257H2.50684V4.37573ZM10.6318 15.6257V4.37573H17.5068L17.5081 15.6257H10.6318Z"></path><defs><linearGradient id="linear_gradient" x1="16.2578" y1="6.25146" x2="11.7969" y2="6.79111" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Concepts</div></div></a><a class="navigation-item" href="/build/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.428 11.9516L14.8071 10.0016L18.428 8.05164C18.5273 7.99812 18.6103 7.91872 18.6682 7.82184C18.726 7.72497 18.7566 7.61425 18.7566 7.50142C18.7566 7.38859 18.726 7.27787 18.6682 7.181C18.6103 7.08413 18.5273 7.00472 18.428 6.9512L10.303 2.5762C10.212 2.52707 10.1101 2.50134 10.0067 2.50134C9.90325 2.50134 9.80142 2.52707 9.71038 2.5762L1.58538 6.9512C1.48606 7.00472 1.40307 7.08413 1.34522 7.181C1.28738 7.27787 1.25684 7.38859 1.25684 7.50142C1.25684 7.61425 1.28738 7.72497 1.34522 7.82184C1.40307 7.91872 1.48606 7.99812 1.58538 8.05164L5.20626 10.0016L1.58538 11.9516C1.48606 12.0052 1.40307 12.0846 1.34522 12.1814C1.28738 12.2783 1.25684 12.389 1.25684 12.5019C1.25684 12.6147 1.28738 12.7254 1.34522 12.8223C1.40307 12.9192 1.48606 12.9986 1.58538 13.0521L9.71038 17.4271C9.80144 17.4761 9.90326 17.5018 10.0067 17.5018C10.1101 17.5018 10.2119 17.4761 10.303 17.4271L18.428 13.0521C18.5273 12.9986 18.6103 12.9192 18.6682 12.8223C18.726 12.7254 18.7566 12.6147 18.7566 12.5019C18.7566 12.389 18.726 12.2783 18.6682 12.1814C18.6103 12.0846 18.5273 12.0052 18.428 11.9516ZM10.0067 3.83658L16.8133 7.50164L10.0067 11.1668L3.20007 7.50164L10.0067 3.83658ZM10.0067 16.1668L3.20007 12.5016L6.52463 10.7115L9.71038 12.4266C9.80144 12.4757 9.90326 12.5014 10.0067 12.5014C10.1101 12.5014 10.2119 12.4757 10.303 12.4266L13.4888 10.7113L16.8133 12.5016L10.0067 16.1668Z"></path><defs><linearGradient id="linear_gradient" x1="18.7566" y1="2.50134" x2="0.681379" y2="3.23016" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Build</div></div></a><a class="navigation-item" href="/errors/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1.25684 9.99878C1.25684 11.7294 1.77001 13.4211 2.73148 14.86C3.69294 16.2989 5.0595 17.4205 6.65836 18.0827C8.25721 18.745 10.0165 18.9183 11.7139 18.5807C13.4112 18.243 14.9703 17.4097 16.194 16.186C17.4177 14.9623 18.2511 13.4032 18.5887 11.7058C18.9263 10.0085 18.753 8.24915 18.0908 6.6503C17.4285 5.05145 16.307 3.68488 14.8681 2.72342C13.4291 1.76196 11.7374 1.24878 10.0068 1.24878C7.68619 1.24878 5.46059 2.17065 3.81965 3.81159C2.17871 5.45254 1.25684 7.67813 1.25684 9.99878ZM15.7256 14.8425L5.16309 4.28003C6.60098 3.08315 8.43429 2.46689 10.3032 2.55219C12.1721 2.6375 13.9416 3.4182 15.2645 4.74109C16.5874 6.06398 17.3681 7.83352 17.4534 9.70242C17.5387 11.5713 16.9225 13.4046 15.7256 14.8425ZM5.15684 15.7238C3.64329 14.4385 2.70121 12.6054 2.53719 10.6265C2.37316 8.64766 3.00057 6.6845 4.28184 5.16753L14.8381 15.7238C13.4845 16.8675 11.7696 17.495 9.99746 17.495C8.22533 17.495 6.51044 16.8675 5.15684 15.7238Z"></path><defs><linearGradient id="linear_gradient" x1="18.7568" y1="1.24877" x2="0.673585" y2="1.87379" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Errors</div></div></a><a class="navigation-item" href="/webhooks/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M9.99922 1.59998C7.79469 1.59998 5.99922 3.39544 5.99922 5.59998C5.99922 6.91611 6.65228 8.07094 7.63672 8.79998L5.66172 12.0625C5.64545 12.0576 5.62821 12.0544 5.61172 12.05C5.19972 11.9388 4.76962 11.9993 4.39922 12.2125C3.63522 12.6541 3.37052 13.6364 3.81172 14.4C4.10772 14.9124 4.64562 15.2 5.19922 15.2C5.47042 15.2 5.74842 15.1323 5.99922 14.9875C6.36922 14.7739 6.63882 14.4253 6.74922 14.0125C6.86002 13.5997 6.80032 13.17 6.58672 12.8C6.51956 12.6836 6.42792 12.5815 6.33672 12.4875L8.51172 8.91248L8.72422 8.56248L8.37422 8.36248C7.43249 7.80575 6.79922 6.77682 6.79922 5.59998C6.79922 3.82771 8.22695 2.39998 9.99922 2.39998C11.7715 2.39998 13.1992 3.82771 13.1992 5.59998C13.1992 5.92946 13.1537 6.2396 13.0617 6.53748L13.8242 6.77498C13.9395 6.40165 13.9992 6.00969 13.9992 5.59998C13.9992 3.39544 12.2038 1.59998 9.99922 1.59998ZM9.99922 3.99998C9.11682 3.99998 8.39922 4.71758 8.39922 5.59998C8.39922 6.48238 9.11682 7.19998 9.99922 7.19998C10.1319 7.19998 10.2633 7.18056 10.3867 7.14998L12.3117 10.6375L12.4992 10.9875L12.8617 10.8C13.3197 10.5475 13.8381 10.4 14.3992 10.4C16.1715 10.4 17.5992 11.8277 17.5992 13.6C17.5992 15.3722 16.1715 16.8 14.3992 16.8C13.5347 16.8 12.7504 16.4548 12.1742 15.9L11.6242 16.475C12.3432 17.1673 13.3238 17.6 14.3992 17.6C16.6038 17.6 18.3992 15.8045 18.3992 13.6C18.3992 11.3954 16.6038 9.59998 14.3992 9.59998C13.8441 9.59998 13.3311 9.7447 12.8492 9.94998L11.0867 6.76248C11.3991 6.4703 11.5992 6.06057 11.5992 5.59998C11.5992 4.71758 10.8816 3.99998 9.99922 3.99998ZM4.22422 9.71248C2.48245 10.1461 1.19922 11.7293 1.19922 13.6C1.19922 15.8045 2.99469 17.6 5.19922 17.6C7.26191 17.6 8.91341 16.008 9.12422 14H12.8617C13.0398 14.6892 13.655 15.2 14.3992 15.2C15.2816 15.2 15.9992 14.4824 15.9992 13.6C15.9992 12.7176 15.2816 12 14.3992 12C13.655 12 13.0398 12.5107 12.8617 13.2H8.79922H8.39922V13.6C8.39922 15.3722 6.97149 16.8 5.19922 16.8C3.42695 16.8 1.99922 15.3722 1.99922 13.6C1.99922 12.0962 3.03319 10.8463 4.42422 10.5L4.22422 9.71248Z"></path><defs><linearGradient id="linear_gradient" x1="19.375" y1="3.75058" x2="0.0289405" y2="4.75355" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Webhooks</div></div></a><a class="navigation-item" href="/api-reference/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.76157 15.9273L11.0243 3.75058L12.2317 4.0741L8.96898 16.2508L7.76157 15.9273ZM0.625 9.99999L5 5.62499L5.88125 6.50624L2.39375 9.99999L5.88125 13.4937L5 14.375L0.625 9.99999ZM19.375 9.99999L15 14.375L14.1187 13.4937L17.6062 9.99999L14.1187 6.50624L15 5.62499L19.375 9.99999Z"></path><defs><linearGradient id="linear_gradient" x1="19.375" y1="3.75058" x2="0.0289405" y2="4.75355" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">API Reference</div></div></a><a class="navigation-item" href="/paddlejs/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="18" height="14" viewBox="0 0 18 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.25 0H1.25C0.918581 0.000330923 0.600831 0.132133 0.366482 0.366482C0.132133 0.600831 0.000330923 0.918581 0 1.25V12.5C0.000380458 12.8314 0.132199 13.1491 0.366537 13.3835C0.600875 13.6178 0.918596 13.7496 1.25 13.75H16.25C16.5814 13.7496 16.8991 13.6177 17.1334 13.3834C17.3677 13.1491 17.4996 12.8314 17.5 12.5V1.25C17.4996 0.918596 17.3678 0.600875 17.1335 0.366537C16.8991 0.132199 16.5814 0.000380458 16.25 0ZM1.25 1.25H8.125V12.5H1.25V1.25ZM8.125 12.5V1.25H16.25L16.2513 12.5H8.125Z"></path><path d="M5.57463 9.88047C5.19063 9.88047 4.89196 9.82447 4.67863 9.71247V8.88047C4.91863 8.97647 5.16396 9.02447 5.41463 9.02447C5.98529 9.02447 6.27063 8.69914 6.27063 8.04847V4.08847H7.34263V8.07247C7.34263 8.67514 7.18529 9.12847 6.87063 9.43247C6.55596 9.73114 6.12396 9.88047 5.57463 9.88047ZM10.5375 9.88847C9.79083 9.88847 9.23083 9.72314 8.8575 9.39247C8.4895 9.0618 8.28417 8.60847 8.2415 8.03247H9.2655C9.30817 8.36847 9.42017 8.6298 9.6015 8.81647C9.78283 8.9978 10.0948 9.08847 10.5375 9.08847C10.8575 9.08847 11.1162 9.00847 11.3135 8.84847C11.5162 8.68314 11.6175 8.4698 11.6175 8.20847C11.6175 7.94181 11.5348 7.74714 11.3695 7.62447C11.2042 7.5018 10.8895 7.40314 10.4255 7.32847C9.71617 7.23247 9.2015 7.0618 8.8815 6.81647C8.56683 6.5658 8.4095 6.17914 8.4095 5.65647C8.4095 5.1818 8.5935 4.7898 8.9615 4.48047C9.3295 4.17114 9.8095 4.01647 10.4015 4.01647C11.0202 4.01647 11.5082 4.1578 11.8655 4.44047C12.2228 4.7178 12.4282 5.12847 12.4815 5.67247H11.5055C11.4522 5.3738 11.3375 5.1578 11.1615 5.02447C10.9855 4.8858 10.7322 4.81647 10.4015 4.81647C10.0868 4.81647 9.84417 4.8858 9.6735 5.02447C9.50283 5.1578 9.4175 5.33914 9.4175 5.56847C9.4175 5.8138 9.49483 5.9978 9.6495 6.12047C9.8095 6.24314 10.1268 6.33914 10.6015 6.40847C11.3108 6.50447 11.8282 6.6778 12.1535 6.92847C12.4788 7.1738 12.6415 7.57114 12.6415 8.12047C12.6415 8.62714 12.4468 9.04847 12.0575 9.38447C11.6682 9.72047 11.1615 9.88847 10.5375 9.88847Z"></path><defs><linearGradient id="linear_gradient" x1="19.375" y1="3.75058" x2="0.0289405" y2="4.75355" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Paddle.js</div></div></a><a class="navigation-item navigation-item-active" href="/changelog/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_1553_31004)"><path d="M10.998 16.6826C9.11318 17.1755 7.11586 16.9549 5.37408 16.0613C3.6201 15.1614 2.27042 13.6492 1.57366 11.8032C0.928404 10.0936 0.886638 8.2738 1.45286 6.5406C1.8727 5.25547 2.61801 4.09693 3.59736 3.18452L3.41672 4.68358L4.46923 4.81046L4.86744 1.50613L1.6046 1.12036L1.48011 2.17315L2.94268 2.34612C1.79936 3.38973 0.930408 4.72626 0.445217 6.21143C0.133909 7.16434 -0.0154694 8.1536 0.00126491 9.15179C0.0185969 10.1847 0.213925 11.2027 0.581904 12.1776C1.37169 14.2702 2.90176 15.9845 4.89022 17.0046C6.17543 17.6639 7.58347 17.9999 8.99956 17.9999C9.75872 17.9999 10.5203 17.9033 11.2663 17.7082L10.998 16.6826Z"></path><path d="M17.4544 12.0747C18.1915 10.0567 18.179 7.83669 17.4192 5.82361C16.5965 3.64365 14.9861 1.8896 12.8847 0.884556C10.7901 -0.117255 8.42345 -0.27377 6.2207 0.443908L6.54913 1.45187C8.49179 0.818919 10.5793 0.957118 12.4273 1.84094C14.281 2.72751 15.7015 4.27484 16.4274 6.19799C17.0975 7.97359 17.1086 9.93147 16.4586 11.711C15.9446 13.1181 15.045 14.3458 13.8778 15.2553L14.0743 13.6249L13.0218 13.498L12.6236 16.8024L15.8864 17.1882L16.0109 16.1354L14.6729 15.9771C15.9262 14.9586 16.8932 13.611 17.4544 12.0747Z"></path></g><path d="M7.81914 12.15L4.27539 8.60627L4.83215 8.04951L7.81914 11.0361L13.1686 5.68701L13.7254 6.24377L7.81914 12.15Z"></path><defs><linearGradient id="linear_gradient" x1="19.375" y1="3.75058" x2="0.0289405" y2="4.75355" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient><clipPath id="clip0_1553_31004"><rect width="18" height="18" fill="white"></rect></clipPath></defs></svg></div><div class="ant-space-item">Changelog</div></div></a><a class="navigation-item" href="/resources/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.98934 1.38924L5.49687 2.84318V5.77257L7.98934 7.22651L10.4818 5.77257V2.84318L7.98934 1.38924ZM11.6818 2.15394L7.98934 0L4.29688 2.15394V6.46182L7.98934 8.61576L11.6818 6.46182V2.15394ZM12.3097 8.77206L9.81719 10.226V13.1554L12.3097 14.6093L14.8021 13.1554V10.226L12.3097 8.77206ZM16.0021 9.53675L12.3097 7.38281L8.61719 9.53675V13.8446L12.3097 15.9986L16.0021 13.8446V9.53675ZM1.2 10.226L3.69247 8.77206L6.18493 10.226V13.1554L3.69247 14.6093L1.2 13.1554V10.226ZM3.69247 7.38281L7.38493 9.53675V13.8446L3.69247 15.9986L0 13.8446V9.53675L3.69247 7.38281Z"></path><defs><linearGradient id="linear_gradient" x1="16.0021" y1="-5.17309e-06" x2="-0.53332" y2="0.571637" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">SDKs and Tools</div></div></a><a class="navigation-item" href="/migrate/overview"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center"><div class="ant-space-item" style="margin-right:22px"><svg width="16" height="14" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M0 1C0 0.447715 0.447715 0 1 0H15C15.5523 0 16 0.447715 16 1V3C16 3.55228 15.5523 4 15 4H8.59844V6.55586L9.57812 5.57617L10.4267 6.4247L8.00239 8.84896L5.57812 6.4247L6.42665 5.57617L7.39844 6.54796V4H1C0.447715 4 0 3.55228 0 3V1ZM1.2 2.8V1.2H3.39844V2.8H1.2ZM4.59844 2.8H14.8V1.2H4.59844L4.59844 2.8ZM1 10C0.447715 10 0 10.4477 0 11V13C0 13.5523 0.447715 14 1 14H15C15.5523 14 16 13.5523 16 13V11C16 10.4477 15.5523 10 15 10H1ZM1.2 11.2V12.8H11.3984V11.2H1.2ZM14.8 12.8H12.5984V11.2H14.8V12.8Z"></path><defs><linearGradient id="linear_gradient" x1="16" y1="-4.52686e-06" x2="-0.527221" y2="0.652831" gradientUnits="userSpaceOnUse"><stop stop-color="#C5ECFE"></stop><stop offset="1" stop-color="#E5D6E3"></stop></linearGradient></defs></svg></div><div class="ant-space-item">Migrate</div></div></a></div><div class="content-root"><div class="ant-spin-nested-loading page-contents-root css-1me4733"><div class="ant-spin-container"><div class="dev-docs-changelog-overview-root"><h1 class="dev-docs-changelog-overview-header">Developer Changelog</h1><div class="dev-docs-changelog-overview-newsletter"><div class="dev-docs-changelog-overview-newsletter-text">Sign up to get notified when our API evolves. Absolutely no marketing emails, we promise.</div><div class="dev-docs-changelog-overview-newsletter-form"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-start"><div class="ant-space-item" style="margin-right:10px"><div class="footer-subscribe-form-input-container"><span class="ant-input-affix-wrapper css-1me4733"><span class="ant-input-prefix"><span role="img" aria-label="mail" class="anticon anticon-mail"><svg viewBox="64 64 896 896" focusable="false" data-icon="mail" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32zm-40 110.8V792H136V270.8l-27.6-21.5 39.3-50.5 42.8 33.3h643.1l42.8-33.3 39.3 50.5-27.7 21.5zM833.6 232L512 482 190.4 232l-42.8-33.3-39.3 50.5 27.6 21.5 341.6 265.6a55.99 55.99 0 0068.7 0L888 270.8l27.6-21.5-39.3-50.5-42.7 33.2z"></path></svg></span></span><input name="email" aria-label="Email Address" placeholder="Email address" class="ant-input css-1me4733" type="text" value=""/></span></div></div><div class="ant-space-item"><button type="button" class="ant-btn css-1me4733 ant-btn-primary dev-docs-button dev-docs-button-light"><span>Subscribe</span></button></div></div></div></div><div class="featured-items skip-search"><div class="featured-item-card"><div class="featured-item-card-image"><a href="/changelog/2024/nextjs-supabase-vercel-starter-kit"><img src="/assets/images/featured/vercel-template.svg" alt="Paddle logo and Vercel logo in a box, with a x in between them to indicate a collaboration." class="dev-docs-images"/></a></div><div class="featured-item-card-tags"></div><div class="featured-item-card-title"><a href="/changelog/2024/nextjs-supabase-vercel-starter-kit">Create a billing-ready Next.js SaaS application in minutes</a></div><div class="featured-item-card-description"><p class="dev-docs-paragraph">Use our starter kit to build a Next.js app with Paddle Billing. Deploy to Vercel in a couple of clicks.</p></div><div class="featured-item-card-link"><a href="/changelog/2024/nextjs-supabase-vercel-starter-kit">Read more<span role="img" aria-label="arrow-right" class="anticon anticon-arrow-right"><svg viewBox="64 64 896 896" focusable="false" data-icon="arrow-right" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 000-48.4z"></path></svg></span></a></div></div><div class="featured-item-card"><div class="featured-item-card-image"><a href="/changelog/2024/webhook-simulator"><img src="/assets/images/featured/webhook-simulator.svg" alt="Illustration of the webhook simulator screen in the Paddle dashboard. It shows a subscription_created scenario, with two webhooks delivered and one failed." class="dev-docs-images"/></a></div><div class="featured-item-card-tags"></div><div class="featured-item-card-title"><a href="/changelog/2024/webhook-simulator">Simulate webhooks for events or complex scenarios</a></div><div class="featured-item-card-description"><p class="dev-docs-paragraph">Make testing and integration easier by simulating webhooks for single events or predefined scenarios.</p></div><div class="featured-item-card-link"><a href="/changelog/2024/webhook-simulator">Read more<span role="img" aria-label="arrow-right" class="anticon anticon-arrow-right"><svg viewBox="64 64 896 896" focusable="false" data-icon="arrow-right" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 000-48.4z"></path></svg></span></a></div></div><div class="featured-item-card"><div class="featured-item-card-image"><a href="/changelog/2024/customer-portal"><img src="/assets/images/featured/customer-portal-cards.svg" alt="Illustration of a customer portal. It shows a nav bar with nav items simplified, then a list of cards. There&#x27;s one card visible, a Visa ending 4242." class="dev-docs-images"/></a></div><div class="featured-item-card-tags"></div><div class="featured-item-card-title"><a href="/changelog/2024/customer-portal">Quickly add billing workflows using the customer portal</a></div><div class="featured-item-card-description"><p class="dev-docs-paragraph">Link to the customer portal to let customers manage their own subscriptions and payments.</p></div><div class="featured-item-card-link"><a href="/changelog/2024/customer-portal">Read more<span role="img" aria-label="arrow-right" class="anticon anticon-arrow-right"><svg viewBox="64 64 896 896" focusable="false" data-icon="arrow-right" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M869 487.8L491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 000-48.4z"></path></svg></span></a></div></div></div><div class="dev-docs-changelog-overview-filter-root"><div class="dev-docs-changelog-overview-filter-label"><span role="img" aria-label="filter" class="anticon anticon-filter"><svg viewBox="64 64 896 896" focusable="false" data-icon="filter" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V642h182.9v156zm9.6-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z"></path></svg></span>Filters</div><div class="dev-docs-changelog-overview-filter-fields-root"><div class="dev-docs-changelog-overview-filter"><div class="dev-docs-changelog-overview-filter-fields"><div class="ant-select css-1me4733 ant-select-multiple ant-select-show-arrow ant-select-show-search" aria-label="Type"><div class="ant-select-selector"><div class="ant-select-selection-overflow"><div class="ant-select-selection-overflow-item ant-select-selection-overflow-item-suffix" style="opacity:1"><div class="ant-select-selection-search" style="width:0"><input type="search" autoComplete="off" class="ant-select-selection-search-input" role="combobox" aria-haspopup="listbox" aria-owns="undefined_list" aria-autocomplete="list" aria-controls="undefined_list" aria-activedescendant="undefined_list_0" aria-label="Type" readonly="" unselectable="on" style="opacity:0" value=""/><span class="ant-select-selection-search-mirror" aria-hidden="true"> </span></div></div></div><span class="ant-select-selection-placeholder">Type</span></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none" unselectable="on" aria-hidden="true"><span role="img" aria-label="down" class="anticon anticon-down ant-select-suffix"><svg viewBox="64 64 896 896" focusable="false" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></span></span></div></div><div class="dev-docs-changelog-overview-filter-fields"><div class="ant-select css-1me4733 ant-select-multiple ant-select-show-arrow ant-select-show-search" aria-label="Product"><div class="ant-select-selector"><div class="ant-select-selection-overflow"><div class="ant-select-selection-overflow-item ant-select-selection-overflow-item-suffix" style="opacity:1"><div class="ant-select-selection-search" style="width:0"><input type="search" autoComplete="off" class="ant-select-selection-search-input" role="combobox" aria-haspopup="listbox" aria-owns="undefined_list" aria-autocomplete="list" aria-controls="undefined_list" aria-activedescendant="undefined_list_0" aria-label="Product" readonly="" unselectable="on" style="opacity:0" value=""/><span class="ant-select-selection-search-mirror" aria-hidden="true"> </span></div></div></div><span class="ant-select-selection-placeholder">Product</span></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none" unselectable="on" aria-hidden="true"><span role="img" aria-label="down" class="anticon anticon-down ant-select-suffix"><svg viewBox="64 64 896 896" focusable="false" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></span></span></div></div><div class="dev-docs-changelog-overview-filter-fields"><div class="ant-select css-1me4733 ant-select-multiple ant-select-show-arrow ant-select-show-search" aria-label="Importance"><div class="ant-select-selector"><div class="ant-select-selection-overflow"><div class="ant-select-selection-overflow-item ant-select-selection-overflow-item-suffix" style="opacity:1"><div class="ant-select-selection-search" style="width:0"><input type="search" autoComplete="off" class="ant-select-selection-search-input" role="combobox" aria-haspopup="listbox" aria-owns="undefined_list" aria-autocomplete="list" aria-controls="undefined_list" aria-activedescendant="undefined_list_0" aria-label="Importance" readonly="" unselectable="on" style="opacity:0" value=""/><span class="ant-select-selection-search-mirror" aria-hidden="true"> </span></div></div></div><span class="ant-select-selection-placeholder">Importance</span></div><span class="ant-select-arrow" style="user-select:none;-webkit-user-select:none" unselectable="on" aria-hidden="true"><span role="img" aria-label="down" class="anticon anticon-down ant-select-suffix"><svg viewBox="64 64 896 896" focusable="false" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></span></span></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">Rolling out</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 20, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/virtual-account-numbers-invoice-reconciliation">More efficient invoice reconciliation with virtual account numbers</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">When you create and send invoices, Paddle now generates unique bank transfer account numbers for each customer. This means invoices can be reconciled more efficiently.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">January 2025</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jan 9, 2025</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-green css-1me4733">Retain</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2025/default-dunning-payment-recovery">Automatic payment failure retries for all Paddle Billing platform users</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">When payment fails for automatically-collected subscriptions, Paddle Billing automatically retries the saved payment method — even if you haven&#x27;t turned on Paddle Retain.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jan 6, 2025</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-orange css-1me4733">Notifications</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2025/existing-data-simulations">Use your data in single event simulation payloads</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Pass Paddle IDs as part of the payload for single simulation to use data for those entities as part of your simulation. Plus, you can supply partial payloads.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">December 2024</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 19, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-pink css-1me4733">Customers</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/revise-transaction-customer-information">Revise customer details for a transaction after purchase</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Add a tax or VAT number, supplement address information, and update customer and business names on PDFs sent for completed transactions.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 18, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/resume-subscription-billing-period-options">Control how Paddle bills for subscriptions when resuming</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use the new <code role="code" class="dev-docs-inline-code">on_resume</code> field to choose whether Paddle should start a new billing period or continue the existing one when resuming a paused subscription.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 12, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-orange css-1me4733">Email</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/traditional-chinese-locale">Traditional Chinese locale support for Paddle Checkout</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">你好!Paddle now supports Traditional Chinese as a locale for Paddle Checkout. <code role="code" class="dev-docs-inline-code">zh-TW</code> is now an allowed value for the <code role="code" class="dev-docs-inline-code">locale</code> parameter when passing settings to a checkout.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 9, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-orange css-1me4733">Action Required</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/subscription-immediate-charge-limits">Limits when making subscription changes that result in an immediate charge</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">We&#x27;ve introduced hourly and daily limits to the number of immediate charges you can make per subscription. You can make up to 20 chargeable updates to a subscription per hour, with a maximum of 100 per day.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 5, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-orange css-1me4733">Notifications</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/refund-credit-full-total">Create full adjustments without specifying transaction items</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Refund or credit the grand total for a transaction by passing a new field when creating an adjustment. There&#x27;s no need to extract items from the transaction list.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 4, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-orange css-1me4733">Email</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/sandbox-emails-domain-revert">Emails sent from sandbox now come from @paddle.com</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Sandbox emails now come from the <code role="code" class="dev-docs-inline-code">paddle.com</code> domain, rather than <code role="code" class="dev-docs-inline-code">withpaddle.com</code>.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">November 2024</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 25, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/vietnamese-dong-vnd-supported-currency">Bill for items in Vietnamese Dong</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Create prices, discounts, transactions, and subscriptions in Vietnamese Dong. <code role="code" class="dev-docs-inline-code">VND</code> is a new allowed value for <code role="code" class="dev-docs-inline-code">currency_code</code> for payments.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 22, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/recurring-alipay-subscriptions">Let customers pay for subscriptions using Alipay</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Turn on Alipay as a payment option for subscriptions, with no engineering effort required on your part.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 19, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/one-page-inline-checkout">Present customers with a one-page checkout</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Let customers review their order details, enter their address and payment details, and complete purchase all on one page.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 13, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-green css-1me4733">Customer portal</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-pink css-1me4733">Customers</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/customer-portal-sessions">Generate authenticated customer portal links</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Generate links that preauthorize a customer to perform actions inside the Paddle customer portal with customer portal sessions.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 12, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/inline-checkout-compliance-changes">Compliance improvements for Paddle Checkout</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">For enhanced compliance, we&#x27;ve redesigned the Paddle.com footer and introduced clear wording about upfront and recurring charges.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 12, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-pink css-1me4733">SDK</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-orange css-1me4733">Action Required</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/python-sdk-stable-release">Our Python SDK is now v1</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">You can use our Python SDK to streamline integrating with Paddle Billing. We released major version 1, which means breaking changes result in a new version.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 11, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/saved-payment-methods">Save and present payment methods at checkout for repeat purchases</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Let customers save their payment details at checkout, then present customers with their saved payment details when they purchase in the future.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">October 2024</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 21, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-orange css-1me4733">Notifications</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/event-notification-retention-changes">Events and notifications older than 90 days are no longer retained</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">The Paddle API no longer returns notifications or events older than 90 days.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 21, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/apple-pay-verification">Launch the Apple Pay modal directly from your checkout</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Extend your Apple Pay integration by letting customers launch the Apple Pay modal directly from your checkout. Verify your domain for Apple Pay to turn on.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 14, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-blue css-1me4733">Catalog</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/case-insensitive-discounts">Discount codes are now case-insensitive</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Customers can now enter discount codes with any casing, for example <code role="code" class="dev-docs-inline-code">blackfriday</code>, <code role="code" class="dev-docs-inline-code">BLACKFRIDAY</code>, or <code role="code" class="dev-docs-inline-code">blackFriday</code>. The Paddle API no longer treats codes against the discount entity as case-sensitive.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 7, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/pause-trialing-subscriptions">Pause trialing subscriptions</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Pause subscriptions in trial at the end of the trial period. They move out of trial when they&#x27;re resumed.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">September 2024</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 18, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-orange css-1me4733">Notifications</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/webhook-simulator">Simulate webhooks for single events or scenarios</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Make testing and integration easier by using webhook simulator to simulate webhooks for single events or predefined scenarios, like a new subscription or successful renewal.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 18, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-pink css-1me4733">SDK</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/nextjs-supabase-vercel-starter-kit">Create a billing-ready Next.js SaaS application in minutes</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use our starter kit to build a Next.js app with Paddle Billing, including a localized pricing page, integrated inline checkout, and screens for customers to manage their payments. Deploy to Vercel in a couple of clicks.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 2, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-gray css-1me4733">Adjustments</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/generate-adjustments-credit-notes">Generate credit notes for refunds and credits</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">For customer record keeping, Paddle automatically sends a credit note (sometimes called a credit memo) when you refund or credit a transaction. Use the new <code role="code" class="dev-docs-inline-code">/adjustments/{adjustment_id}/credit-note</code> endpoint to generate them using the API.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 1, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-green css-1me4733">Customer portal</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/customer-portal">Let customers self serve with the customer portal</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Let customers manage their own subscriptions, payments, and account information using the customer portal.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">August 2024</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Aug 29, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/invoice-pdf-open-in-browser">Open PDFs inline in the browser</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use a new query parameter to determine whether generated URLs for PDFs should download the file as an attachment saved locally, or open it inline in the browser.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Aug 15, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-pink css-1me4733">SDK</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-orange css-1me4733">Action Required</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/go-sdk-stable-release">Our Go SDK is now v1</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">You can use our Go SDK to streamline integrating with Paddle Billing. We released major version 1, which means breaking changes result in a new version.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Aug 1, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/add-custom-items-subscription">Add recurring non-catalog products and prices to a subscription</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Add recurring items to a subscription without having to add them to your product catalog by passing price or product attributes when updating a subscription.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">July 2024</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jul 31, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/past-due-renewal-translations-canceled-pause">Avoid charging for overlapping billing periods when pausing a subscription</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">When pausing subscriptions, past due renewal transactions are now automatically canceled. This means past due transactions for uncompleted billing periods are not automatically collected on resume.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jul 8, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/subscription-items-product">Get product information for subscription items</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Subscription items now return the related product object, useful for showing product name, image, and other information your frontend. The returned product is a snapshot of the product at the time it was added to the subscription.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jul 1, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/change-billing-frequency-proration-billing-mode">Upgrade or downgrade a subscription billing frequency without billing</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use <code role="code" class="dev-docs-inline-code">do_not_bill</code> as the proration billing mode when changing a subscription billing frequency, like when customers upgrade to an annual plan from a monthly plan.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">June 2024</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jun 28, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-gray css-1me4733">Adjustments</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/automatic-refunds-sandbox">Test refund approvals on sandbox accounts, and automatic approval for some refunds on live accounts</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Paddle now automatically approves refunds every ten minutes for sandbox accounts, making testing easier. For live accounts, Paddle automatically approves refunds in some cases.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jun 10, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/aud-cad-balance-currencies">Hold your balance in Australian or Canadian dollars</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Paddle platform users in countries that use Australian or Canadian dollars can now hold their balance in their local currency, reducing FX fees for payouts.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jun 7, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-blue css-1me4733">Catalog</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/prevent-discount-removal-checkout">Prevent customers from removing a discount at checkout</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use the <code role="code" class="dev-docs-inline-code">allowDiscountRemoval</code> parameter or <code role="code" class="dev-docs-inline-code">data-allow-discount-removal</code> HTML data attribute when working with Paddle.js to hide the option to remove an applied discount at checkout.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">May 2024</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">May 7, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-pink css-1me4733">SDK</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/go-sdk">Go SDK now available as a pre-release</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use our Go SDK to streamline integrating with Paddle Billing. Core operations are available now — including products, customers, and subscription management — with full feature parity with the API coming soon. Available now on GitHub.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">April 2024</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Apr 29, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-green css-1me4733">Retain</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/cancellation-flows-subscription-id-parameter-changes">More flexibility for working with Cancellation Flows using Paddle.js</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use Cancellation Flows where you haven&#x27;t passed a customer to Paddle Retain.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Apr 24, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-pink css-1me4733">SDK</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/python-sdk">Python SDK now available</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use our Python SDK to streamline integrating with Paddle Billing. Fully-featured from webhook verification to every API operation. Available now on GitHub.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Apr 15, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-orange css-1me4733">Notifications</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/notification-settings-pagination">Page through notification settings</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">The list notification settings operation is now paginated, making it easier work with a large number of notification settings.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Apr 10, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-green css-1me4733">Retain</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/cancellation-flows-cancel-compliance">Present full cancellation flows in all jurisdictions</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Gather insights into why a customer wants to cancel and present them with dynamic salvage attempts while remaining fully compliant in regions with one-click cancellation legislation.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Apr 3, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/paddle-js-transaction-preview">Preview transactions using Paddle.js</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Build advanced, cart-style pricing pages or other pages that present overall totals using a new method in Paddle.js. No need to make server-side calls to the Paddle API.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Apr 1, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/manually-collected-subscriptions-past-due">Subscriptions paid by invoice now move to past due</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Manually-collected subscriptions now become <code role="code" class="dev-docs-inline-code">past_due</code> when payment terms against invoices for subscription renewals elapse.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">March 2024</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Mar 25, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/bancontact-payment-method-allowed-value">Let customers pay using Bancontact</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Turn on Bancontact as payment option, the most popular payment method in Belgium. <code role="code" class="dev-docs-inline-code">bancontact</code> is a new allowed value for <code role="code" class="dev-docs-inline-code">method_details.type</code> for payments against a transaction.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Mar 22, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-orange css-1me4733">Email</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/sandbox-emails-recipient-domain">Sandbox emails are only sent to your registered email domain</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Emails for sandbox accounts are only sent to your registered email domain. Where email addresses with other domains are used for testing, they&#x27;ll be forwarded to the main email address for your account.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Mar 18, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-pink css-1me4733">Customers</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-orange css-1me4733">Notifications</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/declined-not-retryable-error-code">See when a payment method issuer has instructed us not to retry</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Distinguish between declined payments that should not be retried, and declined payments with no further information.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Mar 12, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-pink css-1me4733">Customers</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-orange css-1me4733">Notifications</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/address-business-webhooks-customer-id">Match webhooks for addresses and businesses to customers</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use the <code role="code" class="dev-docs-inline-code">customer_id</code> returned in address and business notifications to more easily work with addresses and businesses for a customer in the API.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Mar 11, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-orange css-1me4733">Email</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/sandbox-emails-domain">Emails sent from sandbox now come from @withpaddle.com</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Sandbox emails now come from the <code role="code" class="dev-docs-inline-code">withpaddle.com</code> domain, so it&#x27;s easier to filter them when testing.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Mar 11, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/proration-improvements">Improvements to how proration is processed</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Prorated changes to a subscription are now reflected on a transaction, rather than using separate adjustments. Item quantities, item amounts, and totals against a transaction may be negative, and there&#x27;s a new <code role="code" class="dev-docs-inline-code">credit_to_balance</code> field in transaction totals.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Mar 6, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-gray css-1me4733">Reporting</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/product-prices-discounts-reports">Report on your products, prices, and discounts</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Export information about products, prices, and discounts as a spreadsheet to better understand your data using two new reports.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Mar 1, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-orange css-1me4733">Action Required</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/paddle-update-paddle-initialize-paddlejs">Update pwCustomer and eventCallback after Paddle.js is initialized</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use the new <code role="code" class="dev-docs-inline-code">Paddle.Update()</code> method to update <code role="code" class="dev-docs-inline-code">pwCustomer</code> and <code role="code" class="dev-docs-inline-code">eventCallback</code> after you&#x27;ve initialized Paddle.js. Plus, <code role="code" class="dev-docs-inline-code">Paddle.Initialize()</code> replaces <code role="code" class="dev-docs-inline-code">Paddle.Setup()</code>.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">February 2024</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Feb 20, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-pink css-1me4733">SDK</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-orange css-1me4733">Action Required</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/php-nodejs-sdks-stable-release">PHP and Node.js SDKs are now v1</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">You can use our PHP or Node.js SDKs to streamline integrating with Paddle Billing. We released <code role="code" class="dev-docs-inline-code">1.0.0</code>, which means breaking changes result in a new version.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Feb 15, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-pink css-1me4733">SDK</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/openapi-spec-postman-collection-release">OpenAPI spec file and Postman collection release</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Download an OpenAPI spec file for our API or fork our Postman collection to better work with the Paddle API programmatically.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Feb 14, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-green css-1me4733">Retain</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/client-side-tokens-retain">Authenticate with Paddle Retain using client-side tokens</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Paddle Retain now supports using the same client-side tokens as Paddle Billing for authentication. There&#x27;s no need to pass <code role="code" class="dev-docs-inline-code">pwAuth</code> and a Retain API key to <code role="code" class="dev-docs-inline-code">Paddle.Initialize()</code> anymore.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Feb 12, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-blue css-1me4733">Catalog</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/product-price-dates">See when products and prices were created and updated</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Products and prices now return created and updated dates, making them consistent with other entities in the Paddle API.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Feb 7, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/subscription-item-complete-price-object">See the complete price entity for subscription items</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph"><code role="code" class="dev-docs-inline-code">subscription.items[].price</code> now returns all fields against the price entity, rather than a subset of fields. The fields returned are a snapshot of the price at the time it was added to the subscription.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">January 2024</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jan 24, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/presented-currency-changes">Updated currency localization for some regions</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Paddle Checkout now shows preferred local currencies in some regions, instead of US Dollars. Existing subscriptions are not impacted.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jan 18, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/payment-method-paddle-id">New payment method ID field for transaction payments</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">More easily work with payment methods against a transaction payment attempt using the new <code role="code" class="dev-docs-inline-code">payment_method_id</code> field. <code role="code" class="dev-docs-inline-code">stored_payment_method_id</code> is now considered deprecated.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jan 15, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-pink css-1me4733">Customers</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/filter-customers-email">Filter customers by email address</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use the new <code role="code" class="dev-docs-inline-code">email</code> query parameter when listing customers to filter by email address.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jan 12, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-green css-1me4733">Retain</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/term-optimization-retain">Increase customer LTV and reduce churn using Term Optimization</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Term Optimization is now available for Paddle Billing! Intelligently identify customers on a monthly plan who are likely to upgrade to a plan with a longer term length.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jan 11, 2024</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-pink css-1me4733">SDK</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2024/php-nodejs-sdks">PHP and Node.js SDKs now available</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use our PHP or Node.js SDKs to streamline integrating with Paddle Billing. Fully-featured from webhook verification to every API operation. Available now on GitHub.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">December 2023</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 21, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/preselect-payment-methods-checkout">Restrict payment methods at checkout</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Pass a new <code role="code" class="dev-docs-inline-code">allowedPaymentMethods</code> parameter when opening a checkout using Paddle.js to choose which payment methods are presented to customers.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 21, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/available-payment-methods">Get available payment methods when previewing prices or transactions</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">See which payment methods are valid for the prices and location passed to a price preview or a transaction preview using the new <code role="code" class="dev-docs-inline-code">available_payment_methods</code> field in the API.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 20, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/bill-custom-items-one-time-subscription-charge">Bill one-time non-catalog items to a subscription</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Bill a one-time item to a subscription without having to add it to your product catalog by passing price or product attributes.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 19, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/add-custom-items-transaction">Add non-catalog products and prices to a transaction</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Charge for an item without having to add it to your product catalog by passing price or product attributes when working with a transaction.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 18, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/payment-failure-behavior-update-subscription">Apply updates to automatically-collected subscriptions when payment fails</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Upgrade a subscription, add items, bill for one-time changes, and change billing dates for a subscription even when payment fails by including the new <code role="code" class="dev-docs-inline-code">on_payment_failure</code> property when updating a subscription.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 13, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-gray css-1me4733">Reporting</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/reporting-operations">Create and download reports using the Paddle API</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Export data from your Paddle system using the API as well as the Paddle dashboard. Create reports using the <code role="code" class="dev-docs-inline-code">/reports</code> endpoint, then download them using <code role="code" class="dev-docs-inline-code">/reports/{report_id}/download-url</code> endpoint.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 12, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-orange css-1me4733">Import</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/import-information-entities">See how entities were imported</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Get information about how an entity was imported with the new <code role="code" class="dev-docs-inline-code">import_meta</code> object against products, prices, discounts, customers, addresses, businesses, and subscriptions.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 11, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-gray css-1me4733">Reporting</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/line-item-reports">Generate transaction and adjustment line item reports</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Export information about transaction line items and adjustment line items as a spreadsheet to better understand your data and reconcile account activity.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 5, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-green css-1me4733">Retain</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/demo-paddle-retain-method">Simulate Paddle Retain interventions using Paddle.js</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Check you&#x27;ve installed Paddle.js with Retain correctly and see for yourself what Retain looks like using the new <code role="code" class="dev-docs-inline-code">Paddle.Retain.demo()</code> method.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Dec 1, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/prefill-business-name-checkout">Prefill business names at checkout without passing an address</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph"><code role="code" class="dev-docs-inline-code">customer.business.name</code> no longer requires <code role="code" class="dev-docs-inline-code">customer.address</code>, so you can prefill a business name at checkout even if you haven&#x27;t captured address information yet.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">November 2023</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 30, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/filter-transactions-origin">Filter transactions by how they were created</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use the new <code role="code" class="dev-docs-inline-code">origin</code> query parameter when listing transactions to filter by how they were created.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 28, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-orange css-1me4733">Email</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/turkish-locale">Turkish locale support for Paddle Checkout and subscription emails</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Merhaba! Paddle now supports the Turkish locale for Paddle Checkout and subscription emails. <code role="code" class="dev-docs-inline-code">tr</code> is now an allowed value for the <code role="code" class="dev-docs-inline-code">locale</code> parameter when passing settings to a checkout.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 23, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-orange css-1me4733">Email</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/prefix-sandbox-emails">Emails sent from sandbox include a prefix in the subject</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">More easily distinguish emails sent from your sandbox account and your live account. Sandbox emails now include a <code role="code" class="dev-docs-inline-code">[TEST]</code> prefix in the subject.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 22, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-green css-1me4733">Retain</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/cancellation-flows-retain">Build personalized offboarding experiences that retain customers using Cancellation Flows</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Cancellation Flows are now available for Paddle Billing! Use the new <code role="code" class="dev-docs-inline-code">Paddle.Retain.initCancellationFlow()</code> method in Paddle.js to start a cancellation flow for a subscription.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 14, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-orange css-1me4733">Email</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/price-name-description">Add customer-facing names to prices for checkouts and invoices</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Set names for prices and show them on checkouts, invoices, and emails from Paddle using the new <code role="code" class="dev-docs-inline-code">name</code> field against price entities.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 8, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-blue css-1me4733">Catalog</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/custom-data-discounts">Store your own custom data against discounts</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Include an object of <code role="code" class="dev-docs-inline-code">custom_data</code> with requests when creating or updating discounts to store your own arbitrary key-value data.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Nov 3, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-orange css-1me4733">Email</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/zero-dollar-subscription-emails">Updated emails for new zero value subscriptions</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Emails from Paddle when customers start a zero value subscription make it clear that they&#x27;ve saved a payment method. No receipt is sent. We also changed the wording when customers cancel these kinds of subscriptions.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">October 2023</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 28, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-blue css-1me4733">Catalog</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/paddle-js-pricing-pages">Build pricing pages with Paddle.js</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use the <code role="code" class="dev-docs-inline-code">Paddle.PricePreview()</code> method in Paddle.js to build pricing pages without making server-side calls to the Paddle API.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 27, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/client-side-tokens">Authenticate using client-side tokens</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Pass a client-side token to <code role="code" class="dev-docs-inline-code">Paddle.Initialize()</code> to authenticate with Paddle.js. There&#x27;s no need to pass your seller ID anymore.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 24, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/cardholder-name-transaction-payments">Get the cardholder name used for transaction payments</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Cardholder name is now returned in <code role="code" class="dev-docs-inline-code">transaction.payments[].method_details.card</code>, so you can build billing information pages or integrations that show the name on the card used for a payment attempt.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 13, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/filter-subscriptions-scheduled-change">See subscriptions that are scheduled to pause, cancel, or resume</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Filter to see subscriptions with a scheduled change to pause, cancel, or resume using the <code role="code" class="dev-docs-inline-code">scheduled_change_action</code> query parameter.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 6, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/checkout-domains">Set the webpage for payment links against a transaction</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Pass an approved domain to <code role="code" class="dev-docs-inline-code">checkout.url</code> when creating a transaction to specify an approved domain for the returned checkout link rather than using your default payment link.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 6, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/filter-subscriptions-id">Filter subscriptions by ID when listing</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Pass a list of subscription IDs when listing subscriptions using the <code role="code" class="dev-docs-inline-code">id</code> query parameter to return subscriptions that match.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 5, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/pause-cancel-subscription-immediately">Pause or cancel a subscription immediately</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Pause or cancel a subscription right away, rather than at the end of the billing period. <code role="code" class="dev-docs-inline-code">immediately</code> is now an accepted allowed value for <code role="code" class="dev-docs-inline-code">effective_from</code> when sending a request to pause or cancel a subscription.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 4, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-pink css-1me4733">Customers</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/hide-tax-number-option-paddlejs">Hide the option to add tax and business information at checkout</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use the new <code role="code" class="dev-docs-inline-code">showAddTaxId</code> parameter or <code role="code" class="dev-docs-inline-code">show-add-tax-id</code> HTML data attribute when working with Paddle.js to hide the option to add tax and business information at checkout.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 3, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/filter-single-purchase-transactions">Filter to see single purchase transactions</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Get a list of transactions that aren&#x27;t related to a subscription by passing <code role="code" class="dev-docs-inline-code">null</code> as a value for the <code role="code" class="dev-docs-inline-code">subscription_id</code> query parameter when listing transactions. Use this to see transactions for single purchases.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 3, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/filter-subscription-collection-mode">Filter subscriptions by collection mode</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">List only automatically-collected or manually-collected subscriptions using the new <code role="code" class="dev-docs-inline-code">collection_mode</code> query parameter.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Oct 2, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-pink css-1me4733">SDK</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/paddlejs-es-module-typescript-wrapper">Load Paddle.js as a module</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Load Paddle.js as a module and use TypeScript definitions when working with its methods.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">September 2023</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 29, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/update-checkout-method-paddlejs">Update an open checkout using Paddle.js</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Pass items, discount, and customer information to the new <code role="code" class="dev-docs-inline-code">Paddle.Checkout.updateCheckout()</code> method to update an open checkout.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 28, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-blue css-1me4733">Catalog</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/hide-discount-option-paddlejs">Hide the option to add a discount at checkout</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use the new <code role="code" class="dev-docs-inline-code">showAddDiscounts</code> parameter or <code role="code" class="dev-docs-inline-code">show-add-discount</code> HTML data attribute when working with Paddle.js to hide the option to add a discount at checkout.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 28, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/recurring-apple-pay-google-pay">Let customers pay for subscriptions using Apple Pay and Google Pay</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Turn on Apple Pay and Google Pay as payment options for subscriptions, with no engineering effort required on your part. You may see <code role="code" class="dev-docs-inline-code">apple_pay</code> and <code role="code" class="dev-docs-inline-code">google_pay</code> as values for <code role="code" class="dev-docs-inline-code">transaction.payments[].method_details.type</code> when working with subscription-related transactions.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 27, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/checkout-warning-event-paddlejs">Listen for checkout warnings from Paddle.js</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Listen to the new <code role="code" class="dev-docs-inline-code">checkout.warning</code> event to get details about invalid or missing information passed to a checkout when opening, so you can handle problems in your frontend.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 22, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/colombian-peso-cop-supported-currency">Charge customers in Colombian Peso</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Create prices, discounts, transactions, and subscriptions in Colombian Peso. <code role="code" class="dev-docs-inline-code">COP</code> is a new allowed value for <code role="code" class="dev-docs-inline-code">currency_code</code> for payments.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 21, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-pink css-1me4733">Customers</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/custom-data-customers-addresses-businesses">Store your own custom data against customers, addresses, and businesses</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Include an object of <code role="code" class="dev-docs-inline-code">custom_data</code> with requests when creating or updating customers, addresses, and businesses to store your own arbitrary key-value data.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 20, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-orange css-1me4733">Notifications</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/transaction-paid-event-status">Get essential fields for provisioning in transaction.completed events</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Subscribe to the new <code role="code" class="dev-docs-inline-code">transaction.paid</code> event to get notified when a transaction is paid but not yet fully processed. <code role="code" class="dev-docs-inline-code">transaction.completed</code> now include details of the related subscription and invoice number.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 15, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-gray css-1me4733">Adjustments</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-pink css-1me4733">Customers</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/list-credit-balances">See how much credit a customer has available to use</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">List credit balances for a customer using the new <code role="code" class="dev-docs-inline-code">/customers/{customer_id}/credit-balances</code> endpoint to see how much credit a customer has to use, and how much credit they&#x27;ve previously used.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 13, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/activate-trialing-subscriptions">Activate a trialing subscription in one API call</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Send a request to the <code role="code" class="dev-docs-inline-code">/subscriptions/{subscription_id}/activate</code> endpoint to immediately activate a trialing subscription.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 13, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/update-trialing-subscriptions">Update trialing subscriptions</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Add or remove recurring items, change quantities, bill for one-time charges, and change the next billing date for subscriptions in trial.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 8, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-orange css-1me4733">Notifications</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/webhooks-payouts">Subscribe to notifications for payouts</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Subscribe to notifications for payouts for Paddle to get notified when payouts are initiated (<code role="code" class="dev-docs-inline-code">payout.created</code>) and when they&#x27;re paid (<code role="code" class="dev-docs-inline-code">payout.paid</code>.)</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Sep 8, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-orange css-1me4733">Notifications</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/webhooks-discounts">Subscribe to notifications for discounts</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Subscribe to notifications for discount events to get notified when discounts are created (<code role="code" class="dev-docs-inline-code">discount.created</code>) and when they&#x27;re updated (<code role="code" class="dev-docs-inline-code">discount.updated</code>.)</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">August 2023</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Aug 22, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/preview-subscription-update-summary">Understand the impact of a subscription change when previewing</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Check the new <code role="code" class="dev-docs-inline-code">update_summary</code> 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.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Aug 9, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-green css-1me4733">Platform</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/enable-paddle-billing">Paddle Billing launch</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">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&#x27;t impacted.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">July 2023</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jul 20, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/preview-subscription-one-time-charge">Preview charge totals before billing one-time charges to a subscription</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Present charge totals to a customer before billing a one-time charge to a subscription using the new <code role="code" class="dev-docs-inline-code">/subscriptions/{id}/charge/preview</code> endpoint.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jul 18, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-blue css-1me4733">Catalog</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/preview-prices">Build pricing pages using the price preview operation</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Get localized prices for a country, including taxes and discount calculation using the new <code role="code" class="dev-docs-inline-code">/price-preview</code> endpoint. Paddle returns formatted prices, including currency symbol, so you can pass straight to your frontend.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jul 10, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/subscription-charge-transaction-origin">Identify transactions created for one-time charges easily</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use the new <code role="code" class="dev-docs-inline-code">subscription_charge</code> allowed value for the <code role="code" class="dev-docs-inline-code">origin</code> field against a transaction to more easily determine why a transaction was created for a subscription.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jul 6, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-blue css-1me4733">Catalog</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/custom-data-products-prices">Store your own custom data against products and prices</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Include an object of <code role="code" class="dev-docs-inline-code">custom_data</code> with requests when creating or updating products and prices to store your own arbitrary key-value data.</p></div></div></div></div></div><div class="dev-docs-changelog-overview-items"><div class="dev-docs-changelog-overview-group-title">June 2023</div><div class="dev-docs-changelog-overview-item-root"><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jun 29, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-purple css-1me4733">Subscriptions</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/payment-method-update-transaction">Update a payment method using the API and Paddle.js</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use the new <code role="code" class="dev-docs-inline-code">/subscriptions/{subscription_id}/update-payment-method-transaction</code> endpoint to get a transaction that you can pass to Paddle.js to let customers update their payment details.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jun 28, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-blue css-1me4733">Catalog</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/recurring-prices-filter-parameter">Filter to see recurring and one-time prices</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Filter to see recurring or one-time prices when using the list prices operation with the <code role="code" class="dev-docs-inline-code">recurring</code> query parameter.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jun 23, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/transaction-totals-adjusted-totals">See adjusted totals for transactions more easily</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">See how transaction totals and payout totals look after adjustments using the <code role="code" class="dev-docs-inline-code">transaction.details.adjusted_totals</code> and <code role="code" class="dev-docs-inline-code">transaction.details.adjusted_payout_totals</code>.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jun 23, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-gray css-1me4733">Adjustments</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/transaction-adjustment-totals-include">Include the total for all adjustments for a transaction</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Use the <code role="code" class="dev-docs-inline-code">adjustments_totals</code> include parameter to return a total for all the adjustments against a transaction, including a breakdown by adjustment action.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jun 20, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-orange css-1me4733">Notifications</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/replay-notification">Replay notifications</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Resend a notification that&#x27;s <code role="code" class="dev-docs-inline-code">delivered</code> or <code role="code" class="dev-docs-inline-code">failed</code> using the new <code role="code" class="dev-docs-inline-code">/notifications/{notification_id}/replay</code> endpoint.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jun 15, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-orange css-1me4733">Notifications</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/notification-filter-parameters">Get all notifications for a customer, subscription, or transaction</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Find all notifications that relate to a customer, subscription, or transaction entity using the new <code role="code" class="dev-docs-inline-code">filter</code> query parameter. Plus, filter notifications by date period using the <code role="code" class="dev-docs-inline-code">from</code> and <code role="code" class="dev-docs-inline-code">to</code> parameters.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jun 13, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-purple css-1me4733">Paddle.js</span></div><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-blue css-1me4733">Catalog</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-dark-blue css-1me4733">Checkout</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/pass-discount-code-paddlejs">Pass a discount code to Paddle.js</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">We added a new <code role="code" class="dev-docs-inline-code">discountCode</code> parameter and <code role="code" class="dev-docs-inline-code">data-discount-code</code> HTML data attribute to Paddle.js to let you pass a discount code when opening a checkout.</p></div></div></div><div class="dev-docs-changelog-overview-item"><div class="dev-docs-changelog-overview-item-date">Jun 5, 2023</div><div class="dev-docs-changelog-overview-item-border"><div class="dev-docs-changelog-overview-item-border-indicator"></div></div><div><div class="dev-docs-changelog-overview-item-tags"><div class="ant-space css-1me4733 ant-space-horizontal ant-space-align-center" style="flex-wrap:wrap;margin-bottom:-8px"><div class="ant-space-item" style="margin-right:8px;padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-default-blue css-1me4733">API</span></div><div class="ant-space-item" style="padding-bottom:8px"><span class="ant-tag dev-docs-tags dev-docs-tag-light-green css-1me4733">Transactions</span></div></div></div><div class="dev-docs-changelog-overview-item-title"><a href="/changelog/2023/transaction-totals-grand-total">See the amount before payments for a transaction</a></div><div class="dev-docs-changelog-overview-item-description"><p class="dev-docs-paragraph">Get the amount that a customer has to pay more easily using the new <code role="code" class="dev-docs-inline-code">transaction.details.totals.grand_total</code> field against totals for a transaction. It&#x27;s especially useful for completed transactions.</p></div></div></div></div></div></div><footer class="pdl-blur border-t border-foreground/20 dark:border-dark-grey-700"><div class="mx-auto box-content grid max-w-[1092px] gap-10 px-5 py-16 lg:grid-cols-2 lg:px-16"><div class="grid gap-8"><img alt="Paddle Logo" loading="lazy" width="150" height="26.5" decoding="async" data-nimg="1" class="invert dark:invert-0" style="color:transparent" src="/logo.svg"/><div class="flex w-full flex-wrap items-center gap-x-8 gap-y-4 font-medium tracking-tight [&amp;&gt;a:hover]:text-foreground [&amp;&gt;a:hover]:underline [&amp;&gt;a]:text-foreground"><button data-state="closed"><a class="flex items-center text-foreground hover:text-foreground hover:underline" target="_blank" href="https://paddle.status.io/"><span class="mr-3 box-content inline-block h-2 w-2 rounded-full dark:border-[3px] dark:drop-shadow-none border-green-800 bg-green-400 drop-shadow-[0px_0px_4px_rgb(74,222,128)]"></span><span>Status</span></a></button><a target="_blank" href="https://www.paddle.com/">Paddle.com</a><a target="_blank" href="https://security.paddle.com/">Security</a><a href="/changelog/overview">Changelog</a></div><div class="flex space-x-6"><a class="text-muted-foreground hover:text-foreground [&amp;&gt;svg]:h-6 [&amp;&gt;svg]:w-6" target="_blank" title="Twitter" href="https://twitter.com/PaddleHQ"><svg width="1200" height="1227" viewBox="0 0 1200 1227" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" fill="currentColor"></path></svg></a><a class="text-muted-foreground hover:text-foreground [&amp;&gt;svg]:h-6 [&amp;&gt;svg]:w-6" target="_blank" title="LinkedIn" href="https://linkedin.com/company/paddle"><svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_2605_34752)"><path d="M28.6543 0H3.08984C1.86523 0 0.875 0.966797 0.875 2.16211V27.832C0.875 29.0273 1.86523 30 3.08984 30H28.6543C29.8789 30 30.875 29.0273 30.875 27.8379V2.16211C30.875 0.966797 29.8789 0 28.6543 0ZM9.77539 25.5645H5.32227V11.2441H9.77539V25.5645ZM7.54883 9.29297C6.11914 9.29297 4.96484 8.13867 4.96484 6.71484C4.96484 5.29102 6.11914 4.13672 7.54883 4.13672C8.97266 4.13672 10.127 5.29102 10.127 6.71484C10.127 8.13281 8.97266 9.29297 7.54883 9.29297ZM26.4395 25.5645H21.9922V18.6035C21.9922 16.9453 21.9629 14.8066 19.6777 14.8066C17.3633 14.8066 17.0117 16.6172 17.0117 18.4863V25.5645H12.5703V11.2441H16.8359V13.2012H16.8945C17.4863 12.0762 18.9395 10.8867 21.1016 10.8867C25.6074 10.8867 26.4395 13.8516 26.4395 17.707V25.5645Z" fill="currentColor"></path></g><defs><linearGradient id="paint0_linear_2605_34752" x1="29.0469" y1="-1.27659" x2="-3.62143" y2="10.081" gradientUnits="userSpaceOnUse"><stop stop-color="#202630"></stop><stop offset="1" stop-color="#0E1414"></stop></linearGradient><clipPath id="clip0_2605_34752"><rect width="30" height="30" fill="currentColor" transform="translate(0.875)"></rect></clipPath></defs></svg></a><a class="text-muted-foreground hover:text-foreground [&amp;&gt;svg]:h-6 [&amp;&gt;svg]:w-6" target="_blank" title="GitHub" href="https://github.com/PaddleHQ"><svg width="31" height="30" viewBox="0 0 31 30" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_2605_34751)"><path d="M15.9875 2.38477C8.25937 2.38164 2 8.63789 2 16.3598C2 22.466 5.91562 27.6566 11.3687 29.5629C12.1031 29.7473 11.9906 29.2254 11.9906 28.8691V26.4473C7.75 26.9441 7.57812 24.1379 7.29375 23.6691C6.71875 22.6879 5.35937 22.4379 5.76562 21.9691C6.73125 21.4723 7.71562 22.0941 8.85625 23.7785C9.68125 25.0004 11.2906 24.7941 12.1062 24.591C12.2844 23.8566 12.6656 23.2004 13.1906 22.691C8.79687 21.9035 6.96562 19.2223 6.96562 16.0348C6.96562 14.4879 7.475 13.066 8.475 11.9191C7.8375 10.0285 8.53437 8.40977 8.62812 8.16914C10.4437 8.00664 12.3312 9.46914 12.4781 9.58477C13.5094 9.30664 14.6875 9.15977 16.0062 9.15977C17.3312 9.15977 18.5125 9.31289 19.5531 9.59414C19.9062 9.32539 21.6562 8.06914 23.3437 8.22227C23.4344 8.46289 24.1156 10.0441 23.5156 11.9098C24.5281 13.0598 25.0437 14.4941 25.0437 16.0441C25.0437 19.2379 23.2 21.9223 18.7937 22.6973C19.1712 23.0684 19.4708 23.5111 19.6752 23.9993C19.8797 24.4876 19.9848 25.0117 19.9844 25.541V29.0566C20.0094 29.3379 19.9844 29.616 20.4531 29.616C25.9875 27.7504 29.9719 22.5223 29.9719 16.3629C29.9719 8.63789 23.7094 2.38477 15.9875 2.38477V2.38477Z" fill="currentColor"></path></g><defs><linearGradient id="paint0_linear_2605_34751" x1="29.0469" y1="2.32578" x2="-1.26401" y2="16.1512" gradientUnits="userSpaceOnUse"><stop stop-color="#202630"></stop><stop offset="1" stop-color="#0E1414"></stop></linearGradient><clipPath id="clip0_2605_34751"><rect width="30" height="30" fill="white" transform="translate(0.875)"></rect></clipPath></defs></svg></a></div></div><div><h3 class="mb-2 text-2xl font-medium tracking-tight">Sign up for developer updates</h3><p class="mb-6 text-base text-muted-foreground">No marketing emails. Unsubscribe any time.</p><form class="flex flex-col gap-3 xs:flex-row lg:flex-col xl:flex-row"><div class="grid w-full gap-2"><input class="flex w-full border border-input px-3 shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[error=&quot;true&quot;]:border-destructive md:text-sm h-10 rounded-lg bg-transparent py-3 text-sm" id="email" name="email" placeholder="Enter your email" data-error="false" value=""/></div><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-xl text-sm font-medium transition-all focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&amp;&gt;a]:text-inherit [&amp;&gt;a]:hover:text-inherit [&amp;_svg]:pointer-events-none [&amp;_svg]:size-4 [&amp;_svg]:shrink-0 bg-primary text-primary-foreground hover:bg-dark-grey-900 dark:hover:bg-white h-10 px-5 py-2.5 w-full xs:w-min lg:w-full xl:w-min">Subscribe</button></form></div></div><div class="dev-docs-footer-legal-section border-t border-foreground/20 px-5 py-6 text-xs dark:border-dark-grey-700 lg:px-16"><div class="mx-auto flex max-w-[1092px] flex-col justify-between lg:flex-row"><div class="mb-6 flex space-x-6 lg:mb-0"><a class="text-foreground hover:text-foreground hover:underline" target="_blank" href="https://www.paddle.com/legal/privacy">Privacy Policy</a><a class="text-foreground hover:text-foreground hover:underline" target="_blank" href="https://www.paddle.com/legal/terms">Terms</a></div><span class="text-dark-grey-50">Paddle.com Market Ltd. © 2012–<!-- -->2025</span></div></div></footer></div></div></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"title":"Developer changelog","description":"Track changes to the Paddle platform, including the Paddle API and Paddle.js.","pageType":"changelog-overview","pageUrl":"changelog/overview","childProps":{"content":[{"title":"Early access","items":[{"title":"Accept Korean local cards and digital wallets at checkout","description":"Turn on Korean payment methods to let customers pay using Korean local cards, KakaoPay, Naver Pay, PayCo, and Samsung Pay. Available for items priced in Korean Won for customers in Korea, with no extra engineering effort required. Now in early access.","date":"2024/05/31","link":"/changelog/2024/korean-payment-methods","released":"dev-docs-korean-payment-method","tags":[{"name":"Platform","variation":"default-green"},{"name":"Checkout","variation":"dark-blue"},{"name":"API","variation":"default-blue"}]}]},{"title":"Rolling out","items":[{"title":"More efficient invoice reconciliation with virtual account numbers","description":"When you create and send invoices, Paddle now generates unique bank transfer account numbers for each customer. This means invoices can be reconciled more efficiently.","date":"2024/11/20","link":"/changelog/2024/virtual-account-numbers-invoice-reconciliation","tags":[{"name":"Platform","variation":"default-green"},{"name":"Transactions","variation":"light-green"}]}]},{"title":"January 2025","items":[{"title":"Automatic payment failure retries for all Paddle Billing platform users","description":"When payment fails for automatically-collected subscriptions, Paddle Billing automatically retries the saved payment method — even if you haven't turned on Paddle Retain.","date":"2025/01/09","link":"/changelog/2025/default-dunning-payment-recovery","tags":[{"name":"Platform","variation":"default-green"},{"name":"Retain","variation":"dark-green"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Use your data in single event simulation payloads","description":"Pass Paddle IDs as part of the payload for single simulation to use data for those entities as part of your simulation. Plus, you can supply partial payloads.","date":"2025/01/06","link":"/changelog/2025/existing-data-simulations","tags":[{"name":"API","variation":"default-blue"},{"name":"Notifications","variation":"light-orange"}]}]},{"title":"December 2024","items":[{"title":"Revise customer details for a transaction after purchase","description":"Add a tax or VAT number, supplement address information, and update customer and business names on PDFs sent for completed transactions.","date":"2024/12/19","link":"/changelog/2024/revise-transaction-customer-information","tags":[{"name":"Transactions","variation":"light-green"},{"name":"Customers","variation":"light-pink"},{"name":"API","variation":"default-blue"}]},{"title":"Control how Paddle bills for subscriptions when resuming","description":"Use the new `on_resume` field to choose whether Paddle should start a new billing period or continue the existing one when resuming a paused subscription.","date":"2024/12/18","link":"/changelog/2024/resume-subscription-billing-period-options","tags":[{"name":"API","variation":"default-blue"},{"name":"Platform","variation":"default-green"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Traditional Chinese locale support for Paddle Checkout","description":"你好!Paddle now supports Traditional Chinese as a locale for Paddle Checkout. `zh-TW` is now an allowed value for the `locale` parameter when passing settings to a checkout.","date":"2024/12/12","link":"/changelog/2024/traditional-chinese-locale","tags":[{"name":"Platform","variation":"default-green"},{"name":"Email","variation":"dark-orange"},{"name":"Checkout","variation":"dark-blue"}]},{"title":"Limits when making subscription changes that result in an immediate charge","description":"We've introduced hourly and daily limits to the number of immediate charges you can make per subscription. You can make up to 20 chargeable updates to a subscription per hour, with a maximum of 100 per day.","date":"2024/12/09","link":"/changelog/2024/subscription-immediate-charge-limits","tags":[{"name":"Action Required","variation":"default-orange"},{"name":"Platform","variation":"default-green"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Create full adjustments without specifying transaction items","description":"Refund or credit the grand total for a transaction by passing a new field when creating an adjustment. There's no need to extract items from the transaction list.","date":"2024/12/05","link":"/changelog/2024/refund-credit-full-total","tags":[{"name":"Platform","variation":"default-green"},{"name":"Notifications","variation":"light-orange"}]},{"title":"Emails sent from sandbox now come from @paddle.com","description":"Sandbox emails now come from the `paddle.com` domain, rather than `withpaddle.com`.","date":"2024/12/04","link":"/changelog/2024/sandbox-emails-domain-revert","tags":[{"name":"Platform","variation":"default-green"},{"name":"Email","variation":"dark-orange"}]}]},{"title":"November 2024","items":[{"title":"Bill for items in Vietnamese Dong","description":"Create prices, discounts, transactions, and subscriptions in Vietnamese Dong. `VND` is a new allowed value for `currency_code` for payments.","date":"2024/11/25","link":"/changelog/2024/vietnamese-dong-vnd-supported-currency","tags":[{"name":"Platform","variation":"default-green"}]},{"title":"Let customers pay for subscriptions using Alipay","description":"Turn on Alipay as a payment option for subscriptions, with no engineering effort required on your part.","date":"2024/11/22","link":"/changelog/2024/recurring-alipay-subscriptions","tags":[{"name":"Transactions","variation":"light-green"}]},{"title":"Present customers with a one-page checkout","description":"Let customers review their order details, enter their address and payment details, and complete purchase all on one page.","date":"2024/11/19","link":"/changelog/2024/one-page-inline-checkout","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Checkout","variation":"dark-blue"},{"name":"Transactions","variation":"light-green"}]},{"title":"Generate authenticated customer portal links","description":"Generate links that preauthorize a customer to perform actions inside the Paddle customer portal with customer portal sessions.","date":"2024/11/13","link":"/changelog/2024/customer-portal-sessions","tags":[{"name":"Customer portal","variation":"dark-green"},{"name":"Customers","variation":"light-pink"},{"name":"API","variation":"default-blue"},{"name":"Platform","variation":"default-green"}]},{"title":"Compliance improvements for Paddle Checkout","description":"For enhanced compliance, we've redesigned the Paddle.com footer and introduced clear wording about upfront and recurring charges.","date":"2024/11/12","link":"/changelog/2024/inline-checkout-compliance-changes","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Checkout","variation":"dark-blue"}]},{"title":"Our Python SDK is now v1","description":"You can use our Python SDK to streamline integrating with Paddle Billing. We released major version 1, which means breaking changes result in a new version.","date":"2024/11/12","link":"/changelog/2024/python-sdk-stable-release","tags":[{"name":"SDK","variation":"default-pink"},{"name":"Action Required","variation":"default-orange"}]},{"title":"Save and present payment methods at checkout for repeat purchases","description":"Let customers save their payment details at checkout, then present customers with their saved payment details when they purchase in the future.","date":"2024/11/11","link":"/changelog/2024/saved-payment-methods","tags":[{"name":"API","variation":"default-blue"},{"name":"Paddle.js","variation":"default-purple"},{"name":"Checkout","variation":"dark-blue"},{"name":"Transactions","variation":"light-green"}]}]},{"title":"October 2024","items":[{"title":"Events and notifications older than 90 days are no longer retained","description":"The Paddle API no longer returns notifications or events older than 90 days.","date":"2024/10/21","link":"/changelog/2024/event-notification-retention-changes","tags":[{"name":"Platform","variation":"default-green"},{"name":"Notifications","variation":"light-orange"}]},{"title":"Launch the Apple Pay modal directly from your checkout","description":"Extend your Apple Pay integration by letting customers launch the Apple Pay modal directly from your checkout. Verify your domain for Apple Pay to turn on.","date":"2024/10/21","link":"/changelog/2024/apple-pay-verification","tags":[{"name":"Platform","variation":"default-green"},{"name":"Checkout","variation":"dark-blue"}]},{"title":"Discount codes are now case-insensitive","description":"Customers can now enter discount codes with any casing, for example `blackfriday`, `BLACKFRIDAY`, or `blackFriday`. The Paddle API no longer treats codes against the discount entity as case-sensitive.","date":"2024/10/14","link":"/changelog/2024/case-insensitive-discounts","tags":[{"name":"Catalog","variation":"light-blue"},{"name":"API","variation":"default-blue"},{"name":"Paddle.js","variation":"default-purple"},{"name":"Platform","variation":"default-green"}]},{"title":"Pause trialing subscriptions","description":"Pause subscriptions in trial at the end of the trial period. They move out of trial when they're resumed.","date":"2024/10/07","link":"/changelog/2024/pause-trialing-subscriptions","tags":[{"name":"API","variation":"default-blue"},{"name":"Subscriptions","variation":"light-purple"}]}]},{"title":"September 2024","items":[{"title":"Simulate webhooks for single events or scenarios","description":"Make testing and integration easier by using webhook simulator to simulate webhooks for single events or predefined scenarios, like a new subscription or successful renewal.","date":"2024/09/18","link":"/changelog/2024/webhook-simulator","tags":[{"name":"API","variation":"default-blue"},{"name":"Notifications","variation":"light-orange"}]},{"title":"Create a billing-ready Next.js SaaS application in minutes","description":"Use our starter kit to build a Next.js app with Paddle Billing, including a localized pricing page, integrated inline checkout, and screens for customers to manage their payments. Deploy to Vercel in a couple of clicks.","date":"2024/09/18","link":"/changelog/2024/nextjs-supabase-vercel-starter-kit","tags":[{"name":"SDK","variation":"default-pink"},{"name":"Paddle.js","variation":"default-purple"}]},{"title":"Generate credit notes for refunds and credits","description":"For customer record keeping, Paddle automatically sends a credit note (sometimes called a credit memo) when you refund or credit a transaction. Use the new `/adjustments/{adjustment_id}/credit-note` endpoint to generate them using the API.","date":"2024/09/02","link":"/changelog/2024/generate-adjustments-credit-notes","tags":[{"name":"Platform","variation":"default-green"},{"name":"Adjustments","variation":"light-gray"}]},{"title":"Let customers self serve with the customer portal","description":"Let customers manage their own subscriptions, payments, and account information using the customer portal.","date":"2024/09/01","link":"/changelog/2024/customer-portal","tags":[{"name":"Customer portal","variation":"dark-green"},{"name":"Platform","variation":"default-green"}]}]},{"title":"August 2024","items":[{"title":"Open PDFs inline in the browser","description":"Use a new query parameter to determine whether generated URLs for PDFs should download the file as an attachment saved locally, or open it inline in the browser.","date":"2024/08/29","link":"/changelog/2024/invoice-pdf-open-in-browser","tags":[{"name":"Transactions","variation":"light-green"}]},{"title":"Our Go SDK is now v1","description":"You can use our Go SDK to streamline integrating with Paddle Billing. We released major version 1, which means breaking changes result in a new version.","date":"2024/08/15","link":"/changelog/2024/go-sdk-stable-release","tags":[{"name":"SDK","variation":"default-pink"},{"name":"Action Required","variation":"default-orange"}]},{"title":"Add recurring non-catalog products and prices to a subscription","description":"Add recurring items to a subscription without having to add them to your product catalog by passing price or product attributes when updating a subscription.","date":"2024/08/01","link":"/changelog/2024/add-custom-items-subscription","tags":[{"name":"Platform","variation":"default-green"},{"name":"Subscriptions","variation":"light-purple"}]}]},{"title":"July 2024","items":[{"title":"Avoid charging for overlapping billing periods when pausing a subscription","description":"When pausing subscriptions, past due renewal transactions are now automatically canceled. This means past due transactions for uncompleted billing periods are not automatically collected on resume.","date":"2024/07/31","link":"/changelog/2024/past-due-renewal-translations-canceled-pause","tags":[{"name":"Platform","variation":"default-green"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Get product information for subscription items","description":"Subscription items now return the related product object, useful for showing product name, image, and other information your frontend. The returned product is a snapshot of the product at the time it was added to the subscription.","date":"2024/07/08","link":"/changelog/2024/subscription-items-product","tags":[{"name":"API","variation":"default-blue"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Upgrade or downgrade a subscription billing frequency without billing","description":"Use `do_not_bill` as the proration billing mode when changing a subscription billing frequency, like when customers upgrade to an annual plan from a monthly plan.","date":"2024/07/01","link":"/changelog/2024/change-billing-frequency-proration-billing-mode","tags":[{"name":"Platform","variation":"default-green"},{"name":"Subscriptions","variation":"light-purple"}]}]},{"title":"June 2024","items":[{"title":"Test refund approvals on sandbox accounts, and automatic approval for some refunds on live accounts","description":"Paddle now automatically approves refunds every ten minutes for sandbox accounts, making testing easier. For live accounts, Paddle automatically approves refunds in some cases.","date":"2024/06/28","link":"/changelog/2024/automatic-refunds-sandbox","tags":[{"name":"Platform","variation":"default-green"},{"name":"Adjustments","variation":"light-gray"}]},{"title":"Hold your balance in Australian or Canadian dollars","description":"Paddle platform users in countries that use Australian or Canadian dollars can now hold their balance in their local currency, reducing FX fees for payouts.","date":"2024/06/10","link":"/changelog/2024/aud-cad-balance-currencies","tags":[{"name":"Platform","variation":"default-green"}]},{"title":"Prevent customers from removing a discount at checkout","description":"Use the `allowDiscountRemoval` parameter or `data-allow-discount-removal` HTML data attribute when working with Paddle.js to hide the option to remove an applied discount at checkout.","date":"2024/06/07","link":"/changelog/2024/prevent-discount-removal-checkout","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Checkout","variation":"dark-blue"},{"name":"Catalog","variation":"light-blue"}]}]},{"title":"May 2024","items":[{"title":"Go SDK now available as a pre-release","description":"Use our Go SDK to streamline integrating with Paddle Billing. Core operations are available now — including products, customers, and subscription management — with full feature parity with the API coming soon. Available now on GitHub.","date":"2024/05/07","link":"/changelog/2024/go-sdk","tags":[{"name":"SDK","variation":"default-pink"}]}]},{"title":"April 2024","items":[{"title":"More flexibility for working with Cancellation Flows using Paddle.js","description":"Use Cancellation Flows where you haven't passed a customer to Paddle Retain.","date":"2024/04/29","link":"/changelog/2024/cancellation-flows-subscription-id-parameter-changes","tags":[{"name":"Retain","variation":"dark-green"},{"name":"Paddle.js","variation":"default-purple"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Python SDK now available","description":"Use our Python SDK to streamline integrating with Paddle Billing. Fully-featured from webhook verification to every API operation. Available now on GitHub.","date":"2024/04/24","link":"/changelog/2024/python-sdk","tags":[{"name":"SDK","variation":"default-pink"}]},{"title":"Page through notification settings","description":"The list notification settings operation is now paginated, making it easier work with a large number of notification settings.","date":"2024/04/15","link":"/changelog/2024/notification-settings-pagination","tags":[{"name":"API","variation":"default-blue"},{"name":"Notifications","variation":"light-orange"}]},{"title":"Present full cancellation flows in all jurisdictions","description":"Gather insights into why a customer wants to cancel and present them with dynamic salvage attempts while remaining fully compliant in regions with one-click cancellation legislation.","date":"2024/04/10","link":"/changelog/2024/cancellation-flows-cancel-compliance","tags":[{"name":"Retain","variation":"dark-green"},{"name":"Subscriptions","variation":"light-purple"},{"name":"Transactions","variation":"light-green"}]},{"title":"Preview transactions using Paddle.js","description":"Build advanced, cart-style pricing pages or other pages that present overall totals using a new method in Paddle.js. No need to make server-side calls to the Paddle API.","date":"2024/04/03","link":"/changelog/2024/paddle-js-transaction-preview","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Transactions","variation":"light-green"}]},{"title":"Subscriptions paid by invoice now move to past due","description":"Manually-collected subscriptions now become `past_due` when payment terms against invoices for subscription renewals elapse.","date":"2024/04/01","link":"/changelog/2024/manually-collected-subscriptions-past-due","tags":[{"name":"Transactions","variation":"light-green"},{"name":"Subscriptions","variation":"light-purple"},{"name":"Platform","variation":"default-green"}]}]},{"title":"March 2024","items":[{"title":"Let customers pay using Bancontact","description":"Turn on Bancontact as payment option, the most popular payment method in Belgium. `bancontact` is a new allowed value for `method_details.type` for payments against a transaction.","date":"2024/03/25","link":"/changelog/2024/bancontact-payment-method-allowed-value","tags":[{"name":"Platform","variation":"default-green"},{"name":"Checkout","variation":"dark-blue"},{"name":"API","variation":"default-blue"}]},{"title":"Sandbox emails are only sent to your registered email domain","description":"Emails for sandbox accounts are only sent to your registered email domain. Where email addresses with other domains are used for testing, they'll be forwarded to the main email address for your account.","date":"2024/03/22","link":"/changelog/2024/sandbox-emails-recipient-domain","tags":[{"name":"Platform","variation":"default-green"},{"name":"Email","variation":"dark-orange"}]},{"title":"See when a payment method issuer has instructed us not to retry","description":"Distinguish between declined payments that should not be retried, and declined payments with no further information.","date":"2024/03/18","link":"/changelog/2024/declined-not-retryable-error-code","tags":[{"name":"API","variation":"default-blue"},{"name":"Customers","variation":"light-pink"},{"name":"Notifications","variation":"light-orange"}]},{"title":"Match webhooks for addresses and businesses to customers","description":"Use the `customer_id` returned in address and business notifications to more easily work with addresses and businesses for a customer in the API.","date":"2024/03/12","link":"/changelog/2024/address-business-webhooks-customer-id","tags":[{"name":"API","variation":"default-blue"},{"name":"Customers","variation":"light-pink"},{"name":"Notifications","variation":"light-orange"}]},{"title":"Emails sent from sandbox now come from @withpaddle.com","description":"Sandbox emails now come from the `withpaddle.com` domain, so it's easier to filter them when testing.","date":"2024/03/11","link":"/changelog/2024/sandbox-emails-domain","tags":[{"name":"Platform","variation":"default-green"},{"name":"Email","variation":"dark-orange"}]},{"title":"Improvements to how proration is processed","description":"Prorated changes to a subscription are now reflected on a transaction, rather than using separate adjustments. Item quantities, item amounts, and totals against a transaction may be negative, and there's a new `credit_to_balance` field in transaction totals.","date":"2024/03/11","link":"/changelog/2024/proration-improvements","tags":[{"name":"API","variation":"default-blue"},{"name":"Transactions","variation":"light-green"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Report on your products, prices, and discounts","description":"Export information about products, prices, and discounts as a spreadsheet to better understand your data using two new reports.","date":"2024/03/06","link":"/changelog/2024/product-prices-discounts-reports","tags":[{"name":"API","variation":"default-blue"},{"name":"Reporting","variation":"dark-gray"}]},{"title":"Update pwCustomer and eventCallback after Paddle.js is initialized","description":"Use the new `Paddle.Update()` method to update `pwCustomer` and `eventCallback` after you've initialized Paddle.js. Plus, `Paddle.Initialize()` replaces `Paddle.Setup()`.","date":"2024/03/01","link":"/changelog/2024/paddle-update-paddle-initialize-paddlejs","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Checkout","variation":"dark-blue"},{"name":"Action Required","variation":"default-orange"}]}]},{"title":"February 2024","items":[{"title":"PHP and Node.js SDKs are now v1","description":"You can use our PHP or Node.js SDKs to streamline integrating with Paddle Billing. We released `1.0.0`, which means breaking changes result in a new version.","date":"2024/02/20","link":"/changelog/2024/php-nodejs-sdks-stable-release","tags":[{"name":"SDK","variation":"default-pink"},{"name":"Action Required","variation":"default-orange"}]},{"title":"OpenAPI spec file and Postman collection release","description":"Download an OpenAPI spec file for our API or fork our Postman collection to better work with the Paddle API programmatically.","date":"2024/02/15","link":"/changelog/2024/openapi-spec-postman-collection-release","tags":[{"name":"API","variation":"default-blue"},{"name":"SDK","variation":"default-pink"}]},{"title":"Authenticate with Paddle Retain using client-side tokens","description":"Paddle Retain now supports using the same client-side tokens as Paddle Billing for authentication. There's no need to pass `pwAuth` and a Retain API key to `Paddle.Initialize()` anymore.","date":"2024/02/14","link":"/changelog/2024/client-side-tokens-retain","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Retain","variation":"dark-green"},{"name":"Platform","variation":"default-green"}]},{"title":"See when products and prices were created and updated","description":"Products and prices now return created and updated dates, making them consistent with other entities in the Paddle API.","date":"2024/02/12","link":"/changelog/2024/product-price-dates","tags":[{"name":"API","variation":"default-blue"},{"name":"Catalog","variation":"light-blue"}]},{"title":"See the complete price entity for subscription items","description":"`subscription.items[].price` now returns all fields against the price entity, rather than a subset of fields. The fields returned are a snapshot of the price at the time it was added to the subscription.","date":"2024/02/07","link":"/changelog/2024/subscription-item-complete-price-object","tags":[{"name":"API","variation":"default-blue"},{"name":"Subscriptions","variation":"light-purple"}]}]},{"title":"January 2024","items":[{"title":"Updated currency localization for some regions","description":"Paddle Checkout now shows preferred local currencies in some regions, instead of US Dollars. Existing subscriptions are not impacted.","date":"2024/01/24","link":"/changelog/2024/presented-currency-changes","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Checkout","variation":"dark-blue"},{"name":"Platform","variation":"default-green"}]},{"title":"New payment method ID field for transaction payments","description":"More easily work with payment methods against a transaction payment attempt using the new `payment_method_id` field. `stored_payment_method_id` is now considered deprecated.","date":"2024/01/18","link":"/changelog/2024/payment-method-paddle-id","tags":[{"name":"API","variation":"default-blue"},{"name":"Transactions","variation":"light-green"}]},{"title":"Filter customers by email address","description":"Use the new `email` query parameter when listing customers to filter by email address.","date":"2024/01/15","link":"/changelog/2024/filter-customers-email","tags":[{"name":"API","variation":"default-blue"},{"name":"Customers","variation":"light-pink"}]},{"title":"Increase customer LTV and reduce churn using Term Optimization","description":"Term Optimization is now available for Paddle Billing! Intelligently identify customers on a monthly plan who are likely to upgrade to a plan with a longer term length.","date":"2023/01/12","link":"/changelog/2024/term-optimization-retain","tags":[{"name":"Platform","variation":"default-green"},{"name":"Retain","variation":"dark-green"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"PHP and Node.js SDKs now available","description":"Use our PHP or Node.js SDKs to streamline integrating with Paddle Billing. Fully-featured from webhook verification to every API operation. Available now on GitHub.","date":"2024/01/11","link":"/changelog/2024/php-nodejs-sdks","tags":[{"name":"SDK","variation":"default-pink"}]}]},{"title":"December 2023","items":[{"title":"Restrict payment methods at checkout","description":"Pass a new `allowedPaymentMethods` parameter when opening a checkout using Paddle.js to choose which payment methods are presented to customers.","date":"2023/12/21","link":"/changelog/2023/preselect-payment-methods-checkout","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Platform","variation":"default-green"}]},{"title":"Get available payment methods when previewing prices or transactions","description":"See which payment methods are valid for the prices and location passed to a price preview or a transaction preview using the new `available_payment_methods` field in the API.","date":"2023/12/21","link":"/changelog/2023/available-payment-methods","tags":[{"name":"API","variation":"default-blue"},{"name":"Transactions","variation":"light-green"}]},{"title":"Bill one-time non-catalog items to a subscription","description":"Bill a one-time item to a subscription without having to add it to your product catalog by passing price or product attributes.","date":"2023/12/20","link":"/changelog/2023/bill-custom-items-one-time-subscription-charge","tags":[{"name":"Platform","variation":"default-green"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Add non-catalog products and prices to a transaction","description":"Charge for an item without having to add it to your product catalog by passing price or product attributes when working with a transaction.","date":"2023/12/19","link":"/changelog/2023/add-custom-items-transaction","tags":[{"name":"Platform","variation":"default-green"},{"name":"Transactions","variation":"light-green"}]},{"title":"Apply updates to automatically-collected subscriptions when payment fails","description":"Upgrade a subscription, add items, bill for one-time changes, and change billing dates for a subscription even when payment fails by including the new `on_payment_failure` property when updating a subscription.","date":"2023/12/18","link":"/changelog/2023/payment-failure-behavior-update-subscription","tags":[{"name":"API","variation":"default-blue"},{"name":"Platform","variation":"default-green"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Create and download reports using the Paddle API","description":"Export data from your Paddle system using the API as well as the Paddle dashboard. Create reports using the `/reports` endpoint, then download them using `/reports/{report_id}/download-url` endpoint.","date":"2023/12/13","link":"/changelog/2023/reporting-operations","tags":[{"name":"API","variation":"default-blue"},{"name":"Reporting","variation":"dark-gray"}]},{"title":"See how entities were imported","description":"Get information about how an entity was imported with the new `import_meta` object against products, prices, discounts, customers, addresses, businesses, and subscriptions.","date":"2023/12/12","link":"/changelog/2023/import-information-entities","tags":[{"name":"Platform","variation":"default-green"},{"name":"Import","variation":"dark-orange"}]},{"title":"Generate transaction and adjustment line item reports","description":"Export information about transaction line items and adjustment line items as a spreadsheet to better understand your data and reconcile account activity.","date":"2023/12/11","link":"/changelog/2023/line-item-reports","tags":[{"name":"API","variation":"default-blue"},{"name":"Platform","variation":"default-green"},{"name":"Reporting","variation":"dark-gray"}]},{"title":"Simulate Paddle Retain interventions using Paddle.js","description":"Check you've installed Paddle.js with Retain correctly and see for yourself what Retain looks like using the new `Paddle.Retain.demo()` method.","date":"2023/12/05","link":"/changelog/2023/demo-paddle-retain-method","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Retain","variation":"dark-green"}]},{"title":"Prefill business names at checkout without passing an address","description":"`customer.business.name` no longer requires `customer.address`, so you can prefill a business name at checkout even if you haven't captured address information yet.","date":"2023/12/01","link":"/changelog/2023/prefill-business-name-checkout","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Checkout","variation":"dark-blue"}]}]},{"title":"November 2023","items":[{"title":"Filter transactions by how they were created","description":"Use the new `origin` query parameter when listing transactions to filter by how they were created.","date":"2023/11/30","link":"/changelog/2023/filter-transactions-origin","tags":[{"name":"API","variation":"default-blue"},{"name":"Transactions","variation":"light-green"}]},{"title":"Turkish locale support for Paddle Checkout and subscription emails","description":"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.","date":"2023/11/28","link":"/changelog/2023/turkish-locale","tags":[{"name":"Platform","variation":"default-green"},{"name":"Email","variation":"dark-orange"},{"name":"Checkout","variation":"dark-blue"}]},{"title":"Emails sent from sandbox include a prefix in the subject","description":"More easily distinguish emails sent from your sandbox account and your live account. Sandbox emails now include a `[TEST]` prefix in the subject.","date":"2023/11/23","link":"/changelog/2023/prefix-sandbox-emails","tags":[{"name":"Platform","variation":"default-green"},{"name":"Checkout","variation":"dark-blue"},{"name":"Email","variation":"dark-orange"}]},{"title":"Build personalized offboarding experiences that retain customers using Cancellation Flows","description":"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.","date":"2023/11/22","link":"/changelog/2023/cancellation-flows-retain","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Retain","variation":"dark-green"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Add customer-facing names to prices for checkouts and invoices","description":"Set names for prices and show them on checkouts, invoices, and emails from Paddle using the new `name` field against price entities.","date":"2023/11/14","link":"/changelog/2023/price-name-description","tags":[{"name":"API","variation":"default-blue"},{"name":"Email","variation":"dark-orange"},{"name":"Checkout","variation":"dark-blue"}]},{"title":"Store your own custom data against discounts","description":"Include an object of `custom_data` with requests when creating or updating discounts to store your own arbitrary key-value data.","date":"2023/11/08","link":"/changelog/2023/custom-data-discounts","tags":[{"name":"API","variation":"default-blue"},{"name":"Catalog","variation":"light-blue"}]},{"title":"Updated emails for new zero value subscriptions","description":"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.","date":"2023/11/03","link":"/changelog/2023/zero-dollar-subscription-emails","tags":[{"name":"Platform","variation":"default-green"},{"name":"Subscriptions","variation":"light-purple"},{"name":"Email","variation":"dark-orange"}]}]},{"title":"October 2023","items":[{"title":"Build pricing pages with Paddle.js","description":"Use the `Paddle.PricePreview()` method in Paddle.js to build pricing pages without making server-side calls to the Paddle API.","date":"2023/10/28","link":"/changelog/2023/paddle-js-pricing-pages","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Catalog","variation":"light-blue"}]},{"title":"Authenticate using client-side tokens","description":"Pass a client-side token to `Paddle.Initialize()` to authenticate with Paddle.js. There's no need to pass your seller ID anymore.","date":"2023/10/27","link":"/changelog/2023/client-side-tokens","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Checkout","variation":"dark-blue"},{"name":"Platform","variation":"default-green"}]},{"title":"Get the cardholder name used for transaction payments","description":"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.","date":"2023/10/24","link":"/changelog/2023/cardholder-name-transaction-payments","tags":[{"name":"API","variation":"default-blue"},{"name":"Transactions","variation":"light-green"}]},{"title":"See subscriptions that are scheduled to pause, cancel, or resume","description":"Filter to see subscriptions with a scheduled change to pause, cancel, or resume using the `scheduled_change_action` query parameter.","date":"2023/10/13","link":"/changelog/2023/filter-subscriptions-scheduled-change","tags":[{"name":"API","variation":"default-blue"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Set the webpage for payment links against a transaction","description":"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.","date":"2023/10/06","link":"/changelog/2023/checkout-domains","tags":[{"name":"API","variation":"default-blue"},{"name":"Transactions","variation":"light-green"}]},{"title":"Filter subscriptions by ID when listing","description":"Pass a list of subscription IDs when listing subscriptions using the `id` query parameter to return subscriptions that match.","date":"2023/10/06","link":"/changelog/2023/filter-subscriptions-id","tags":[{"name":"API","variation":"default-blue"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Pause or cancel a subscription immediately","description":"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.","date":"2023/10/05","link":"/changelog/2023/pause-cancel-subscription-immediately","tags":[{"name":"Platform","variation":"default-green"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Hide the option to add tax and business information at checkout","description":"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.","date":"2023/10/04","link":"/changelog/2023/hide-tax-number-option-paddlejs","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Checkout","variation":"dark-blue"},{"name":"Customers","variation":"light-pink"}]},{"title":"Filter to see single purchase transactions","description":"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.","date":"2023/10/03","link":"/changelog/2023/filter-single-purchase-transactions","tags":[{"name":"API","variation":"default-blue"},{"name":"Transactions","variation":"light-green"}]},{"title":"Filter subscriptions by collection mode","description":"List only automatically-collected or manually-collected subscriptions using the new `collection_mode` query parameter.","date":"2023/10/03","link":"/changelog/2023/filter-subscription-collection-mode","tags":[{"name":"API","variation":"default-blue"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Load Paddle.js as a module","description":"Load Paddle.js as a module and use TypeScript definitions when working with its methods.","date":"2023/10/02","link":"/changelog/2023/paddlejs-es-module-typescript-wrapper","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"SDK","variation":"default-pink"}]}]},{"title":"September 2023","items":[{"title":"Update an open checkout using Paddle.js","description":"Pass items, discount, and customer information to the new `Paddle.Checkout.updateCheckout()` method to update an open checkout.","date":"2023/09/29","link":"/changelog/2023/update-checkout-method-paddlejs","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Checkout","variation":"dark-blue"}]},{"title":"Hide the option to add a discount at checkout","description":"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.","date":"2023/09/28","link":"/changelog/2023/hide-discount-option-paddlejs","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Catalog","variation":"light-blue"},{"name":"Checkout","variation":"dark-blue"}]},{"title":"Let customers pay for subscriptions using Apple Pay and Google Pay","description":"Turn on Apple Pay and Google Pay as payment options for subscriptions, 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.","date":"2023/09/28","link":"/changelog/2023/recurring-apple-pay-google-pay","tags":[{"name":"Platform","variation":"default-green"},{"name":"Subscriptions","variation":"light-purple"},{"name":"Transactions","variation":"light-green"},{"name":"Checkout","variation":"dark-blue"}]},{"title":"Listen for checkout warnings from Paddle.js","description":"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.","date":"2023/09/27","link":"/changelog/2023/checkout-warning-event-paddlejs","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Checkout","variation":"dark-blue"}]},{"title":"Charge customers in Colombian Peso","description":"Create prices, discounts, transactions, and subscriptions in Colombian Peso. `COP` is a new allowed value for `currency_code` for payments.","date":"2023/09/22","link":"/changelog/2023/colombian-peso-cop-supported-currency","tags":[{"name":"Platform","variation":"default-green"}]},{"title":"Store your own custom data against customers, addresses, and businesses","description":"Include an object of `custom_data` with requests when creating or updating customers, addresses, and businesses to store your own arbitrary key-value data.","date":"2023/09/21","link":"/changelog/2023/custom-data-customers-addresses-businesses","tags":[{"name":"API","variation":"default-blue"},{"name":"Customers","variation":"light-pink"}]},{"title":"Get essential fields for provisioning in transaction.completed events","description":"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.","date":"2023/09/20","link":"/changelog/2023/transaction-paid-event-status","tags":[{"name":"API","variation":"default-blue"},{"name":"Transactions","variation":"light-green"},{"name":"Notifications","variation":"light-orange"}]},{"title":"See how much credit a customer has available to use","description":"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.","date":"2023/09/15","link":"/changelog/2023/list-credit-balances","tags":[{"name":"API","variation":"default-blue"},{"name":"Adjustments","variation":"light-gray"},{"name":"Customers","variation":"light-pink"}]},{"title":"Activate a trialing subscription in one API call","description":"Send a request to the `/subscriptions/{subscription_id}/activate` endpoint to immediately activate a trialing subscription.","date":"2023/09/13","link":"/changelog/2023/activate-trialing-subscriptions","tags":[{"name":"API","variation":"default-blue"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Update trialing subscriptions","description":"Add or remove recurring items, change quantities, bill for one-time charges, and change the next billing date for subscriptions in trial.","date":"2023/09/13","link":"/changelog/2023/update-trialing-subscriptions","tags":[{"name":"Platform","variation":"default-green"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Subscribe to notifications for payouts","description":"Subscribe to notifications for payouts for Paddle to get notified when payouts are initiated (`payout.created`) and when they're paid (`payout.paid`.)","date":"2023/09/08","link":"/changelog/2023/webhooks-payouts","tags":[{"name":"API","variation":"default-blue"},{"name":"Notifications","variation":"light-orange"}]},{"title":"Subscribe to notifications for discounts","description":"Subscribe to notifications for discount events to get notified when discounts are created (`discount.created`) and when they're updated (`discount.updated`.)","date":"2023/09/08","link":"/changelog/2023/webhooks-discounts","tags":[{"name":"API","variation":"default-blue"},{"name":"Notifications","variation":"light-orange"}]}]},{"title":"August 2023","items":[{"title":"Understand the impact of a subscription change when previewing","description":"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.","date":"2023/08/22","link":"/changelog/2023/preview-subscription-update-summary","tags":[{"name":"API","variation":"default-blue"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Paddle Billing launch","description":"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.","date":"2023/08/09","link":"/changelog/2023/enable-paddle-billing","tags":[{"name":"Platform","variation":"default-green"}]}]},{"title":"July 2023","items":[{"title":"Preview charge totals before billing one-time charges to a subscription","description":"Present charge totals to a customer before billing a one-time charge to a subscription using the new `/subscriptions/{id}/charge/preview` endpoint.","date":"2023/07/20","link":"/changelog/2023/preview-subscription-one-time-charge","tags":[{"name":"API","variation":"default-blue"},{"name":"Subscriptions","variation":"light-purple"}]},{"title":"Build pricing pages using the price preview operation","description":"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.","date":"2023/07/18","link":"/changelog/2023/preview-prices","tags":[{"name":"API","variation":"default-blue"},{"name":"Catalog","variation":"light-blue"}]},{"title":"Identify transactions created for one-time charges easily","description":"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.","date":"2023/07/10","link":"/changelog/2023/subscription-charge-transaction-origin","tags":[{"name":"API","variation":"default-blue"},{"name":"Transactions","variation":"light-green"}]},{"title":"Store your own custom data against products and prices","description":"Include an object of `custom_data` with requests when creating or updating products and prices to store your own arbitrary key-value data.","date":"2023/07/06","link":"/changelog/2023/custom-data-products-prices","tags":[{"name":"API","variation":"default-blue"},{"name":"Catalog","variation":"light-blue"}]}]},{"title":"June 2023","items":[{"title":"Update a payment method using the API and Paddle.js","description":"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.","date":"2023/06/29","link":"/changelog/2023/payment-method-update-transaction","tags":[{"name":"API","variation":"default-blue"},{"name":"Subscriptions","variation":"light-purple"},{"name":"Transactions","variation":"light-green"}]},{"title":"Filter to see recurring and one-time prices","description":"Filter to see recurring or one-time prices when using the list prices operation with the `recurring` query parameter.","date":"2023/06/28","link":"/changelog/2023/recurring-prices-filter-parameter","tags":[{"name":"API","variation":"default-blue"},{"name":"Catalog","variation":"light-blue"}]},{"title":"See adjusted totals for transactions more easily","description":"See how transaction totals and payout totals look after adjustments using the `transaction.details.adjusted_totals` and `transaction.details.adjusted_payout_totals`.","date":"2023/06/23","link":"/changelog/2023/transaction-totals-adjusted-totals","tags":[{"name":"API","variation":"default-blue"},{"name":"Transactions","variation":"light-green"}]},{"title":"Include the total for all adjustments for a transaction","description":"Use the `adjustments_totals` include parameter to return a total for all the adjustments against a transaction, including a breakdown by adjustment action.","date":"2023/06/23","link":"/changelog/2023/transaction-adjustment-totals-include","tags":[{"name":"API","variation":"default-blue"},{"name":"Transactions","variation":"light-green"},{"name":"Adjustments","variation":"light-gray"}]},{"title":"Replay notifications","description":"Resend a notification that's `delivered` or `failed` using the new `/notifications/{notification_id}/replay` endpoint.","date":"2023/06/20","link":"/changelog/2023/replay-notification","tags":[{"name":"API","variation":"default-blue"},{"name":"Notifications","variation":"light-orange"}]},{"title":"Get all notifications for a customer, subscription, or transaction","description":"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.","date":"2023/06/15","link":"/changelog/2023/notification-filter-parameters","tags":[{"name":"API","variation":"default-blue"},{"name":"Notifications","variation":"light-orange"}]},{"title":"Pass a discount code to Paddle.js","description":"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.","date":"2023/06/13","link":"/changelog/2023/pass-discount-code-paddlejs","tags":[{"name":"Paddle.js","variation":"default-purple"},{"name":"Catalog","variation":"light-blue"},{"name":"Checkout","variation":"dark-blue"}]},{"title":"See the amount before payments for a transaction","description":"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.","date":"2023/06/05","link":"/changelog/2023/transaction-totals-grand-total","tags":[{"name":"API","variation":"default-blue"},{"name":"Transactions","variation":"light-green"}]}]}],"featured":[{"title":"Create a billing-ready Next.js SaaS application in minutes","description":"Use our starter kit to build a Next.js app with Paddle Billing. Deploy to Vercel in a couple of clicks.","link":"/changelog/2024/nextjs-supabase-vercel-starter-kit","image":"/assets/images/featured/vercel-template.svg","imageAltText":"Paddle logo and Vercel logo in a box, with a x in between them to indicate a collaboration.","tags":[]},{"title":"Simulate webhooks for events or complex scenarios","description":"Make testing and integration easier by simulating webhooks for single events or predefined scenarios.","link":"/changelog/2024/webhook-simulator","image":"/assets/images/featured/webhook-simulator.svg","imageAltText":"Illustration of the webhook simulator screen in the Paddle dashboard. It shows a subscription_created scenario, with two webhooks delivered and one failed.","tags":[]},{"title":"Quickly add billing workflows using the customer portal","description":"Link to the customer portal to let customers manage their own subscriptions and payments.","link":"/changelog/2024/customer-portal","image":"/assets/images/featured/customer-portal-cards.svg","imageAltText":"Illustration of a customer portal. It shows a nav bar with nav items simplified, then a list of cards. There's one card visible, a Visa ending 4242.","tags":[]}],"tocItems":[],"pageMeta":{"type":"changelog-overview","breadcrumbs":[]}}},"__N_SSG":true},"page":"/changelog/overview","query":{},"buildId":"twbUoq13ec4Iiiuu8on5_","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10