[{"data":1,"prerenderedAt":1598},["ShallowReactive",2],{"navigation_docs":3,"-api-reference-test-helpers":178,"-api-reference-test-helpers-surround":1593},[4,8,50,102,174],{"title":5,"path":6,"stem":7},"Introduction","/introduction","0.introduction",{"title":9,"path":10,"stem":11,"children":12,"page":49},"Guides","/guides","1.guides",[13,17,21,25,29,33,37,41,45],{"title":14,"path":15,"stem":16},"Quickstart","/guides/quickstart","1.guides/1.quickstart",{"title":18,"path":19,"stem":20},"Selling Workflow","/guides/selling-workflow","1.guides/2.selling-workflow",{"title":22,"path":23,"stem":24},"Vatly SDKs","/guides/sdks","1.guides/3.sdks",{"title":26,"path":27,"stem":28},"Authentication","/guides/authentication","1.guides/4.authentication",{"title":30,"path":31,"stem":32},"Pagination","/guides/pagination","1.guides/5.pagination",{"title":34,"path":35,"stem":36},"Errors","/guides/errors","1.guides/6.errors",{"title":38,"path":39,"stem":40},"Webhooks","/guides/webhooks","1.guides/7.webhooks",{"title":42,"path":43,"stem":44},"Idempotency","/guides/idempotency","1.guides/8.idempotency",{"title":46,"path":47,"stem":48},"Testing","/guides/testing","1.guides/9.testing",false,{"title":51,"path":52,"stem":53,"children":54,"page":49},"Api Reference","/api-reference","2.api-reference",[55,59,63,67,71,75,79,83,87,91,95,99],{"title":56,"path":57,"stem":58},"Customers","/api-reference/customers","2.api-reference/1.customers",{"title":60,"path":61,"stem":62},"Webhook events","/api-reference/webhook-events","2.api-reference/10.webhook-events",{"title":64,"path":65,"stem":66},"Test helpers","/api-reference/test-helpers","2.api-reference/11.test-helpers",{"title":68,"path":69,"stem":70},"Checkouts","/api-reference/checkouts","2.api-reference/2.checkouts",{"title":72,"path":73,"stem":74},"One-off Products","/api-reference/one-off-products","2.api-reference/3.one-off-products",{"title":76,"path":77,"stem":78},"Subscriptions","/api-reference/subscriptions","2.api-reference/4.subscriptions",{"title":80,"path":81,"stem":82},"Subscription Plans","/api-reference/subscription-plans","2.api-reference/5.subscription-plans",{"title":84,"path":85,"stem":86},"Orders","/api-reference/orders","2.api-reference/6.orders",{"title":88,"path":89,"stem":90},"Order Refunds","/api-reference/refunds","2.api-reference/7.refunds",{"title":92,"path":93,"stem":94},"Refunds","/api-reference/global-refunds","2.api-reference/8.global-refunds",{"title":96,"path":97,"stem":98},"Chargebacks","/api-reference/chargebacks","2.api-reference/9.chargebacks",{"title":100,"path":61,"stem":101},"Webhook Events","2.api-reference/99.webhook-events",{"title":103,"path":104,"stem":105,"children":106},"Packages","/packages","3.packages",[107,110,147],{"title":108,"path":104,"stem":109},"","3.packages/index",{"title":111,"path":112,"stem":113,"children":114,"page":49},"Php","/packages/php","3.packages/1.php",[115,119,122,125,128,131,134,137,141,144],{"title":116,"path":117,"stem":118},"Getting Started","/packages/php/readme","3.packages/1.php/0.readme",{"title":56,"path":120,"stem":121},"/packages/php/customers","3.packages/1.php/1.customers",{"title":68,"path":123,"stem":124},"/packages/php/checkouts","3.packages/1.php/2.checkouts",{"title":76,"path":126,"stem":127},"/packages/php/subscriptions","3.packages/1.php/3.subscriptions",{"title":80,"path":129,"stem":130},"/packages/php/subscriptionplans","3.packages/1.php/4.subscriptionplans",{"title":84,"path":132,"stem":133},"/packages/php/orders","3.packages/1.php/5.orders",{"title":92,"path":135,"stem":136},"/packages/php/refunds","3.packages/1.php/6.refunds",{"title":138,"path":139,"stem":140},"One-Off Products","/packages/php/oneoffproducts","3.packages/1.php/7.oneoffproducts",{"title":96,"path":142,"stem":143},"/packages/php/chargebacks","3.packages/1.php/8.chargebacks",{"title":38,"path":145,"stem":146},"/packages/php/webhooks","3.packages/1.php/9.webhooks",{"title":148,"path":149,"stem":150,"children":151,"page":49},"Laravel","/packages/laravel","3.packages/2.laravel",[152,155,158,161,164,167,170],{"title":116,"path":153,"stem":154},"/packages/laravel/readme","3.packages/2.laravel/0.readme",{"title":56,"path":156,"stem":157},"/packages/laravel/customers","3.packages/2.laravel/1.customers",{"title":68,"path":159,"stem":160},"/packages/laravel/checkouts","3.packages/2.laravel/2.checkouts",{"title":76,"path":162,"stem":163},"/packages/laravel/subscriptions","3.packages/2.laravel/3.subscriptions",{"title":84,"path":165,"stem":166},"/packages/laravel/orders","3.packages/2.laravel/4.orders",{"title":38,"path":168,"stem":169},"/packages/laravel/webhooks","3.packages/2.laravel/5.webhooks",{"title":171,"path":172,"stem":173},"Configuration","/packages/laravel/configuration","3.packages/2.laravel/99.configuration",{"title":175,"path":176,"stem":177},"Integrations","/integrations","4.integrations",{"id":179,"title":64,"body":180,"description":1587,"extension":1588,"links":1589,"meta":1590,"navigation":359,"path":65,"seo":1591,"stem":66,"__hash__":1592},"docs/2.api-reference/11.test-helpers.md",{"type":181,"value":182,"toc":1577},"minimark",[183,188,192,201,204,208,213,216,219,232,1137,1141,1191,1193,1197,1202,1205,1207,1218,1222,1281,1533,1536,1573],[184,185,187],"h2",{"id":186},"test-helper-endpoints","Test helper endpoints",[189,190,191],"p",{},"Vatly provides a small set of test helper endpoints for recurring billing scenarios. These endpoints are only available in test mode.",[193,194,195,196,200],"warning",{},"Use a ",[197,198,199],"code",{},"test_"," API token for every endpoint on this page. Test helper endpoints are not available with live credentials.",[202,203],"hr",{},[184,205,207],{"id":206},"fast-forward-subscription-renewal","Fast-forward subscription renewal",[189,209,210],{},[197,211,212],{},"POST /v1/test-helpers/subscriptions/{subscriptionId}/fast-forward-renewal",[189,214,215],{},"Simulate a renewal cycle for an existing subscription.",[189,217,218],{},"Useful for:",[220,221,222,226,229],"ul",{},[223,224,225],"li",{},"testing renewal billing flows without waiting for the real billing interval",[223,227,228],{},"verifying subscription lifecycle events and webhook delivery",[223,230,231],{},"validating dunning or invoice follow-up automation in your sandbox flow",[233,234,235,283,397],"code-group",{},[236,237,242],"pre",{"className":238,"code":239,"filename":240,"language":241,"meta":108,"style":108},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https://api.vatly.com/v1/test-helpers/subscriptions/sub_abc123def456/fast-forward-renewal \\\n  -H \"Authorization: Bearer test_your_api_key_here\"\n","cURL","bash",[197,243,244,267],{"__ignoreMap":108},[245,246,249,253,257,260,263],"span",{"class":247,"line":248},"line",1,[245,250,252],{"class":251},"sBMFI","curl",[245,254,256],{"class":255},"sfazB"," -X",[245,258,259],{"class":255}," POST",[245,261,262],{"class":255}," https://api.vatly.com/v1/test-helpers/subscriptions/sub_abc123def456/fast-forward-renewal",[245,264,266],{"class":265},"sTEyZ"," \\\n",[245,268,270,273,277,280],{"class":247,"line":269},2,[245,271,272],{"class":255},"  -H",[245,274,276],{"class":275},"sMK4o"," \"",[245,278,279],{"class":255},"Authorization: Bearer test_your_api_key_here",[245,281,282],{"class":275},"\"\n",[236,284,289],{"className":285,"code":286,"filename":287,"language":288,"meta":108,"style":108},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","$vatly = new \\Vatly\\API\\VatlyApiClient();\n$vatly->setApiKey('test_your_api_key_here');\n\n$subscription = $vatly->testHelpers->fastForwardSubscriptionRenewal('sub_abc123def456');\n","PHP","php",[197,290,291,326,354,361],{"__ignoreMap":108},[245,292,293,296,299,302,306,309,312,315,318,320,323],{"class":247,"line":248},[245,294,295],{"class":275},"$",[245,297,298],{"class":265},"vatly ",[245,300,301],{"class":275},"=",[245,303,305],{"class":304},"sbssI"," new",[245,307,308],{"class":275}," \\",[245,310,311],{"class":265},"Vatly",[245,313,314],{"class":275},"\\",[245,316,317],{"class":265},"API",[245,319,314],{"class":275},[245,321,322],{"class":251},"VatlyApiClient",[245,324,325],{"class":275},"();\n",[245,327,328,330,333,336,340,343,346,349,351],{"class":247,"line":269},[245,329,295],{"class":275},[245,331,332],{"class":265},"vatly",[245,334,335],{"class":275},"->",[245,337,339],{"class":338},"s2Zo4","setApiKey",[245,341,342],{"class":275},"(",[245,344,345],{"class":275},"'",[245,347,348],{"class":255},"test_your_api_key_here",[245,350,345],{"class":275},[245,352,353],{"class":275},");\n",[245,355,357],{"class":247,"line":356},3,[245,358,360],{"emptyLinePlaceholder":359},true,"\n",[245,362,364,366,369,371,374,376,378,381,383,386,388,390,393,395],{"class":247,"line":363},4,[245,365,295],{"class":275},[245,367,368],{"class":265},"subscription ",[245,370,301],{"class":275},[245,372,373],{"class":275}," $",[245,375,332],{"class":265},[245,377,335],{"class":275},[245,379,380],{"class":265},"testHelpers",[245,382,335],{"class":275},[245,384,385],{"class":338},"fastForwardSubscriptionRenewal",[245,387,342],{"class":275},[245,389,345],{"class":275},[245,391,392],{"class":255},"sub_abc123def456",[245,394,345],{"class":275},[245,396,353],{"class":275},[236,398,403],{"className":399,"code":400,"filename":401,"language":402,"meta":108,"style":108},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"id\": \"sub_abc123def456\",\n  \"resource\": \"subscription\",\n  \"customerId\": \"cus_xyz789\",\n  \"subscriptionPlanId\": \"subscription_plan_premium\",\n  \"testmode\": true,\n  \"name\": \"Premium Plan\",\n  \"description\": \"Access to all premium features\",\n  \"billingAddress\": {\n    \"fullName\": \"John Doe\",\n    \"companyName\": null,\n    \"vatNumber\": null,\n    \"streetAndNumber\": \"123 Main St\",\n    \"streetAdditional\": null,\n    \"city\": \"Amsterdam\",\n    \"region\": null,\n    \"postalCode\": \"1011AB\",\n    \"country\": \"NL\"\n  },\n  \"basePrice\": {\n    \"value\": \"99.99\",\n    \"currency\": \"EUR\"\n  },\n  \"quantity\": 1,\n  \"interval\": \"month\",\n  \"intervalCount\": 1,\n  \"status\": \"active\",\n  \"startedAt\": \"2026-01-15T10:30:00Z\",\n  \"endedAt\": null,\n  \"cancelledAt\": null,\n  \"renewedAt\": \"2026-02-15T10:30:00Z\",\n  \"renewedUntil\": \"2026-03-15T10:30:00Z\",\n  \"nextRenewalAt\": \"2026-03-15T10:30:00Z\",\n  \"trialUntil\": null,\n  \"links\": {\n    \"self\": {\n      \"href\": \"https://api.vatly.com/v1/subscriptions/sub_abc123def456\",\n      \"type\": \"application/json\"\n    },\n    \"customer\": {\n      \"href\": \"https://api.vatly.com/v1/customers/cus_xyz789\",\n      \"type\": \"application/json\"\n    }\n  }\n}\n","Response","json",[197,404,405,410,434,454,474,495,510,531,552,567,589,604,618,639,653,674,688,709,728,734,748,769,788,793,810,831,847,868,889,903,917,938,959,979,993,1007,1021,1043,1062,1068,1082,1102,1119,1125,1131],{"__ignoreMap":108},[245,406,407],{"class":247,"line":248},[245,408,409],{"class":275},"{\n",[245,411,412,415,419,422,425,427,429,431],{"class":247,"line":269},[245,413,414],{"class":275},"  \"",[245,416,418],{"class":417},"spNyl","id",[245,420,421],{"class":275},"\"",[245,423,424],{"class":275},":",[245,426,276],{"class":275},[245,428,392],{"class":255},[245,430,421],{"class":275},[245,432,433],{"class":275},",\n",[245,435,436,438,441,443,445,447,450,452],{"class":247,"line":356},[245,437,414],{"class":275},[245,439,440],{"class":417},"resource",[245,442,421],{"class":275},[245,444,424],{"class":275},[245,446,276],{"class":275},[245,448,449],{"class":255},"subscription",[245,451,421],{"class":275},[245,453,433],{"class":275},[245,455,456,458,461,463,465,467,470,472],{"class":247,"line":363},[245,457,414],{"class":275},[245,459,460],{"class":417},"customerId",[245,462,421],{"class":275},[245,464,424],{"class":275},[245,466,276],{"class":275},[245,468,469],{"class":255},"cus_xyz789",[245,471,421],{"class":275},[245,473,433],{"class":275},[245,475,477,479,482,484,486,488,491,493],{"class":247,"line":476},5,[245,478,414],{"class":275},[245,480,481],{"class":417},"subscriptionPlanId",[245,483,421],{"class":275},[245,485,424],{"class":275},[245,487,276],{"class":275},[245,489,490],{"class":255},"subscription_plan_premium",[245,492,421],{"class":275},[245,494,433],{"class":275},[245,496,498,500,503,505,507],{"class":247,"line":497},6,[245,499,414],{"class":275},[245,501,502],{"class":417},"testmode",[245,504,421],{"class":275},[245,506,424],{"class":275},[245,508,509],{"class":275}," true,\n",[245,511,513,515,518,520,522,524,527,529],{"class":247,"line":512},7,[245,514,414],{"class":275},[245,516,517],{"class":417},"name",[245,519,421],{"class":275},[245,521,424],{"class":275},[245,523,276],{"class":275},[245,525,526],{"class":255},"Premium Plan",[245,528,421],{"class":275},[245,530,433],{"class":275},[245,532,534,536,539,541,543,545,548,550],{"class":247,"line":533},8,[245,535,414],{"class":275},[245,537,538],{"class":417},"description",[245,540,421],{"class":275},[245,542,424],{"class":275},[245,544,276],{"class":275},[245,546,547],{"class":255},"Access to all premium features",[245,549,421],{"class":275},[245,551,433],{"class":275},[245,553,555,557,560,562,564],{"class":247,"line":554},9,[245,556,414],{"class":275},[245,558,559],{"class":417},"billingAddress",[245,561,421],{"class":275},[245,563,424],{"class":275},[245,565,566],{"class":275}," {\n",[245,568,570,573,576,578,580,582,585,587],{"class":247,"line":569},10,[245,571,572],{"class":275},"    \"",[245,574,575],{"class":251},"fullName",[245,577,421],{"class":275},[245,579,424],{"class":275},[245,581,276],{"class":275},[245,583,584],{"class":255},"John Doe",[245,586,421],{"class":275},[245,588,433],{"class":275},[245,590,592,594,597,599,601],{"class":247,"line":591},11,[245,593,572],{"class":275},[245,595,596],{"class":251},"companyName",[245,598,421],{"class":275},[245,600,424],{"class":275},[245,602,603],{"class":275}," null,\n",[245,605,607,609,612,614,616],{"class":247,"line":606},12,[245,608,572],{"class":275},[245,610,611],{"class":251},"vatNumber",[245,613,421],{"class":275},[245,615,424],{"class":275},[245,617,603],{"class":275},[245,619,621,623,626,628,630,632,635,637],{"class":247,"line":620},13,[245,622,572],{"class":275},[245,624,625],{"class":251},"streetAndNumber",[245,627,421],{"class":275},[245,629,424],{"class":275},[245,631,276],{"class":275},[245,633,634],{"class":255},"123 Main St",[245,636,421],{"class":275},[245,638,433],{"class":275},[245,640,642,644,647,649,651],{"class":247,"line":641},14,[245,643,572],{"class":275},[245,645,646],{"class":251},"streetAdditional",[245,648,421],{"class":275},[245,650,424],{"class":275},[245,652,603],{"class":275},[245,654,656,658,661,663,665,667,670,672],{"class":247,"line":655},15,[245,657,572],{"class":275},[245,659,660],{"class":251},"city",[245,662,421],{"class":275},[245,664,424],{"class":275},[245,666,276],{"class":275},[245,668,669],{"class":255},"Amsterdam",[245,671,421],{"class":275},[245,673,433],{"class":275},[245,675,677,679,682,684,686],{"class":247,"line":676},16,[245,678,572],{"class":275},[245,680,681],{"class":251},"region",[245,683,421],{"class":275},[245,685,424],{"class":275},[245,687,603],{"class":275},[245,689,691,693,696,698,700,702,705,707],{"class":247,"line":690},17,[245,692,572],{"class":275},[245,694,695],{"class":251},"postalCode",[245,697,421],{"class":275},[245,699,424],{"class":275},[245,701,276],{"class":275},[245,703,704],{"class":255},"1011AB",[245,706,421],{"class":275},[245,708,433],{"class":275},[245,710,712,714,717,719,721,723,726],{"class":247,"line":711},18,[245,713,572],{"class":275},[245,715,716],{"class":251},"country",[245,718,421],{"class":275},[245,720,424],{"class":275},[245,722,276],{"class":275},[245,724,725],{"class":255},"NL",[245,727,282],{"class":275},[245,729,731],{"class":247,"line":730},19,[245,732,733],{"class":275},"  },\n",[245,735,737,739,742,744,746],{"class":247,"line":736},20,[245,738,414],{"class":275},[245,740,741],{"class":417},"basePrice",[245,743,421],{"class":275},[245,745,424],{"class":275},[245,747,566],{"class":275},[245,749,751,753,756,758,760,762,765,767],{"class":247,"line":750},21,[245,752,572],{"class":275},[245,754,755],{"class":251},"value",[245,757,421],{"class":275},[245,759,424],{"class":275},[245,761,276],{"class":275},[245,763,764],{"class":255},"99.99",[245,766,421],{"class":275},[245,768,433],{"class":275},[245,770,772,774,777,779,781,783,786],{"class":247,"line":771},22,[245,773,572],{"class":275},[245,775,776],{"class":251},"currency",[245,778,421],{"class":275},[245,780,424],{"class":275},[245,782,276],{"class":275},[245,784,785],{"class":255},"EUR",[245,787,282],{"class":275},[245,789,791],{"class":247,"line":790},23,[245,792,733],{"class":275},[245,794,796,798,801,803,805,808],{"class":247,"line":795},24,[245,797,414],{"class":275},[245,799,800],{"class":417},"quantity",[245,802,421],{"class":275},[245,804,424],{"class":275},[245,806,807],{"class":304}," 1",[245,809,433],{"class":275},[245,811,813,815,818,820,822,824,827,829],{"class":247,"line":812},25,[245,814,414],{"class":275},[245,816,817],{"class":417},"interval",[245,819,421],{"class":275},[245,821,424],{"class":275},[245,823,276],{"class":275},[245,825,826],{"class":255},"month",[245,828,421],{"class":275},[245,830,433],{"class":275},[245,832,834,836,839,841,843,845],{"class":247,"line":833},26,[245,835,414],{"class":275},[245,837,838],{"class":417},"intervalCount",[245,840,421],{"class":275},[245,842,424],{"class":275},[245,844,807],{"class":304},[245,846,433],{"class":275},[245,848,850,852,855,857,859,861,864,866],{"class":247,"line":849},27,[245,851,414],{"class":275},[245,853,854],{"class":417},"status",[245,856,421],{"class":275},[245,858,424],{"class":275},[245,860,276],{"class":275},[245,862,863],{"class":255},"active",[245,865,421],{"class":275},[245,867,433],{"class":275},[245,869,871,873,876,878,880,882,885,887],{"class":247,"line":870},28,[245,872,414],{"class":275},[245,874,875],{"class":417},"startedAt",[245,877,421],{"class":275},[245,879,424],{"class":275},[245,881,276],{"class":275},[245,883,884],{"class":255},"2026-01-15T10:30:00Z",[245,886,421],{"class":275},[245,888,433],{"class":275},[245,890,892,894,897,899,901],{"class":247,"line":891},29,[245,893,414],{"class":275},[245,895,896],{"class":417},"endedAt",[245,898,421],{"class":275},[245,900,424],{"class":275},[245,902,603],{"class":275},[245,904,906,908,911,913,915],{"class":247,"line":905},30,[245,907,414],{"class":275},[245,909,910],{"class":417},"cancelledAt",[245,912,421],{"class":275},[245,914,424],{"class":275},[245,916,603],{"class":275},[245,918,920,922,925,927,929,931,934,936],{"class":247,"line":919},31,[245,921,414],{"class":275},[245,923,924],{"class":417},"renewedAt",[245,926,421],{"class":275},[245,928,424],{"class":275},[245,930,276],{"class":275},[245,932,933],{"class":255},"2026-02-15T10:30:00Z",[245,935,421],{"class":275},[245,937,433],{"class":275},[245,939,941,943,946,948,950,952,955,957],{"class":247,"line":940},32,[245,942,414],{"class":275},[245,944,945],{"class":417},"renewedUntil",[245,947,421],{"class":275},[245,949,424],{"class":275},[245,951,276],{"class":275},[245,953,954],{"class":255},"2026-03-15T10:30:00Z",[245,956,421],{"class":275},[245,958,433],{"class":275},[245,960,962,964,967,969,971,973,975,977],{"class":247,"line":961},33,[245,963,414],{"class":275},[245,965,966],{"class":417},"nextRenewalAt",[245,968,421],{"class":275},[245,970,424],{"class":275},[245,972,276],{"class":275},[245,974,954],{"class":255},[245,976,421],{"class":275},[245,978,433],{"class":275},[245,980,982,984,987,989,991],{"class":247,"line":981},34,[245,983,414],{"class":275},[245,985,986],{"class":417},"trialUntil",[245,988,421],{"class":275},[245,990,424],{"class":275},[245,992,603],{"class":275},[245,994,996,998,1001,1003,1005],{"class":247,"line":995},35,[245,997,414],{"class":275},[245,999,1000],{"class":417},"links",[245,1002,421],{"class":275},[245,1004,424],{"class":275},[245,1006,566],{"class":275},[245,1008,1010,1012,1015,1017,1019],{"class":247,"line":1009},36,[245,1011,572],{"class":275},[245,1013,1014],{"class":251},"self",[245,1016,421],{"class":275},[245,1018,424],{"class":275},[245,1020,566],{"class":275},[245,1022,1024,1027,1030,1032,1034,1036,1039,1041],{"class":247,"line":1023},37,[245,1025,1026],{"class":275},"      \"",[245,1028,1029],{"class":304},"href",[245,1031,421],{"class":275},[245,1033,424],{"class":275},[245,1035,276],{"class":275},[245,1037,1038],{"class":255},"https://api.vatly.com/v1/subscriptions/sub_abc123def456",[245,1040,421],{"class":275},[245,1042,433],{"class":275},[245,1044,1046,1048,1051,1053,1055,1057,1060],{"class":247,"line":1045},38,[245,1047,1026],{"class":275},[245,1049,1050],{"class":304},"type",[245,1052,421],{"class":275},[245,1054,424],{"class":275},[245,1056,276],{"class":275},[245,1058,1059],{"class":255},"application/json",[245,1061,282],{"class":275},[245,1063,1065],{"class":247,"line":1064},39,[245,1066,1067],{"class":275},"    },\n",[245,1069,1071,1073,1076,1078,1080],{"class":247,"line":1070},40,[245,1072,572],{"class":275},[245,1074,1075],{"class":251},"customer",[245,1077,421],{"class":275},[245,1079,424],{"class":275},[245,1081,566],{"class":275},[245,1083,1085,1087,1089,1091,1093,1095,1098,1100],{"class":247,"line":1084},41,[245,1086,1026],{"class":275},[245,1088,1029],{"class":304},[245,1090,421],{"class":275},[245,1092,424],{"class":275},[245,1094,276],{"class":275},[245,1096,1097],{"class":255},"https://api.vatly.com/v1/customers/cus_xyz789",[245,1099,421],{"class":275},[245,1101,433],{"class":275},[245,1103,1105,1107,1109,1111,1113,1115,1117],{"class":247,"line":1104},42,[245,1106,1026],{"class":275},[245,1108,1050],{"class":304},[245,1110,421],{"class":275},[245,1112,424],{"class":275},[245,1114,276],{"class":275},[245,1116,1059],{"class":255},[245,1118,282],{"class":275},[245,1120,1122],{"class":247,"line":1121},43,[245,1123,1124],{"class":275},"    }\n",[245,1126,1128],{"class":247,"line":1127},44,[245,1129,1130],{"class":275},"  }\n",[245,1132,1134],{"class":247,"line":1133},45,[245,1135,1136],{"class":275},"}\n",[1138,1139,34],"h3",{"id":1140},"errors",[1142,1143,1144,1157],"table",{},[1145,1146,1147],"thead",{},[1148,1149,1150,1154],"tr",{},[1151,1152,1153],"th",{},"Status",[1151,1155,1156],{},"Meaning",[1158,1159,1160,1171,1181],"tbody",{},[1148,1161,1162,1168],{},[1163,1164,1165],"td",{},[197,1166,1167],{},"401",[1163,1169,1170],{},"Missing or invalid API key",[1148,1172,1173,1178],{},[1163,1174,1175],{},[197,1176,1177],{},"403",[1163,1179,1180],{},"Endpoint not available for this token or resource",[1148,1182,1183,1188],{},[1163,1184,1185],{},[197,1186,1187],{},"404",[1163,1189,1190],{},"Subscription not found",[202,1192],{},[184,1194,1196],{"id":1195},"simulate-a-payment-failure","Simulate a payment failure",[189,1198,1199],{},[197,1200,1201],{},"POST /v1/test-helpers/mandated-payments/{transactionId}/simulate-failure",[189,1203,1204],{},"Force a mandated payment into a failed state for testing.",[189,1206,218],{},[220,1208,1209,1212,1215],{},[223,1210,1211],{},"testing payment failure handling and retry logic",[223,1213,1214],{},"verifying dunning behavior",[223,1216,1217],{},"validating webhook notifications for failed renewal attempts",[1138,1219,1221],{"id":1220},"request-body","Request body",[1142,1223,1224,1237],{},[1145,1225,1226],{},[1148,1227,1228,1231,1234],{},[1151,1229,1230],{},"Name",[1151,1232,1233],{},"Type",[1151,1235,1236],{},"Description",[1158,1238,1239],{},[1148,1240,1241,1246,1251],{},[1163,1242,1243],{},[197,1244,1245],{},"reason",[1163,1247,1248],{},[197,1249,1250],{},"string",[1163,1252,1253,1254,1257,1258,1257,1261,1257,1264,1257,1267,1257,1270,1273,1274,1277,1278,1280],{},"Optional failure reason. One of ",[197,1255,1256],{},"insufficient_funds",", ",[197,1259,1260],{},"invalid_mandate",[197,1262,1263],{},"mandate_canceled",[197,1265,1266],{},"account_closed",[197,1268,1269],{},"card_expired",[197,1271,1272],{},"authentication_failed",", or ",[197,1275,1276],{},"general_failure",". Defaults to ",[197,1279,1276],{},".",[233,1282,1283,1349,1466],{},[236,1284,1286],{"className":238,"code":1285,"filename":240,"language":241,"meta":108,"style":108},"curl -X POST https://api.vatly.com/v1/test-helpers/mandated-payments/mollie_mandated_payment_Xk9pQrSvWm4NjLhYbUcP/simulate-failure \\\n  -H \"Authorization: Bearer test_your_api_key_here\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"reason\": \"insufficient_funds\"\n  }'\n",[197,1287,1288,1301,1313,1326,1336,1341],{"__ignoreMap":108},[245,1289,1290,1292,1294,1296,1299],{"class":247,"line":248},[245,1291,252],{"class":251},[245,1293,256],{"class":255},[245,1295,259],{"class":255},[245,1297,1298],{"class":255}," https://api.vatly.com/v1/test-helpers/mandated-payments/mollie_mandated_payment_Xk9pQrSvWm4NjLhYbUcP/simulate-failure",[245,1300,266],{"class":265},[245,1302,1303,1305,1307,1309,1311],{"class":247,"line":269},[245,1304,272],{"class":255},[245,1306,276],{"class":275},[245,1308,279],{"class":255},[245,1310,421],{"class":275},[245,1312,266],{"class":265},[245,1314,1315,1317,1319,1322,1324],{"class":247,"line":356},[245,1316,272],{"class":255},[245,1318,276],{"class":275},[245,1320,1321],{"class":255},"Content-Type: application/json",[245,1323,421],{"class":275},[245,1325,266],{"class":265},[245,1327,1328,1331,1334],{"class":247,"line":363},[245,1329,1330],{"class":255},"  -d",[245,1332,1333],{"class":275}," '",[245,1335,409],{"class":255},[245,1337,1338],{"class":247,"line":476},[245,1339,1340],{"class":255},"    \"reason\": \"insufficient_funds\"\n",[245,1342,1343,1346],{"class":247,"line":497},[245,1344,1345],{"class":255},"  }",[245,1347,1348],{"class":275},"'\n",[236,1350,1352],{"className":285,"code":1351,"filename":287,"language":288,"meta":108,"style":108},"$vatly = new \\Vatly\\API\\VatlyApiClient();\n$vatly->setApiKey('test_your_api_key_here');\n\n$result = $vatly->testHelpers->simulateMandatedPaymentFailure(\n    'mollie_mandated_payment_Xk9pQrSvWm4NjLhYbUcP',\n    ['reason' => 'insufficient_funds']\n);\n",[197,1353,1354,1378,1398,1402,1427,1439,1462],{"__ignoreMap":108},[245,1355,1356,1358,1360,1362,1364,1366,1368,1370,1372,1374,1376],{"class":247,"line":248},[245,1357,295],{"class":275},[245,1359,298],{"class":265},[245,1361,301],{"class":275},[245,1363,305],{"class":304},[245,1365,308],{"class":275},[245,1367,311],{"class":265},[245,1369,314],{"class":275},[245,1371,317],{"class":265},[245,1373,314],{"class":275},[245,1375,322],{"class":251},[245,1377,325],{"class":275},[245,1379,1380,1382,1384,1386,1388,1390,1392,1394,1396],{"class":247,"line":269},[245,1381,295],{"class":275},[245,1383,332],{"class":265},[245,1385,335],{"class":275},[245,1387,339],{"class":338},[245,1389,342],{"class":275},[245,1391,345],{"class":275},[245,1393,348],{"class":255},[245,1395,345],{"class":275},[245,1397,353],{"class":275},[245,1399,1400],{"class":247,"line":356},[245,1401,360],{"emptyLinePlaceholder":359},[245,1403,1404,1406,1409,1411,1413,1415,1417,1419,1421,1424],{"class":247,"line":363},[245,1405,295],{"class":275},[245,1407,1408],{"class":265},"result ",[245,1410,301],{"class":275},[245,1412,373],{"class":275},[245,1414,332],{"class":265},[245,1416,335],{"class":275},[245,1418,380],{"class":265},[245,1420,335],{"class":275},[245,1422,1423],{"class":338},"simulateMandatedPaymentFailure",[245,1425,1426],{"class":275},"(\n",[245,1428,1429,1432,1435,1437],{"class":247,"line":476},[245,1430,1431],{"class":275},"    '",[245,1433,1434],{"class":255},"mollie_mandated_payment_Xk9pQrSvWm4NjLhYbUcP",[245,1436,345],{"class":275},[245,1438,433],{"class":275},[245,1440,1441,1444,1446,1448,1450,1453,1455,1457,1459],{"class":247,"line":497},[245,1442,1443],{"class":275},"    [",[245,1445,345],{"class":275},[245,1447,1245],{"class":255},[245,1449,345],{"class":275},[245,1451,1452],{"class":275}," =>",[245,1454,1333],{"class":275},[245,1456,1256],{"class":255},[245,1458,345],{"class":275},[245,1460,1461],{"class":275},"]\n",[245,1463,1464],{"class":247,"line":512},[245,1465,353],{"class":275},[236,1467,1469],{"className":399,"code":1468,"filename":401,"language":402,"meta":108,"style":108},"{\n  \"id\": \"mollie_mandated_payment_Xk9pQrSvWm4NjLhYbUcP\",\n  \"status\": \"failed\",\n  \"failureReason\": \"insufficient_funds\"\n}\n",[197,1470,1471,1475,1493,1512,1529],{"__ignoreMap":108},[245,1472,1473],{"class":247,"line":248},[245,1474,409],{"class":275},[245,1476,1477,1479,1481,1483,1485,1487,1489,1491],{"class":247,"line":269},[245,1478,414],{"class":275},[245,1480,418],{"class":417},[245,1482,421],{"class":275},[245,1484,424],{"class":275},[245,1486,276],{"class":275},[245,1488,1434],{"class":255},[245,1490,421],{"class":275},[245,1492,433],{"class":275},[245,1494,1495,1497,1499,1501,1503,1505,1508,1510],{"class":247,"line":356},[245,1496,414],{"class":275},[245,1498,854],{"class":417},[245,1500,421],{"class":275},[245,1502,424],{"class":275},[245,1504,276],{"class":275},[245,1506,1507],{"class":255},"failed",[245,1509,421],{"class":275},[245,1511,433],{"class":275},[245,1513,1514,1516,1519,1521,1523,1525,1527],{"class":247,"line":363},[245,1515,414],{"class":275},[245,1517,1518],{"class":417},"failureReason",[245,1520,421],{"class":275},[245,1522,424],{"class":275},[245,1524,276],{"class":275},[245,1526,1256],{"class":255},[245,1528,282],{"class":275},[245,1530,1531],{"class":247,"line":476},[245,1532,1136],{"class":275},[1138,1534,34],{"id":1535},"errors-1",[1142,1537,1538,1546],{},[1145,1539,1540],{},[1148,1541,1542,1544],{},[1151,1543,1153],{},[1151,1545,1156],{},[1158,1547,1548,1556,1564],{},[1148,1549,1550,1554],{},[1163,1551,1552],{},[197,1553,1167],{},[1163,1555,1170],{},[1148,1557,1558,1562],{},[1163,1559,1560],{},[197,1561,1177],{},[1163,1563,1180],{},[1148,1565,1566,1570],{},[1163,1567,1568],{},[197,1569,1187],{},[1163,1571,1572],{},"Transaction not found",[1574,1575,1576],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":108,"searchDepth":269,"depth":269,"links":1578},[1579,1580,1583],{"id":186,"depth":269,"text":187},{"id":206,"depth":269,"text":207,"children":1581},[1582],{"id":1140,"depth":356,"text":34},{"id":1195,"depth":269,"text":1196,"children":1584},[1585,1586],{"id":1220,"depth":356,"text":1221},{"id":1535,"depth":356,"text":34},"Simulate renewals and payment failures in test mode so you can verify recurring billing flows end to end.","md",null,{},{"title":64,"description":1587},"o4vJEwiaiGHhNMrg3nqUrv50KspPR-wxnCnRNxVkB08",[1594,1596],{"title":60,"path":61,"stem":62,"description":1595,"children":-1},"Inspect webhook events and retrieve the full payload that Vatly delivered.",{"title":68,"path":69,"stem":70,"description":1597,"children":-1},"On this page, we'll dive into the different checkout endpoints you can use to manage your checkouts programmatically.",1779718398756]