[{"data":1,"prerenderedAt":1198},["ShallowReactive",2],{"navigation_docs":3,"-packages-javascript-oneoffproducts":465,"-packages-javascript-oneoffproducts-surround":1193},[4,8,62,115,450],{"title":5,"path":6,"stem":7},"Introduction","\u002Fintroduction","0.introduction",{"title":9,"path":10,"stem":11,"children":12,"page":61},"Guides","\u002Fguides","1.guides",[13,17,21,25,29,33,37,41,45,49,53,57],{"title":14,"path":15,"stem":16},"Quickstart","\u002Fguides\u002Fquickstart","1.guides\u002F1.quickstart",{"title":18,"path":19,"stem":20},"Payouts & Settlement","\u002Fguides\u002Fpayouts","1.guides\u002F10.payouts",{"title":22,"path":23,"stem":24},"Customer Emails","\u002Fguides\u002Fcustomer-emails","1.guides\u002F11.customer-emails",{"title":26,"path":27,"stem":28},"Build your own integration","\u002Fguides\u002Fbuild-your-own-integration","1.guides\u002F2.build-your-own-integration",{"title":30,"path":31,"stem":32},"Selling Workflow","\u002Fguides\u002Fselling-workflow","1.guides\u002F2.selling-workflow",{"title":34,"path":35,"stem":36},"Vatly SDKs","\u002Fguides\u002Fsdks","1.guides\u002F3.sdks",{"title":38,"path":39,"stem":40},"Authentication","\u002Fguides\u002Fauthentication","1.guides\u002F4.authentication",{"title":42,"path":43,"stem":44},"Pagination","\u002Fguides\u002Fpagination","1.guides\u002F5.pagination",{"title":46,"path":47,"stem":48},"Errors","\u002Fguides\u002Ferrors","1.guides\u002F6.errors",{"title":50,"path":51,"stem":52},"Webhooks","\u002Fguides\u002Fwebhooks","1.guides\u002F7.webhooks",{"title":54,"path":55,"stem":56},"Idempotency","\u002Fguides\u002Fidempotency","1.guides\u002F8.idempotency",{"title":58,"path":59,"stem":60},"Testing","\u002Fguides\u002Ftesting","1.guides\u002F9.testing",false,{"title":63,"path":64,"stem":65,"children":66,"page":61},"Api Reference","\u002Fapi-reference","2.api-reference",[67,71,75,79,83,87,91,95,99,103,107,111],{"title":68,"path":69,"stem":70},"Customers","\u002Fapi-reference\u002Fcustomers","2.api-reference\u002F1.customers",{"title":72,"path":73,"stem":74},"Webhook Endpoints","\u002Fapi-reference\u002Fwebhook-endpoints","2.api-reference\u002F10.webhook-endpoints",{"title":76,"path":77,"stem":78},"Test helpers","\u002Fapi-reference\u002Ftest-helpers","2.api-reference\u002F11.test-helpers",{"title":80,"path":81,"stem":82},"Checkouts","\u002Fapi-reference\u002Fcheckouts","2.api-reference\u002F2.checkouts",{"title":84,"path":85,"stem":86},"One-off Products","\u002Fapi-reference\u002Fone-off-products","2.api-reference\u002F3.one-off-products",{"title":88,"path":89,"stem":90},"Subscriptions","\u002Fapi-reference\u002Fsubscriptions","2.api-reference\u002F4.subscriptions",{"title":92,"path":93,"stem":94},"Subscription Plans","\u002Fapi-reference\u002Fsubscription-plans","2.api-reference\u002F5.subscription-plans",{"title":96,"path":97,"stem":98},"Orders","\u002Fapi-reference\u002Forders","2.api-reference\u002F6.orders",{"title":100,"path":101,"stem":102},"Order Refunds","\u002Fapi-reference\u002Frefunds","2.api-reference\u002F7.refunds",{"title":104,"path":105,"stem":106},"Refunds","\u002Fapi-reference\u002Fglobal-refunds","2.api-reference\u002F8.global-refunds",{"title":108,"path":109,"stem":110},"Chargebacks","\u002Fapi-reference\u002Fchargebacks","2.api-reference\u002F9.chargebacks",{"title":112,"path":113,"stem":114},"Webhook Events","\u002Fapi-reference\u002Fwebhook-events","2.api-reference\u002F99.webhook-events",{"title":116,"path":117,"stem":118,"children":119},"Packages","\u002Fpackages","3.packages",[120,122,164,210,244,283,318,366,408],{"title":116,"path":117,"stem":121},"3.packages\u002Findex",{"title":123,"path":124,"stem":125,"children":126,"page":61},"PHP SDK","\u002Fpackages\u002Fphp","3.packages\u002F1.php",[127,131,134,137,140,144,147,151,154,157,160],{"title":128,"path":129,"stem":130},"Getting started","\u002Fpackages\u002Fphp\u002Freadme","3.packages\u002F1.php\u002F00.readme",{"title":68,"path":132,"stem":133},"\u002Fpackages\u002Fphp\u002Fcustomers","3.packages\u002F1.php\u002F02.customers",{"title":80,"path":135,"stem":136},"\u002Fpackages\u002Fphp\u002Fcheckouts","3.packages\u002F1.php\u002F03.checkouts",{"title":88,"path":138,"stem":139},"\u002Fpackages\u002Fphp\u002Fsubscriptions","3.packages\u002F1.php\u002F04.subscriptions",{"title":141,"path":142,"stem":143},"Subscription plans","\u002Fpackages\u002Fphp\u002Fsubscriptionplans","3.packages\u002F1.php\u002F05.subscriptionplans",{"title":96,"path":145,"stem":146},"\u002Fpackages\u002Fphp\u002Forders","3.packages\u002F1.php\u002F06.orders",{"title":148,"path":149,"stem":150},"One-off products","\u002Fpackages\u002Fphp\u002Foneoffproducts","3.packages\u002F1.php\u002F07.oneoffproducts",{"title":104,"path":152,"stem":153},"\u002Fpackages\u002Fphp\u002Frefunds","3.packages\u002F1.php\u002F08.refunds",{"title":108,"path":155,"stem":156},"\u002Fpackages\u002Fphp\u002Fchargebacks","3.packages\u002F1.php\u002F09.chargebacks",{"title":50,"path":158,"stem":159},"\u002Fpackages\u002Fphp\u002Fwebhooks","3.packages\u002F1.php\u002F10.webhooks",{"title":161,"path":162,"stem":163},"Webhook URLs","\u002Fpackages\u002Fphp\u002Fwebhookendpoints","3.packages\u002F1.php\u002F11.webhookendpoints",{"title":165,"path":166,"stem":167,"children":168,"page":61},"PHP Fluent","\u002Fpackages\u002Ffluent-php","3.packages\u002F2.fluent-php",[169,172,176,180,183,186,189,192,196,199,203,207],{"title":128,"path":170,"stem":171},"\u002Fpackages\u002Ffluent-php\u002Freadme","3.packages\u002F2.fluent-php\u002F00.readme",{"title":173,"path":174,"stem":175},"Configuration","\u002Fpackages\u002Ffluent-php\u002Fconfiguration","3.packages\u002F2.fluent-php\u002F01.configuration",{"title":177,"path":178,"stem":179},"Core concepts","\u002Fpackages\u002Ffluent-php\u002Fcoreconcepts","3.packages\u002F2.fluent-php\u002F02.coreconcepts",{"title":68,"path":181,"stem":182},"\u002Fpackages\u002Ffluent-php\u002Fcustomers","3.packages\u002F2.fluent-php\u002F03.customers",{"title":80,"path":184,"stem":185},"\u002Fpackages\u002Ffluent-php\u002Fcheckouts","3.packages\u002F2.fluent-php\u002F04.checkouts",{"title":88,"path":187,"stem":188},"\u002Fpackages\u002Ffluent-php\u002Fsubscriptions","3.packages\u002F2.fluent-php\u002F05.subscriptions",{"title":96,"path":190,"stem":191},"\u002Fpackages\u002Ffluent-php\u002Forders","3.packages\u002F2.fluent-php\u002F06.orders",{"title":193,"path":194,"stem":195},"Customer portal","\u002Fpackages\u002Ffluent-php\u002Fcustomerportal","3.packages\u002F2.fluent-php\u002F07.customerportal",{"title":50,"path":197,"stem":198},"\u002Fpackages\u002Ffluent-php\u002Fwebhooks","3.packages\u002F2.fluent-php\u002F08.webhooks",{"title":200,"path":201,"stem":202},"Webhook event flow","\u002Fpackages\u002Ffluent-php\u002Fwebhook-flow","3.packages\u002F2.fluent-php\u002F09.webhook-flow",{"title":204,"path":205,"stem":206},"Existing tables","\u002Fpackages\u002Ffluent-php\u002Fhost-owns-its-tables","3.packages\u002F2.fluent-php\u002F10.host-owns-its-tables",{"title":58,"path":208,"stem":209},"\u002Fpackages\u002Ffluent-php\u002Ftesting","3.packages\u002F2.fluent-php\u002F11.testing",{"title":211,"path":212,"stem":213,"children":214,"page":61},"Laravel","\u002Fpackages\u002Flaravel","3.packages\u002F3.laravel",[215,218,221,224,227,230,233,236,240],{"title":128,"path":216,"stem":217},"\u002Fpackages\u002Flaravel\u002Freadme","3.packages\u002F3.laravel\u002F00.readme",{"title":173,"path":219,"stem":220},"\u002Fpackages\u002Flaravel\u002Fconfiguration","3.packages\u002F3.laravel\u002F01.configuration",{"title":68,"path":222,"stem":223},"\u002Fpackages\u002Flaravel\u002Fcustomers","3.packages\u002F3.laravel\u002F02.customers",{"title":80,"path":225,"stem":226},"\u002Fpackages\u002Flaravel\u002Fcheckouts","3.packages\u002F3.laravel\u002F03.checkouts",{"title":88,"path":228,"stem":229},"\u002Fpackages\u002Flaravel\u002Fsubscriptions","3.packages\u002F3.laravel\u002F04.subscriptions",{"title":96,"path":231,"stem":232},"\u002Fpackages\u002Flaravel\u002Forders","3.packages\u002F3.laravel\u002F05.orders",{"title":50,"path":234,"stem":235},"\u002Fpackages\u002Flaravel\u002Fwebhooks","3.packages\u002F3.laravel\u002F06.webhooks",{"title":237,"path":238,"stem":239},"Comparison","\u002Fpackages\u002Flaravel\u002Fcomparison","3.packages\u002F3.laravel\u002F07.comparison",{"title":241,"path":242,"stem":243},"Migrating from Cashier","\u002Fpackages\u002Flaravel\u002Fmigrating-to-vatly","3.packages\u002F3.laravel\u002F08.migrating-to-vatly",{"title":245,"path":246,"stem":247,"children":248,"page":61},"JavaScript SDK","\u002Fpackages\u002Fjavascript","3.packages\u002F4.javascript",[249,252,255,258,261,264,267,270,273,276,279],{"title":128,"path":250,"stem":251},"\u002Fpackages\u002Fjavascript\u002Freadme","3.packages\u002F4.javascript\u002F00.readme",{"title":68,"path":253,"stem":254},"\u002Fpackages\u002Fjavascript\u002Fcustomers","3.packages\u002F4.javascript\u002F02.customers",{"title":80,"path":256,"stem":257},"\u002Fpackages\u002Fjavascript\u002Fcheckouts","3.packages\u002F4.javascript\u002F03.checkouts",{"title":88,"path":259,"stem":260},"\u002Fpackages\u002Fjavascript\u002Fsubscriptions","3.packages\u002F4.javascript\u002F04.subscriptions",{"title":141,"path":262,"stem":263},"\u002Fpackages\u002Fjavascript\u002Fsubscriptionplans","3.packages\u002F4.javascript\u002F05.subscriptionplans",{"title":96,"path":265,"stem":266},"\u002Fpackages\u002Fjavascript\u002Forders","3.packages\u002F4.javascript\u002F06.orders",{"title":148,"path":268,"stem":269},"\u002Fpackages\u002Fjavascript\u002Foneoffproducts","3.packages\u002F4.javascript\u002F07.oneoffproducts",{"title":104,"path":271,"stem":272},"\u002Fpackages\u002Fjavascript\u002Frefunds","3.packages\u002F4.javascript\u002F08.refunds",{"title":108,"path":274,"stem":275},"\u002Fpackages\u002Fjavascript\u002Fchargebacks","3.packages\u002F4.javascript\u002F09.chargebacks",{"title":50,"path":277,"stem":278},"\u002Fpackages\u002Fjavascript\u002Fwebhooks","3.packages\u002F4.javascript\u002F10.webhooks",{"title":280,"path":281,"stem":282},"API reference","\u002Fpackages\u002Fjavascript\u002Fapi","3.packages\u002F4.javascript\u002F12.api",{"title":284,"path":285,"stem":286,"children":287,"page":61},"JavaScript Fluent","\u002Fpackages\u002Ffluent-js","3.packages\u002F5.fluent-js",[288,291,294,297,300,303,306,309,312,315],{"title":128,"path":289,"stem":290},"\u002Fpackages\u002Ffluent-js\u002Freadme","3.packages\u002F5.fluent-js\u002F00.readme",{"title":173,"path":292,"stem":293},"\u002Fpackages\u002Ffluent-js\u002Fconfiguration","3.packages\u002F5.fluent-js\u002F01.configuration",{"title":177,"path":295,"stem":296},"\u002Fpackages\u002Ffluent-js\u002Fcoreconcepts","3.packages\u002F5.fluent-js\u002F02.coreconcepts",{"title":68,"path":298,"stem":299},"\u002Fpackages\u002Ffluent-js\u002Fcustomers","3.packages\u002F5.fluent-js\u002F03.customers",{"title":80,"path":301,"stem":302},"\u002Fpackages\u002Ffluent-js\u002Fcheckouts","3.packages\u002F5.fluent-js\u002F04.checkouts",{"title":88,"path":304,"stem":305},"\u002Fpackages\u002Ffluent-js\u002Fsubscriptions","3.packages\u002F5.fluent-js\u002F05.subscriptions",{"title":96,"path":307,"stem":308},"\u002Fpackages\u002Ffluent-js\u002Forders","3.packages\u002F5.fluent-js\u002F06.orders",{"title":193,"path":310,"stem":311},"\u002Fpackages\u002Ffluent-js\u002Fcustomerportal","3.packages\u002F5.fluent-js\u002F07.customerportal",{"title":50,"path":313,"stem":314},"\u002Fpackages\u002Ffluent-js\u002Fwebhooks","3.packages\u002F5.fluent-js\u002F08.webhooks",{"title":58,"path":316,"stem":317},"\u002Fpackages\u002Ffluent-js\u002Ftesting","3.packages\u002F5.fluent-js\u002F11.testing",{"title":319,"path":320,"stem":321,"children":322,"page":61},"Python SDK","\u002Fpackages\u002Fpython","3.packages\u002F6.python",[323,326,329,332,335,338,341,344,347,350,353,356,359,362],{"title":128,"path":324,"stem":325},"\u002Fpackages\u002Fpython\u002Freadme","3.packages\u002F6.python\u002F00.readme",{"title":173,"path":327,"stem":328},"\u002Fpackages\u002Fpython\u002Fconfiguration","3.packages\u002F6.python\u002F01.configuration",{"title":68,"path":330,"stem":331},"\u002Fpackages\u002Fpython\u002Fcustomers","3.packages\u002F6.python\u002F02.customers",{"title":80,"path":333,"stem":334},"\u002Fpackages\u002Fpython\u002Fcheckouts","3.packages\u002F6.python\u002F03.checkouts",{"title":88,"path":336,"stem":337},"\u002Fpackages\u002Fpython\u002Fsubscriptions","3.packages\u002F6.python\u002F04.subscriptions",{"title":141,"path":339,"stem":340},"\u002Fpackages\u002Fpython\u002Fsubscriptionplans","3.packages\u002F6.python\u002F05.subscriptionplans",{"title":96,"path":342,"stem":343},"\u002Fpackages\u002Fpython\u002Forders","3.packages\u002F6.python\u002F06.orders",{"title":148,"path":345,"stem":346},"\u002Fpackages\u002Fpython\u002Foneoffproducts","3.packages\u002F6.python\u002F07.oneoffproducts",{"title":104,"path":348,"stem":349},"\u002Fpackages\u002Fpython\u002Frefunds","3.packages\u002F6.python\u002F08.refunds",{"title":108,"path":351,"stem":352},"\u002Fpackages\u002Fpython\u002Fchargebacks","3.packages\u002F6.python\u002F09.chargebacks",{"title":50,"path":354,"stem":355},"\u002Fpackages\u002Fpython\u002Fwebhooks","3.packages\u002F6.python\u002F10.webhooks",{"title":161,"path":357,"stem":358},"\u002Fpackages\u002Fpython\u002Fwebhookendpoints","3.packages\u002F6.python\u002F11.webhookendpoints",{"title":280,"path":360,"stem":361},"\u002Fpackages\u002Fpython\u002Fapi","3.packages\u002F6.python\u002F12.api",{"title":363,"path":364,"stem":365},"Development","\u002Fpackages\u002Fpython\u002Fdevelopment","3.packages\u002F6.python\u002F13.development",{"title":367,"path":368,"stem":369,"children":370,"page":61},"Python Fluent","\u002Fpackages\u002Ffluent-python","3.packages\u002F7.fluent-python",[371,374,377,380,383,386,389,392,395,398,401,405],{"title":128,"path":372,"stem":373},"\u002Fpackages\u002Ffluent-python\u002Freadme","3.packages\u002F7.fluent-python\u002F00.readme",{"title":173,"path":375,"stem":376},"\u002Fpackages\u002Ffluent-python\u002Fconfiguration","3.packages\u002F7.fluent-python\u002F01.configuration",{"title":177,"path":378,"stem":379},"\u002Fpackages\u002Ffluent-python\u002Fcoreconcepts","3.packages\u002F7.fluent-python\u002F02.coreconcepts",{"title":68,"path":381,"stem":382},"\u002Fpackages\u002Ffluent-python\u002Fcustomers","3.packages\u002F7.fluent-python\u002F03.customers",{"title":80,"path":384,"stem":385},"\u002Fpackages\u002Ffluent-python\u002Fcheckouts","3.packages\u002F7.fluent-python\u002F04.checkouts",{"title":88,"path":387,"stem":388},"\u002Fpackages\u002Ffluent-python\u002Fsubscriptions","3.packages\u002F7.fluent-python\u002F05.subscriptions",{"title":96,"path":390,"stem":391},"\u002Fpackages\u002Ffluent-python\u002Forders","3.packages\u002F7.fluent-python\u002F06.orders",{"title":193,"path":393,"stem":394},"\u002Fpackages\u002Ffluent-python\u002Fcustomerportal","3.packages\u002F7.fluent-python\u002F07.customerportal",{"title":50,"path":396,"stem":397},"\u002Fpackages\u002Ffluent-python\u002Fwebhooks","3.packages\u002F7.fluent-python\u002F08.webhooks",{"title":58,"path":399,"stem":400},"\u002Fpackages\u002Ffluent-python\u002Ftesting","3.packages\u002F7.fluent-python\u002F11.testing",{"title":402,"path":403,"stem":404},"Porting","\u002Fpackages\u002Ffluent-python\u002Fporting","3.packages\u002F7.fluent-python\u002F12.porting",{"title":363,"path":406,"stem":407},"\u002Fpackages\u002Ffluent-python\u002Fdevelopment","3.packages\u002F7.fluent-python\u002F13.development",{"title":409,"path":410,"stem":411,"children":412,"page":61},"Django","\u002Fpackages\u002Fdjango","3.packages\u002F8.django",[413,416,420,423,427,431,434,437,440,444,447],{"title":128,"path":414,"stem":415},"\u002Fpackages\u002Fdjango\u002Freadme","3.packages\u002F8.django\u002F00.readme",{"title":417,"path":418,"stem":419},"Installation","\u002Fpackages\u002Fdjango\u002Finstallation","3.packages\u002F8.django\u002F01.installation",{"title":173,"path":421,"stem":422},"\u002Fpackages\u002Fdjango\u002Fconfiguration","3.packages\u002F8.django\u002F02.configuration",{"title":424,"path":425,"stem":426},"Billable models","\u002Fpackages\u002Fdjango\u002Fbillablemodels","3.packages\u002F8.django\u002F03.billablemodels",{"title":428,"path":429,"stem":430},"Checkout","\u002Fpackages\u002Fdjango\u002Fcheckout","3.packages\u002F8.django\u002F04.checkout",{"title":88,"path":432,"stem":433},"\u002Fpackages\u002Fdjango\u002Fbilling","3.packages\u002F8.django\u002F05.billing",{"title":193,"path":435,"stem":436},"\u002Fpackages\u002Fdjango\u002Fcustomerportal","3.packages\u002F8.django\u002F06.customerportal",{"title":50,"path":438,"stem":439},"\u002Fpackages\u002Fdjango\u002Fwebhooks","3.packages\u002F8.django\u002F07.webhooks",{"title":441,"path":442,"stem":443},"Admin","\u002Fpackages\u002Fdjango\u002Fadmin","3.packages\u002F8.django\u002F08.admin",{"title":58,"path":445,"stem":446},"\u002Fpackages\u002Fdjango\u002Ftesting","3.packages\u002F8.django\u002F09.testing",{"title":363,"path":448,"stem":449},"\u002Fpackages\u002Fdjango\u002Fdevelopment","3.packages\u002F8.django\u002F10.development",{"title":451,"path":452,"stem":453,"children":454},"Integrations","\u002Fintegrations","4.integrations",[455,457,461],{"title":451,"path":452,"stem":456},"4.integrations\u002Findex",{"title":458,"path":459,"stem":460},"Lovable payments with Vatly","\u002Fintegrations\u002Flovable","4.integrations\u002F1.lovable",{"title":462,"path":463,"stem":464},"Bolt payments with Vatly","\u002Fintegrations\u002Fbolt","4.integrations\u002F2.bolt",{"id":466,"title":467,"body":468,"description":1186,"extension":1187,"links":1188,"meta":1189,"navigation":1190,"path":268,"seo":1191,"stem":269,"__hash__":1192},"docs\u002F3.packages\u002F4.javascript\u002F07.oneoffproducts.md","One-Off Products",{"type":469,"value":470,"toc":1180},"minimark",[471,475,492,497,662,666,671,733,737,742,847,860,864,1149,1176],[472,473,474],"p",{},"One-off products are single-purchase items (no recurring billing). They can be\ncreated, updated, archived, and unarchived through the API.",[472,476,477,478,485,486,491],{},"For all fields and options, see the ",[479,480,484],"a",{"href":481,"rel":482},"https:\u002F\u002Fdocs.vatly.com\u002Fapi-reference\u002Fone-off-products",[483],"nofollow","One-off Products API reference",". The ",[479,487,490],{"href":488,"rel":489},"https:\u002F\u002Fdocs.vatly.com\u002Fopenapi.yaml",[483],"OpenAPI spec"," is also available for tooling.",[493,494,496],"h2",{"id":495},"the-one-off-product-resource","The One-Off Product resource",[498,499,500,516],"table",{},[501,502,503],"thead",{},[504,505,506,510,513],"tr",{},[507,508,509],"th",{},"Name",[507,511,512],{},"Type",[507,514,515],{},"Description",[517,518,519,540,558,572,587,605,633,647],"tbody",{},[504,520,521,528,533],{},[522,523,524],"td",{},[525,526,527],"code",{},"id",[522,529,530],{},[525,531,532],{},"string",[522,534,535,536,539],{},"Unique identifier (",[525,537,538],{},"one_off_product_…",").",[504,541,542,547,551],{},[522,543,544],{},[525,545,546],{},"resource",[522,548,549],{},[525,550,532],{},[522,552,553,554,557],{},"Always ",[525,555,556],{},"one_off_product",".",[504,559,560,565,569],{},[522,561,562],{},[525,563,564],{},"name",[522,566,567],{},[525,568,532],{},[522,570,571],{},"Display name.",[504,573,574,579,584],{},[522,575,576],{},[525,577,578],{},"description",[522,580,581],{},[525,582,583],{},"string | null",[522,585,586],{},"Optional description.",[504,588,589,594,599],{},[522,590,591],{},[525,592,593],{},"basePrice",[522,595,596],{},[525,597,598],{},"Money",[522,600,601,602,557],{},"Price, e.g. ",[525,603,604],{},"{ value: \"49.00\", currency: \"EUR\" }",[504,606,607,612,616],{},[522,608,609],{},[525,610,611],{},"status",[522,613,614],{},[525,615,532],{},[522,617,618,621,622,625,626,629,630,557],{},[525,619,620],{},"active",", ",[525,623,624],{},"pending",", or ",[525,627,628],{},"rejected",". Archive state is separate in ",[525,631,632],{},"archivedAt",[504,634,635,640,644],{},[522,636,637],{},[525,638,639],{},"createdAt",[522,641,642],{},[525,643,532],{},[522,645,646],{},"Creation timestamp (ISO 8601).",[504,648,649,654,659],{},[522,650,651],{},[525,652,653],{},"testmode",[522,655,656],{},[525,657,658],{},"boolean",[522,660,661],{},"Whether this is a test product.",[493,663,665],{"id":664},"retrieve-a-one-off-product","Retrieve a one-off product",[472,667,668],{},[525,669,670],{},"GET \u002Fv1\u002Fone-off-products\u002F{oneOffProductId}",[672,673,678],"pre",{"className":674,"code":675,"language":676,"meta":677,"style":677},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const product = await vatly.oneOffProducts.get(\"one_off_product_abc123\");\n","ts","",[525,679,680],{"__ignoreMap":677},[681,682,685,689,693,697,701,704,706,709,711,715,718,721,725,727,730],"span",{"class":683,"line":684},"line",1,[681,686,688],{"class":687},"spNyl","const",[681,690,692],{"class":691},"sTEyZ"," product ",[681,694,696],{"class":695},"sMK4o","=",[681,698,700],{"class":699},"s7zQu"," await",[681,702,703],{"class":691}," vatly",[681,705,557],{"class":695},[681,707,708],{"class":691},"oneOffProducts",[681,710,557],{"class":695},[681,712,714],{"class":713},"s2Zo4","get",[681,716,717],{"class":691},"(",[681,719,720],{"class":695},"\"",[681,722,724],{"class":723},"sfazB","one_off_product_abc123",[681,726,720],{"class":695},[681,728,729],{"class":691},")",[681,731,732],{"class":695},";\n",[493,734,736],{"id":735},"list-one-off-products","List one-off products",[472,738,739],{},[525,740,741],{},"GET \u002Fv1\u002Fone-off-products",[672,743,745],{"className":674,"code":744,"language":676,"meta":677,"style":677},"const page = await vatly.oneOffProducts.list({ limit: 25 });\n\nfor await (const product of vatly.oneOffProducts.listAll()) {\n  \u002F\u002F ...\n}\n",[525,746,747,792,799,834,841],{"__ignoreMap":677},[681,748,749,751,754,756,758,760,762,764,766,769,771,774,778,781,785,788,790],{"class":683,"line":684},[681,750,688],{"class":687},[681,752,753],{"class":691}," page ",[681,755,696],{"class":695},[681,757,700],{"class":699},[681,759,703],{"class":691},[681,761,557],{"class":695},[681,763,708],{"class":691},[681,765,557],{"class":695},[681,767,768],{"class":713},"list",[681,770,717],{"class":691},[681,772,773],{"class":695},"{",[681,775,777],{"class":776},"swJcz"," limit",[681,779,780],{"class":695},":",[681,782,784],{"class":783},"sbssI"," 25",[681,786,787],{"class":695}," }",[681,789,729],{"class":691},[681,791,732],{"class":695},[681,793,795],{"class":683,"line":794},2,[681,796,798],{"emptyLinePlaceholder":797},true,"\n",[681,800,802,805,807,810,812,814,817,819,821,823,825,828,831],{"class":683,"line":801},3,[681,803,804],{"class":699},"for",[681,806,700],{"class":699},[681,808,809],{"class":691}," (",[681,811,688],{"class":687},[681,813,692],{"class":691},[681,815,816],{"class":695},"of",[681,818,703],{"class":691},[681,820,557],{"class":695},[681,822,708],{"class":691},[681,824,557],{"class":695},[681,826,827],{"class":713},"listAll",[681,829,830],{"class":691},"()) ",[681,832,833],{"class":695},"{\n",[681,835,837],{"class":683,"line":836},4,[681,838,840],{"class":839},"sHwdD","  \u002F\u002F ...\n",[681,842,844],{"class":683,"line":843},5,[681,845,846],{"class":695},"}\n",[472,848,849,850,852,853,856,857,557],{},"To sell a one-off product, pass its ",[525,851,527],{}," in a ",[479,854,855],{"href":256},"checkout","'s ",[525,858,859],{},"products",[493,861,863],{"id":862},"create-update-and-archive","Create, update and archive",[672,865,867],{"className":674,"code":866,"language":676,"meta":677,"style":677},"const product = await vatly.oneOffProducts.create({\n  name: \"Premium License\", description: \"Lifetime access\", productType: \"saas\",\n  basePrice: { value: \"99.00\", currency: \"EUR\" }, taxBehavior: \"exclusive\",\n});\nawait vatly.oneOffProducts.update(product.id, { name: \"Premium License v2\" });\nawait vatly.oneOffProducts.archive(product.id); \u002F\u002F 204: no return value\nconst restored = await vatly.oneOffProducts.unarchive(product.id);\nconst all = await vatly.oneOffProducts.list({ includeArchived: true });\n",[525,868,869,894,941,994,1003,1048,1077,1108],{"__ignoreMap":677},[681,870,871,873,875,877,879,881,883,885,887,890,892],{"class":683,"line":684},[681,872,688],{"class":687},[681,874,692],{"class":691},[681,876,696],{"class":695},[681,878,700],{"class":699},[681,880,703],{"class":691},[681,882,557],{"class":695},[681,884,708],{"class":691},[681,886,557],{"class":695},[681,888,889],{"class":713},"create",[681,891,717],{"class":691},[681,893,833],{"class":695},[681,895,896,899,901,904,907,909,912,915,917,919,922,924,926,929,931,933,936,938],{"class":683,"line":794},[681,897,898],{"class":776},"  name",[681,900,780],{"class":695},[681,902,903],{"class":695}," \"",[681,905,906],{"class":723},"Premium License",[681,908,720],{"class":695},[681,910,911],{"class":695},",",[681,913,914],{"class":776}," description",[681,916,780],{"class":695},[681,918,903],{"class":695},[681,920,921],{"class":723},"Lifetime access",[681,923,720],{"class":695},[681,925,911],{"class":695},[681,927,928],{"class":776}," productType",[681,930,780],{"class":695},[681,932,903],{"class":695},[681,934,935],{"class":723},"saas",[681,937,720],{"class":695},[681,939,940],{"class":695},",\n",[681,942,943,946,948,951,954,956,958,961,963,965,968,970,972,975,977,980,983,985,987,990,992],{"class":683,"line":801},[681,944,945],{"class":776},"  basePrice",[681,947,780],{"class":695},[681,949,950],{"class":695}," {",[681,952,953],{"class":776}," value",[681,955,780],{"class":695},[681,957,903],{"class":695},[681,959,960],{"class":723},"99.00",[681,962,720],{"class":695},[681,964,911],{"class":695},[681,966,967],{"class":776}," currency",[681,969,780],{"class":695},[681,971,903],{"class":695},[681,973,974],{"class":723},"EUR",[681,976,720],{"class":695},[681,978,979],{"class":695}," },",[681,981,982],{"class":776}," taxBehavior",[681,984,780],{"class":695},[681,986,903],{"class":695},[681,988,989],{"class":723},"exclusive",[681,991,720],{"class":695},[681,993,940],{"class":695},[681,995,996,999,1001],{"class":683,"line":836},[681,997,998],{"class":695},"}",[681,1000,729],{"class":691},[681,1002,732],{"class":695},[681,1004,1005,1008,1010,1012,1014,1016,1019,1022,1024,1026,1028,1030,1033,1035,1037,1040,1042,1044,1046],{"class":683,"line":843},[681,1006,1007],{"class":699},"await",[681,1009,703],{"class":691},[681,1011,557],{"class":695},[681,1013,708],{"class":691},[681,1015,557],{"class":695},[681,1017,1018],{"class":713},"update",[681,1020,1021],{"class":691},"(product",[681,1023,557],{"class":695},[681,1025,527],{"class":691},[681,1027,911],{"class":695},[681,1029,950],{"class":695},[681,1031,1032],{"class":776}," name",[681,1034,780],{"class":695},[681,1036,903],{"class":695},[681,1038,1039],{"class":723},"Premium License v2",[681,1041,720],{"class":695},[681,1043,787],{"class":695},[681,1045,729],{"class":691},[681,1047,732],{"class":695},[681,1049,1051,1053,1055,1057,1059,1061,1064,1066,1068,1071,1074],{"class":683,"line":1050},6,[681,1052,1007],{"class":699},[681,1054,703],{"class":691},[681,1056,557],{"class":695},[681,1058,708],{"class":691},[681,1060,557],{"class":695},[681,1062,1063],{"class":713},"archive",[681,1065,1021],{"class":691},[681,1067,557],{"class":695},[681,1069,1070],{"class":691},"id)",[681,1072,1073],{"class":695},";",[681,1075,1076],{"class":839}," \u002F\u002F 204: no return value\n",[681,1078,1080,1082,1085,1087,1089,1091,1093,1095,1097,1100,1102,1104,1106],{"class":683,"line":1079},7,[681,1081,688],{"class":687},[681,1083,1084],{"class":691}," restored ",[681,1086,696],{"class":695},[681,1088,700],{"class":699},[681,1090,703],{"class":691},[681,1092,557],{"class":695},[681,1094,708],{"class":691},[681,1096,557],{"class":695},[681,1098,1099],{"class":713},"unarchive",[681,1101,1021],{"class":691},[681,1103,557],{"class":695},[681,1105,1070],{"class":691},[681,1107,732],{"class":695},[681,1109,1111,1113,1116,1118,1120,1122,1124,1126,1128,1130,1132,1134,1137,1139,1143,1145,1147],{"class":683,"line":1110},8,[681,1112,688],{"class":687},[681,1114,1115],{"class":691}," all ",[681,1117,696],{"class":695},[681,1119,700],{"class":699},[681,1121,703],{"class":691},[681,1123,557],{"class":695},[681,1125,708],{"class":691},[681,1127,557],{"class":695},[681,1129,768],{"class":713},[681,1131,717],{"class":691},[681,1133,773],{"class":695},[681,1135,1136],{"class":776}," includeArchived",[681,1138,780],{"class":695},[681,1140,1142],{"class":1141},"sfNiH"," true",[681,1144,787],{"class":695},[681,1146,729],{"class":691},[681,1148,732],{"class":695},[472,1150,1151,1154,1155,1157,1158,1161,1162,621,1164,1167,1168,1171,1172,1175],{},[525,1152,1153],{},"productType"," is ",[525,1156,935],{}," or ",[525,1159,1160],{},"ebook",". Creation and updates may require approval;\ninspect ",[525,1163,611],{},[525,1165,1166],{},"pendingUpdates",", and ",[525,1169,1170],{},"updateStatus"," rather than assuming the\nrequested values are already live. ",[525,1173,1174],{},"taxBehavior"," is immutable after creation.",[1177,1178,1179],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":677,"searchDepth":794,"depth":794,"links":1181},[1182,1183,1184,1185],{"id":495,"depth":794,"text":496},{"id":664,"depth":794,"text":665},{"id":735,"depth":794,"text":736},{"id":862,"depth":794,"text":863},"One-off products are single-purchase items (no recurring billing).","md",null,{},{"title":148},{"title":467,"description":1186},"aIfqUqf03s9977Z3gl6LJHUzHgreAExVSCCLbxd9_58",[1194,1196],{"title":96,"path":265,"stem":266,"description":1195,"children":-1},"Orders record checkout purchases and subscription renewals, including pending payments.",{"title":104,"path":271,"stem":272,"description":1197,"children":-1},"A refund returns funds to a customer for an order.",1794594929944]