[{"data":1,"prerenderedAt":1203},["ShallowReactive",2],{"navigation_docs":3,"-packages-python-checkouts":465,"-packages-python-checkouts-surround":1198},[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":80,"body":467,"description":1191,"extension":1192,"links":1193,"meta":1194,"navigation":1195,"path":333,"seo":1196,"stem":334,"__hash__":1197},"docs\u002F3.packages\u002F6.python\u002F03.checkouts.md",{"type":468,"value":469,"toc":1187},"minimark",[470,479,484,781,788,905,914,918,1101,1158,1170,1183],[471,472,473,474,478],"p",{},"Create a hosted payment page and redirect your buyer to it. A checkout can contain\none-off products, subscription plans, or both. Use IDs from your own product catalog.\nExamples accept the client from ",[475,476,477],"a",{"href":324},"setup",".",[480,481,483],"h2",{"id":482},"create-a-payment-page","Create a payment page",[485,486,491],"pre",{"className":487,"code":488,"language":489,"meta":490,"style":490},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","from vatly import RequestOptions, VatlyClient\nfrom vatly.models import CreateCheckoutRequest\n\n\ndef example(client: VatlyClient):\n    checkout = client.checkouts.create(\n        CreateCheckoutRequest(\n            products=[{\"id\": \"one_off_product_example\", \"quantity\": 1}],\n            redirect_url_success=\"https:\u002F\u002Fapp.example.com\u002Fbilling\u002Fsuccess\",\n            redirect_url_canceled=\"https:\u002F\u002Fapp.example.com\u002Fbilling\u002Fcanceled\",\n            customer_id=\"customer_example\",\n        ),\n        options=RequestOptions(idempotency_key=\"purchase:order-42\"),\n    )\n    return checkout.id, checkout.links.checkout_url.href\n","python","",[492,493,494,520,538,545,550,577,603,611,657,675,692,709,715,743,749],"code",{"__ignoreMap":490},[495,496,499,503,507,510,513,517],"span",{"class":497,"line":498},"line",1,[495,500,502],{"class":501},"s7zQu","from",[495,504,506],{"class":505},"sTEyZ"," vatly ",[495,508,509],{"class":501},"import",[495,511,512],{"class":505}," RequestOptions",[495,514,516],{"class":515},"sMK4o",",",[495,518,519],{"class":505}," VatlyClient\n",[495,521,523,525,528,530,533,535],{"class":497,"line":522},2,[495,524,502],{"class":501},[495,526,527],{"class":505}," vatly",[495,529,478],{"class":515},[495,531,532],{"class":505},"models ",[495,534,509],{"class":501},[495,536,537],{"class":505}," CreateCheckoutRequest\n",[495,539,541],{"class":497,"line":540},3,[495,542,544],{"emptyLinePlaceholder":543},true,"\n",[495,546,548],{"class":497,"line":547},4,[495,549,544],{"emptyLinePlaceholder":543},[495,551,553,557,561,564,568,571,574],{"class":497,"line":552},5,[495,554,556],{"class":555},"spNyl","def",[495,558,560],{"class":559},"s2Zo4"," example",[495,562,563],{"class":515},"(",[495,565,567],{"class":566},"sHdIc","client",[495,569,570],{"class":515},":",[495,572,573],{"class":505}," VatlyClient",[495,575,576],{"class":515},"):\n",[495,578,580,583,586,589,591,595,597,600],{"class":497,"line":579},6,[495,581,582],{"class":505},"    checkout ",[495,584,585],{"class":515},"=",[495,587,588],{"class":505}," client",[495,590,478],{"class":515},[495,592,594],{"class":593},"swJcz","checkouts",[495,596,478],{"class":515},[495,598,599],{"class":559},"create",[495,601,602],{"class":515},"(\n",[495,604,606,609],{"class":497,"line":605},7,[495,607,608],{"class":559},"        CreateCheckoutRequest",[495,610,602],{"class":515},[495,612,614,617,620,623,627,629,631,634,637,639,641,643,646,648,650,654],{"class":497,"line":613},8,[495,615,616],{"class":566},"            products",[495,618,619],{"class":515},"=[{",[495,621,622],{"class":515},"\"",[495,624,626],{"class":625},"sfazB","id",[495,628,622],{"class":515},[495,630,570],{"class":515},[495,632,633],{"class":515}," \"",[495,635,636],{"class":625},"one_off_product_example",[495,638,622],{"class":515},[495,640,516],{"class":515},[495,642,633],{"class":515},[495,644,645],{"class":625},"quantity",[495,647,622],{"class":515},[495,649,570],{"class":515},[495,651,653],{"class":652},"sbssI"," 1",[495,655,656],{"class":515},"}],\n",[495,658,660,663,665,667,670,672],{"class":497,"line":659},9,[495,661,662],{"class":566},"            redirect_url_success",[495,664,585],{"class":515},[495,666,622],{"class":515},[495,668,669],{"class":625},"https:\u002F\u002Fapp.example.com\u002Fbilling\u002Fsuccess",[495,671,622],{"class":515},[495,673,674],{"class":515},",\n",[495,676,678,681,683,685,688,690],{"class":497,"line":677},10,[495,679,680],{"class":566},"            redirect_url_canceled",[495,682,585],{"class":515},[495,684,622],{"class":515},[495,686,687],{"class":625},"https:\u002F\u002Fapp.example.com\u002Fbilling\u002Fcanceled",[495,689,622],{"class":515},[495,691,674],{"class":515},[495,693,695,698,700,702,705,707],{"class":497,"line":694},11,[495,696,697],{"class":566},"            customer_id",[495,699,585],{"class":515},[495,701,622],{"class":515},[495,703,704],{"class":625},"customer_example",[495,706,622],{"class":515},[495,708,674],{"class":515},[495,710,712],{"class":497,"line":711},12,[495,713,714],{"class":515},"        ),\n",[495,716,718,721,723,726,728,731,733,735,738,740],{"class":497,"line":717},13,[495,719,720],{"class":566},"        options",[495,722,585],{"class":515},[495,724,725],{"class":559},"RequestOptions",[495,727,563],{"class":515},[495,729,730],{"class":566},"idempotency_key",[495,732,585],{"class":515},[495,734,622],{"class":515},[495,736,737],{"class":625},"purchase:order-42",[495,739,622],{"class":515},[495,741,742],{"class":515},"),\n",[495,744,746],{"class":497,"line":745},14,[495,747,748],{"class":515},"    )\n",[495,750,752,755,758,760,762,764,766,768,771,773,776,778],{"class":497,"line":751},15,[495,753,754],{"class":501},"    return",[495,756,757],{"class":505}," checkout",[495,759,478],{"class":515},[495,761,626],{"class":593},[495,763,516],{"class":515},[495,765,757],{"class":505},[495,767,478],{"class":515},[495,769,770],{"class":593},"links",[495,772,478],{"class":515},[495,774,775],{"class":593},"checkout_url",[495,777,478],{"class":515},[495,779,780],{"class":593},"href\n",[471,782,783,784,787],{},"Persist the purchase key before calling Vatly and reuse it after a timeout. A new\nkey can create a second purchase. The raw SDK Checkout has no ",[492,785,786],{},"get_url()"," method;\nthat convenience belongs to Fluent.",[789,790,791,807],"table",{},[792,793,794],"thead",{},[795,796,797,801,804],"tr",{},[798,799,800],"th",{},"Input model field",[798,802,803],{},"Wire key",[798,805,806],{},"Required?",[808,809,810,835,850,864,879],"tbody",{},[795,811,812,818,822],{},[813,814,815],"td",{},[492,816,817],{},"products",[813,819,820],{},[492,821,817],{},[813,823,824,825,827,828,830,831,834],{},"Yes: items with ",[492,826,626],{},", positive ",[492,829,645],{},"; optional ",[492,832,833],{},"trialDays"," for plans",[795,836,837,842,847],{},[813,838,839],{},[492,840,841],{},"redirect_url_success",[813,843,844],{},[492,845,846],{},"redirectUrlSuccess",[813,848,849],{},"Yes",[795,851,852,857,862],{},[813,853,854],{},[492,855,856],{},"redirect_url_canceled",[813,858,859],{},[492,860,861],{},"redirectUrlCanceled",[813,863,849],{},[795,865,866,871,876],{},[813,867,868],{},[492,869,870],{},"customer_id",[813,872,873],{},[492,874,875],{},"customerId",[813,877,878],{},"No: an authorized existing customer",[795,880,881,893,902],{},[813,882,883,886,887,886,890],{},[492,884,885],{},"locale",", ",[492,888,889],{},"metadata",[492,891,892],{},"billing_address",[813,894,895,886,897,886,899],{},[492,896,885],{},[492,898,889],{},[492,900,901],{},"billingAddress",[813,903,904],{},"No",[471,906,907,908,910,911,913],{},"Pydantic inputs accept Python names. Dictionary inputs use wire keys, including\n",[492,909,833],{}," inside product dictionaries. Omit ",[492,912,870],{}," for a guest checkout.",[480,915,917],{"id":916},"read-a-checkout-or-traverse-pages","Read a checkout or traverse pages",[485,919,921],{"className":487,"code":920,"language":489,"meta":490,"style":490},"from vatly import VatlyClient\n\n\ndef example(client: VatlyClient):\n    checkout = client.checkouts.get(\"checkout_example\")\n    page = client.checkouts.list({\"limit\": 10})\n    ids = [item.id for item in client.checkouts.list_all({\"limit\": 25})]\n    return checkout.order_id, page.count, ids\n",[492,922,923,933,937,941,957,986,1022,1075],{"__ignoreMap":490},[495,924,925,927,929,931],{"class":497,"line":498},[495,926,502],{"class":501},[495,928,506],{"class":505},[495,930,509],{"class":501},[495,932,519],{"class":505},[495,934,935],{"class":497,"line":522},[495,936,544],{"emptyLinePlaceholder":543},[495,938,939],{"class":497,"line":540},[495,940,544],{"emptyLinePlaceholder":543},[495,942,943,945,947,949,951,953,955],{"class":497,"line":547},[495,944,556],{"class":555},[495,946,560],{"class":559},[495,948,563],{"class":515},[495,950,567],{"class":566},[495,952,570],{"class":515},[495,954,573],{"class":505},[495,956,576],{"class":515},[495,958,959,961,963,965,967,969,971,974,976,978,981,983],{"class":497,"line":552},[495,960,582],{"class":505},[495,962,585],{"class":515},[495,964,588],{"class":505},[495,966,478],{"class":515},[495,968,594],{"class":593},[495,970,478],{"class":515},[495,972,973],{"class":559},"get",[495,975,563],{"class":515},[495,977,622],{"class":515},[495,979,980],{"class":625},"checkout_example",[495,982,622],{"class":515},[495,984,985],{"class":515},")\n",[495,987,988,991,993,995,997,999,1001,1004,1007,1009,1012,1014,1016,1019],{"class":497,"line":579},[495,989,990],{"class":505},"    page ",[495,992,585],{"class":515},[495,994,588],{"class":505},[495,996,478],{"class":515},[495,998,594],{"class":593},[495,1000,478],{"class":515},[495,1002,1003],{"class":559},"list",[495,1005,1006],{"class":515},"({",[495,1008,622],{"class":515},[495,1010,1011],{"class":625},"limit",[495,1013,622],{"class":515},[495,1015,570],{"class":515},[495,1017,1018],{"class":652}," 10",[495,1020,1021],{"class":515},"})\n",[495,1023,1024,1027,1029,1032,1035,1037,1039,1042,1045,1048,1050,1052,1054,1056,1059,1061,1063,1065,1067,1069,1072],{"class":497,"line":605},[495,1025,1026],{"class":505},"    ids ",[495,1028,585],{"class":515},[495,1030,1031],{"class":515}," [",[495,1033,1034],{"class":505},"item",[495,1036,478],{"class":515},[495,1038,626],{"class":593},[495,1040,1041],{"class":501}," for",[495,1043,1044],{"class":505}," item ",[495,1046,1047],{"class":501},"in",[495,1049,588],{"class":505},[495,1051,478],{"class":515},[495,1053,594],{"class":593},[495,1055,478],{"class":515},[495,1057,1058],{"class":559},"list_all",[495,1060,1006],{"class":515},[495,1062,622],{"class":515},[495,1064,1011],{"class":625},[495,1066,622],{"class":515},[495,1068,570],{"class":515},[495,1070,1071],{"class":652}," 25",[495,1073,1074],{"class":515},"})]\n",[495,1076,1077,1079,1081,1083,1086,1088,1091,1093,1096,1098],{"class":497,"line":613},[495,1078,754],{"class":501},[495,1080,757],{"class":505},[495,1082,478],{"class":515},[495,1084,1085],{"class":593},"order_id",[495,1087,516],{"class":515},[495,1089,1090],{"class":505}," page",[495,1092,478],{"class":515},[495,1094,1095],{"class":593},"count",[495,1097,516],{"class":515},[495,1099,1100],{"class":505}," ids\n",[789,1102,1103,1113],{},[792,1104,1105],{},[795,1106,1107,1110],{},[798,1108,1109],{},"Response field",[798,1111,1112],{},"Meaning",[808,1114,1115,1130,1139,1148],{},[795,1116,1117,1127],{},[813,1118,1119,886,1121,886,1124],{},[492,1120,626],{},[492,1122,1123],{},"status",[492,1125,1126],{},"testmode",[813,1128,1129],{},"Identifier, payment state and mode",[795,1131,1132,1136],{},[813,1133,1134],{},[492,1135,870],{},[813,1137,1138],{},"Customer when assigned; may be None",[795,1140,1141,1145],{},[813,1142,1143],{},[492,1144,1085],{},[813,1146,1147],{},"Read this Order for purchased lines; may be None before payment",[795,1149,1150,1155],{},[813,1151,1152],{},[492,1153,1154],{},"links.checkout_url.href",[813,1156,1157],{},"Hosted checkout destination",[471,1159,1160,1161,1165,1166,1169],{},"The success redirect is ",[1162,1163,1164],"strong",{},"not payment confirmation",". Use ",[475,1167,1168],{"href":354},"signed webhooks","\nand your own ownership records. Checkout responses do not contain a products array.",[471,1171,1172,1178,1179],{},[475,1173,1177],{"href":1174,"rel":1175},"https:\u002F\u002Fdocs.vatly.com\u002Fapi-reference\u002Fcheckouts",[1176],"nofollow","Checkout API reference"," · ",[475,1180,1182],{"href":1181},"\u002Fpackages\u002Fpython\u002Fapi#checkouts","All methods",[1184,1185,1186],"style",{},"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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}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);}",{"title":490,"searchDepth":522,"depth":522,"links":1188},[1189,1190],{"id":482,"depth":522,"text":483},{"id":916,"depth":522,"text":917},"Create a hosted payment page and redirect your buyer to it.","md",null,{},{"title":80},{"title":80,"description":1191},"EFrgFfResNLAOijHyxYGR-IlqaUauOPs9zrJUqdLXg4",[1199,1201],{"title":68,"path":330,"stem":331,"description":1200,"children":-1},"Keep a Vatly customer ID alongside your own user or company.",{"title":88,"path":336,"stem":337,"description":1202,"children":-1},"A paid checkout containing a subscription plan starts recurring billing.",1794594931466]