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