[{"data":1,"prerenderedAt":1081},["ShallowReactive",2],{"navigation-en":3,"en:\u002Fsandbox\u002Fe2e-test-flow":193,"en:\u002Fsandbox\u002Fe2e-test-flow:surround":1076},[4,20,51,77,95,110,133,158,172],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15],{"title":11,"path":12,"stem":13,"icon":14},"Portal Preparation","\u002Fgetting-started\u002Fportal-setup","1.getting-started\u002F1.portal-setup","i-lucide-rocket",{"title":16,"path":17,"stem":18,"icon":19},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F2.quickstart","i-lucide-zap",{"title":21,"icon":22,"path":23,"stem":24,"children":25,"page":6},"Core Concepts","i-lucide-key-round","\u002Fconcepts","2.concepts",[26,31,36,41,46],{"title":27,"path":28,"stem":29,"icon":30},"Authentication","\u002Fconcepts\u002Fauthentication","2.concepts\u002F1.authentication","i-lucide-fingerprint",{"title":32,"path":33,"stem":34,"icon":35},"IP Allowlist","\u002Fconcepts\u002Fip-allowlist","2.concepts\u002F2.ip-allowlist","i-lucide-shield-check",{"title":37,"path":38,"stem":39,"icon":40},"Money Format","\u002Fconcepts\u002Fmoney","2.concepts\u002F3.money","i-lucide-banknote",{"title":42,"path":43,"stem":44,"icon":45},"Idempotency","\u002Fconcepts\u002Fidempotency","2.concepts\u002F4.idempotency","i-lucide-repeat",{"title":47,"path":48,"stem":49,"icon":50},"Error envelope & codes","\u002Fconcepts\u002Ferrors","2.concepts\u002F5.errors","i-lucide-octagon-alert",{"title":52,"icon":53,"path":54,"stem":55,"children":56,"page":6},"Deposits","i-lucide-arrow-down-to-line","\u002Fdeposits","3.deposits",[57,62,67,72],{"title":58,"path":59,"stem":60,"icon":61},"Deposit Overview & State Machine","\u002Fdeposits\u002Foverview","3.deposits\u002F1.overview","i-lucide-info",{"title":63,"path":64,"stem":65,"icon":66},"Create a Deposit","\u002Fdeposits\u002Fcreate","3.deposits\u002F2.create","i-lucide-plus",{"title":68,"path":69,"stem":70,"icon":71},"Get a Deposit","\u002Fdeposits\u002Fretrieve","3.deposits\u002F3.retrieve","i-lucide-search",{"title":73,"path":74,"stem":75,"icon":76},"Cancel a Deposit","\u002Fdeposits\u002Fcancel","3.deposits\u002F4.cancel","i-lucide-x",{"title":78,"icon":79,"path":80,"stem":81,"children":82,"page":6},"Withdrawals","i-lucide-arrow-up-from-line","\u002Fwithdrawals","4.withdrawals",[83,87,91],{"title":84,"path":85,"stem":86,"icon":61},"Withdrawal Overview","\u002Fwithdrawals\u002Foverview","4.withdrawals\u002F1.overview",{"title":88,"path":89,"stem":90,"icon":66},"Create a Withdrawal","\u002Fwithdrawals\u002Fcreate","4.withdrawals\u002F2.create",{"title":92,"path":93,"stem":94,"icon":71},"Get & List Withdrawals","\u002Fwithdrawals\u002Fretrieve","4.withdrawals\u002F3.retrieve",{"title":96,"icon":97,"path":98,"stem":99,"children":100,"page":6},"Balance & Banks","i-lucide-wallet","\u002Fbalance","5.balance",[101,105],{"title":102,"path":103,"stem":104,"icon":97},"Get Balance","\u002Fbalance\u002Fget-balance","5.balance\u002F1.get-balance",{"title":106,"path":107,"stem":108,"icon":109},"Bank List","\u002Fbalance\u002Fbanks","5.balance\u002F2.banks","i-lucide-landmark",{"title":111,"icon":112,"path":113,"stem":114,"children":115,"page":6},"Webhooks","i-lucide-webhook","\u002Fwebhooks","6.webhooks",[116,120,125,129],{"title":117,"path":118,"stem":119,"icon":61},"Webhook Overview","\u002Fwebhooks\u002Foverview","6.webhooks\u002F1.overview",{"title":121,"path":122,"stem":123,"icon":124},"Event Catalog & Payloads","\u002Fwebhooks\u002Fevents","6.webhooks\u002F2.events","i-lucide-list",{"title":126,"path":127,"stem":128,"icon":35},"Signature Verification","\u002Fwebhooks\u002Fsignature-verification","6.webhooks\u002F3.signature-verification",{"title":130,"path":131,"stem":132,"icon":45},"Endpoint Requirements, Retries & SSRF","\u002Fwebhooks\u002Fdelivery-and-retries","6.webhooks\u002F4.delivery-and-retries",{"title":134,"icon":135,"path":136,"stem":137,"children":138,"page":6},"Sandbox","i-lucide-flask-conical","\u002Fsandbox","7.sandbox",[139,143,148,153],{"title":140,"path":141,"stem":142,"icon":61},"Test Mode Overview","\u002Fsandbox\u002Foverview","7.sandbox\u002F1.overview",{"title":144,"path":145,"stem":146,"icon":147},"Simulate Transfer","\u002Fsandbox\u002Fsimulate-transfer","7.sandbox\u002F2.simulate-transfer","i-lucide-banknote-arrow-down",{"title":149,"path":150,"stem":151,"icon":152},"Top-up & Reset","\u002Fsandbox\u002Ftop-up-and-reset","7.sandbox\u002F3.top-up-and-reset","i-lucide-rotate-ccw",{"title":154,"path":155,"stem":156,"icon":157},"End-to-End Test Flow","\u002Fsandbox\u002Fe2e-test-flow","7.sandbox\u002F4.e2e-test-flow","i-lucide-list-checks",{"title":159,"icon":14,"path":160,"stem":161,"children":162,"page":6},"Go-live","\u002Fgo-live","8.go-live",[163,167],{"title":164,"path":165,"stem":166,"icon":157},"Go-live Checklist","\u002Fgo-live\u002Fchecklist","8.go-live\u002F1.checklist",{"title":168,"path":169,"stem":170,"icon":171},"Contact & Support","\u002Fgo-live\u002Fsupport","8.go-live\u002F2.support","i-lucide-life-buoy",{"title":173,"icon":174,"path":175,"stem":176,"children":177,"page":6},"Reference","i-lucide-book-marked","\u002Freference","9.reference",[178,183,188],{"title":179,"path":180,"stem":181,"icon":182},"Endpoint Catalog","\u002Freference\u002Fendpoints","9.reference\u002F1.endpoints","i-lucide-table",{"title":184,"path":185,"stem":186,"icon":187},"Code Samples (Node.js & PHP)","\u002Freference\u002Fcode-samples","9.reference\u002F2.code-samples","i-lucide-code",{"title":189,"path":190,"stem":191,"icon":192},"Status Values & Glossary","\u002Freference\u002Fglossary-states","9.reference\u002F3.glossary-states","i-lucide-book-a",{"id":194,"title":154,"badge":195,"body":196,"description":1070,"extension":1071,"links":195,"meta":1072,"method":195,"navigation":1073,"path":155,"seo":1074,"stem":156,"__hash__":1075},"docs_en\u002F7.sandbox\u002F4.e2e-test-flow.md",null,{"type":197,"value":198,"toc":1066},"minimark",[199,208,212,217,296,309,328,332,349,855,859,868,964,970,1032,1037,1062],[200,201,202,203,207],"p",{},"Goal: rehearse receiving the ",[204,205,206],"code",{},"deposit.success"," webhook end-to-end, using a matching payer and the exact amount.",[209,210],"placeholder-image",{"subject":211},"sequence diagram: merchant → POST \u002Fv1\u002Fdeposits (test) → POST \u002Fv1\u002Ftest\u002Fsimulate-transfer → matcher (async) → webhook deposit.success → merchant system",[213,214,216],"h2",{"id":215},"recommended-flow","Recommended flow",[218,219,221,226,244,248,281,288],"steps",{"level":220},"3",[222,223,225],"h3",{"id":224},"create-a-test-deposit","Create a test deposit",[200,227,228,231,232,235,236,239,240,243],{},[204,229,230],{},"POST \u002Fv1\u002Fdeposits"," with a ",[204,233,234],{},"unk_test_..."," key, specifying the payer (bank\u002Fname\u002Faccount) and the amount → you get a ",[204,237,238],{},"deposit_id"," in status ",[204,241,242],{},"PENDING",".",[222,245,247],{"id":246},"simulate-an-exact-amount-transfer","Simulate an exact-amount transfer",[200,249,250,253,254,256,257,260,261,265,266,269,270,273,274,277,278,243],{},[204,251,252],{},"POST \u002Fv1\u002Ftest\u002Fsimulate-transfer"," sending the same ",[204,255,238],{}," + ",[204,258,259],{},"sender_*"," matching ",[262,263,264],"strong",{},"the payer",", and ",[262,267,268],{},"without"," ",[204,271,272],{},"amount"," (so the exact expected amount is used) → you get ",[204,275,276],{},"202"," with ",[204,279,280],{},"status: \"injected\"",[222,282,284,285,287],{"id":283},"wait-for-the-depositsuccess-webhook","Wait for the ",[204,286,206],{}," webhook",[200,289,290,291,295],{},"The real matcher runs asynchronously; on a match → it credits the test balance → the system fires the ",[262,292,293],{},[204,294,206],{}," webhook to your endpoint (you must be subscribed to this event).",[297,298,299],"tip",{},[200,300,301,302,305,306,308],{},"You can test failure cases too: a wrong ",[204,303,304],{},"sender_bank"," → payer mismatch (not credited); a non-matching ",[204,307,272],{}," override → amount mismatch, so it never matches.",[310,311,312],"note",{},[200,313,314,315,317,318,322,323,325,326,243],{},"See the real ",[204,316,206],{}," payload and how to verify the signature in ",[319,320,321],"a",{"href":122},"Webhook Events"," and ",[319,324,126],{"href":127},", and subscribe to this event in ",[319,327,11],{"href":12},[213,329,331],{"id":330},"curl-examples","curl examples",[333,334,335],"caution",{},[200,336,337,338,341,342,269,345,348],{},"The ",[204,339,340],{},"X-Signature"," values below are placeholders — compute them from ",[262,343,344],{},"your own",[204,346,347],{},"secret"," over the canonical string above (do not use the example values verbatim).",[350,351,352,478,601,692,759],"code-group",{},[353,354,360],"pre",{"className":355,"code":356,"filename":357,"language":358,"meta":359,"style":359},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST https:\u002F\u002Fapi.unkpay.co\u002Fv1\u002Fdeposits \\\n  -H \"X-Api-Key: unk_test_xxxxxxxxxxxxxxxx\" \\\n  -H \"X-Timestamp: 1718790000\" \\\n  -H \"X-Signature: \u003Chex hmac of base string>\" \\\n  -H \"Idempotency-Key: dep-test-0001\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"amount\":\"500.37\"}'   # \u003C-- add field\u002Fpayer per your \u002Fv1\u002Fdeposits spec\n","1. Create test deposit","bash","",[204,361,362,385,403,417,431,445,459],{"__ignoreMap":359},[363,364,367,371,375,378,381],"span",{"class":365,"line":366},"line",1,[363,368,370],{"class":369},"sBMFI","curl",[363,372,374],{"class":373},"sfazB"," -X",[363,376,377],{"class":373}," POST",[363,379,380],{"class":373}," https:\u002F\u002Fapi.unkpay.co\u002Fv1\u002Fdeposits",[363,382,384],{"class":383},"sTEyZ"," \\\n",[363,386,388,391,395,398,401],{"class":365,"line":387},2,[363,389,390],{"class":373},"  -H",[363,392,394],{"class":393},"sMK4o"," \"",[363,396,397],{"class":373},"X-Api-Key: unk_test_xxxxxxxxxxxxxxxx",[363,399,400],{"class":393},"\"",[363,402,384],{"class":383},[363,404,406,408,410,413,415],{"class":365,"line":405},3,[363,407,390],{"class":373},[363,409,394],{"class":393},[363,411,412],{"class":373},"X-Timestamp: 1718790000",[363,414,400],{"class":393},[363,416,384],{"class":383},[363,418,420,422,424,427,429],{"class":365,"line":419},4,[363,421,390],{"class":373},[363,423,394],{"class":393},[363,425,426],{"class":373},"X-Signature: \u003Chex hmac of base string>",[363,428,400],{"class":393},[363,430,384],{"class":383},[363,432,434,436,438,441,443],{"class":365,"line":433},5,[363,435,390],{"class":373},[363,437,394],{"class":393},[363,439,440],{"class":373},"Idempotency-Key: dep-test-0001",[363,442,400],{"class":393},[363,444,384],{"class":383},[363,446,448,450,452,455,457],{"class":365,"line":447},6,[363,449,390],{"class":373},[363,451,394],{"class":393},[363,453,454],{"class":373},"Content-Type: application\u002Fjson",[363,456,400],{"class":393},[363,458,384],{"class":383},[363,460,462,465,468,471,474],{"class":365,"line":461},7,[363,463,464],{"class":373},"  -d",[363,466,467],{"class":393}," '",[363,469,470],{"class":373},"{\"amount\":\"500.37\"}",[363,472,473],{"class":393},"'",[363,475,477],{"class":476},"sHwdD","   # \u003C-- add field\u002Fpayer per your \u002Fv1\u002Fdeposits spec\n",[353,479,482],{"className":355,"code":480,"filename":481,"language":358,"meta":359,"style":359},"curl -X POST https:\u002F\u002Fapi.unkpay.co\u002Fv1\u002Ftest\u002Fsimulate-transfer \\\n  -H \"X-Api-Key: unk_test_xxxxxxxxxxxxxxxx\" \\\n  -H \"X-Timestamp: 1718790000\" \\\n  -H \"X-Signature: \u003Chex hmac>\" \\\n  -H \"Idempotency-Key: sim-0001\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"deposit_id\": \"11111111-1111-4111-8111-111111111111\",\n    \"sender_bank\": \"KBANK\",\n    \"sender_name\": \"Payer Name\",\n    \"sender_account\": \"1234567890\"\n  }'\n","2. simulate-transfer",[204,483,484,497,509,521,534,547,559,568,574,580,586,592],{"__ignoreMap":359},[363,485,486,488,490,492,495],{"class":365,"line":366},[363,487,370],{"class":369},[363,489,374],{"class":373},[363,491,377],{"class":373},[363,493,494],{"class":373}," https:\u002F\u002Fapi.unkpay.co\u002Fv1\u002Ftest\u002Fsimulate-transfer",[363,496,384],{"class":383},[363,498,499,501,503,505,507],{"class":365,"line":387},[363,500,390],{"class":373},[363,502,394],{"class":393},[363,504,397],{"class":373},[363,506,400],{"class":393},[363,508,384],{"class":383},[363,510,511,513,515,517,519],{"class":365,"line":405},[363,512,390],{"class":373},[363,514,394],{"class":393},[363,516,412],{"class":373},[363,518,400],{"class":393},[363,520,384],{"class":383},[363,522,523,525,527,530,532],{"class":365,"line":419},[363,524,390],{"class":373},[363,526,394],{"class":393},[363,528,529],{"class":373},"X-Signature: \u003Chex hmac>",[363,531,400],{"class":393},[363,533,384],{"class":383},[363,535,536,538,540,543,545],{"class":365,"line":433},[363,537,390],{"class":373},[363,539,394],{"class":393},[363,541,542],{"class":373},"Idempotency-Key: sim-0001",[363,544,400],{"class":393},[363,546,384],{"class":383},[363,548,549,551,553,555,557],{"class":365,"line":447},[363,550,390],{"class":373},[363,552,394],{"class":393},[363,554,454],{"class":373},[363,556,400],{"class":393},[363,558,384],{"class":383},[363,560,561,563,565],{"class":365,"line":461},[363,562,464],{"class":373},[363,564,467],{"class":393},[363,566,567],{"class":373},"{\n",[363,569,571],{"class":365,"line":570},8,[363,572,573],{"class":373},"    \"deposit_id\": \"11111111-1111-4111-8111-111111111111\",\n",[363,575,577],{"class":365,"line":576},9,[363,578,579],{"class":373},"    \"sender_bank\": \"KBANK\",\n",[363,581,583],{"class":365,"line":582},10,[363,584,585],{"class":373},"    \"sender_name\": \"Payer Name\",\n",[363,587,589],{"class":365,"line":588},11,[363,590,591],{"class":373},"    \"sender_account\": \"1234567890\"\n",[363,593,595,598],{"class":365,"line":594},12,[363,596,597],{"class":373},"  }",[363,599,600],{"class":393},"'\n",[353,602,605],{"className":355,"code":603,"filename":604,"language":358,"meta":359,"style":359},"curl -X POST https:\u002F\u002Fapi.unkpay.co\u002Fv1\u002Ftest\u002Ftop-up \\\n  -H \"X-Api-Key: unk_test_xxxxxxxxxxxxxxxx\" \\\n  -H \"X-Timestamp: 1718790000\" \\\n  -H \"X-Signature: \u003Chex hmac>\" \\\n  -H \"Idempotency-Key: topup-0001\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"amount\":\"1000.00\",\"currency\":\"THB\"}'\n","3. top-up",[204,606,607,620,632,644,656,669,681],{"__ignoreMap":359},[363,608,609,611,613,615,618],{"class":365,"line":366},[363,610,370],{"class":369},[363,612,374],{"class":373},[363,614,377],{"class":373},[363,616,617],{"class":373}," https:\u002F\u002Fapi.unkpay.co\u002Fv1\u002Ftest\u002Ftop-up",[363,619,384],{"class":383},[363,621,622,624,626,628,630],{"class":365,"line":387},[363,623,390],{"class":373},[363,625,394],{"class":393},[363,627,397],{"class":373},[363,629,400],{"class":393},[363,631,384],{"class":383},[363,633,634,636,638,640,642],{"class":365,"line":405},[363,635,390],{"class":373},[363,637,394],{"class":393},[363,639,412],{"class":373},[363,641,400],{"class":393},[363,643,384],{"class":383},[363,645,646,648,650,652,654],{"class":365,"line":419},[363,647,390],{"class":373},[363,649,394],{"class":393},[363,651,529],{"class":373},[363,653,400],{"class":393},[363,655,384],{"class":383},[363,657,658,660,662,665,667],{"class":365,"line":433},[363,659,390],{"class":373},[363,661,394],{"class":393},[363,663,664],{"class":373},"Idempotency-Key: topup-0001",[363,666,400],{"class":393},[363,668,384],{"class":383},[363,670,671,673,675,677,679],{"class":365,"line":447},[363,672,390],{"class":373},[363,674,394],{"class":393},[363,676,454],{"class":373},[363,678,400],{"class":393},[363,680,384],{"class":383},[363,682,683,685,687,690],{"class":365,"line":461},[363,684,464],{"class":373},[363,686,467],{"class":393},[363,688,689],{"class":373},"{\"amount\":\"1000.00\",\"currency\":\"THB\"}",[363,691,600],{"class":393},[353,693,696],{"className":355,"code":694,"filename":695,"language":358,"meta":359,"style":359},"curl -X POST https:\u002F\u002Fapi.unkpay.co\u002Fv1\u002Ftest\u002Freset \\\n  -H \"X-Api-Key: unk_test_xxxxxxxxxxxxxxxx\" \\\n  -H \"X-Timestamp: 1718790000\" \\\n  -H \"X-Signature: \u003Chex hmac>\" \\\n  -H \"Idempotency-Key: reset-0001\"\n","4. reset",[204,697,698,711,723,735,747],{"__ignoreMap":359},[363,699,700,702,704,706,709],{"class":365,"line":366},[363,701,370],{"class":369},[363,703,374],{"class":373},[363,705,377],{"class":373},[363,707,708],{"class":373}," https:\u002F\u002Fapi.unkpay.co\u002Fv1\u002Ftest\u002Freset",[363,710,384],{"class":383},[363,712,713,715,717,719,721],{"class":365,"line":387},[363,714,390],{"class":373},[363,716,394],{"class":393},[363,718,397],{"class":373},[363,720,400],{"class":393},[363,722,384],{"class":383},[363,724,725,727,729,731,733],{"class":365,"line":405},[363,726,390],{"class":373},[363,728,394],{"class":393},[363,730,412],{"class":373},[363,732,400],{"class":393},[363,734,384],{"class":383},[363,736,737,739,741,743,745],{"class":365,"line":419},[363,738,390],{"class":373},[363,740,394],{"class":393},[363,742,529],{"class":373},[363,744,400],{"class":393},[363,746,384],{"class":383},[363,748,749,751,753,756],{"class":365,"line":433},[363,750,390],{"class":373},[363,752,394],{"class":393},[363,754,755],{"class":373},"Idempotency-Key: reset-0001",[363,757,758],{"class":393},"\"\n",[353,760,763],{"className":355,"code":761,"filename":762,"language":358,"meta":359,"style":359},"curl -X POST https:\u002F\u002Fapi.unkpay.co\u002Fv1\u002Ftest\u002Ftop-up \\\n  -H \"X-Api-Key: unk_live_xxxxxxxxxxxxxxxx\" \\\n  -H \"X-Timestamp: 1718790000\" \\\n  -H \"X-Signature: \u003Chex hmac>\" \\\n  -H \"Idempotency-Key: topup-live-0001\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"amount\":\"1000.00\"}'\n# => HTTP 404 (the test endpoint is deliberately hidden from live keys)\n","5. live key → 404",[204,764,765,777,790,802,814,827,839,850],{"__ignoreMap":359},[363,766,767,769,771,773,775],{"class":365,"line":366},[363,768,370],{"class":369},[363,770,374],{"class":373},[363,772,377],{"class":373},[363,774,617],{"class":373},[363,776,384],{"class":383},[363,778,779,781,783,786,788],{"class":365,"line":387},[363,780,390],{"class":373},[363,782,394],{"class":393},[363,784,785],{"class":373},"X-Api-Key: unk_live_xxxxxxxxxxxxxxxx",[363,787,400],{"class":393},[363,789,384],{"class":383},[363,791,792,794,796,798,800],{"class":365,"line":405},[363,793,390],{"class":373},[363,795,394],{"class":393},[363,797,412],{"class":373},[363,799,400],{"class":393},[363,801,384],{"class":383},[363,803,804,806,808,810,812],{"class":365,"line":419},[363,805,390],{"class":373},[363,807,394],{"class":393},[363,809,529],{"class":373},[363,811,400],{"class":393},[363,813,384],{"class":383},[363,815,816,818,820,823,825],{"class":365,"line":433},[363,817,390],{"class":373},[363,819,394],{"class":393},[363,821,822],{"class":373},"Idempotency-Key: topup-live-0001",[363,824,400],{"class":393},[363,826,384],{"class":383},[363,828,829,831,833,835,837],{"class":365,"line":447},[363,830,390],{"class":373},[363,832,394],{"class":393},[363,834,454],{"class":373},[363,836,400],{"class":393},[363,838,384],{"class":383},[363,840,841,843,845,848],{"class":365,"line":461},[363,842,464],{"class":373},[363,844,467],{"class":393},[363,846,847],{"class":373},"{\"amount\":\"1000.00\"}",[363,849,600],{"class":393},[363,851,852],{"class":365,"line":570},[363,853,854],{"class":476},"# => HTTP 404 (the test endpoint is deliberately hidden from live keys)\n",[856,857],"placeholder-note",{"value":858},"the real body of POST \u002Fv1\u002Fdeposits (required payer fields) to match the deposit-creation section",[200,860,337,861,864,865,867],{},[204,862,863],{},"simulate-transfer"," step returns ",[204,866,276],{},":",[353,869,873],{"className":870,"code":871,"language":872,"meta":359,"style":359},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"bank_txn_id\": \"test_8f1c2e9a-...\",\n  \"amount\": \"500.37\",\n  \"currency\": \"THB\",\n  \"status\": \"injected\"\n}\n","json",[204,874,875,879,902,921,941,959],{"__ignoreMap":359},[363,876,877],{"class":365,"line":366},[363,878,567],{"class":393},[363,880,881,884,888,890,892,894,897,899],{"class":365,"line":387},[363,882,883],{"class":393},"  \"",[363,885,887],{"class":886},"spNyl","bank_txn_id",[363,889,400],{"class":393},[363,891,867],{"class":393},[363,893,394],{"class":393},[363,895,896],{"class":373},"test_8f1c2e9a-...",[363,898,400],{"class":393},[363,900,901],{"class":393},",\n",[363,903,904,906,908,910,912,914,917,919],{"class":365,"line":405},[363,905,883],{"class":393},[363,907,272],{"class":886},[363,909,400],{"class":393},[363,911,867],{"class":393},[363,913,394],{"class":393},[363,915,916],{"class":373},"500.37",[363,918,400],{"class":393},[363,920,901],{"class":393},[363,922,923,925,928,930,932,934,937,939],{"class":365,"line":419},[363,924,883],{"class":393},[363,926,927],{"class":886},"currency",[363,929,400],{"class":393},[363,931,867],{"class":393},[363,933,394],{"class":393},[363,935,936],{"class":373},"THB",[363,938,400],{"class":393},[363,940,901],{"class":393},[363,942,943,945,948,950,952,954,957],{"class":365,"line":433},[363,944,883],{"class":393},[363,946,947],{"class":886},"status",[363,949,400],{"class":393},[363,951,867],{"class":393},[363,953,394],{"class":393},[363,955,956],{"class":373},"injected",[363,958,758],{"class":393},[363,960,961],{"class":365,"line":447},[363,962,963],{"class":393},"}\n",[200,965,337,966,969],{},[204,967,968],{},"top-up"," step returns:",[353,971,973],{"className":870,"code":972,"language":872,"meta":359,"style":359},"{ \"amount\": \"1000.00\", \"currency\": \"THB\", \"status\": \"credited\" }\n",[204,974,975],{"__ignoreMap":359},[363,976,977,980,982,984,986,988,990,993,995,998,1000,1002,1004,1006,1008,1010,1012,1014,1016,1018,1020,1022,1024,1027,1029],{"class":365,"line":366},[363,978,979],{"class":393},"{",[363,981,394],{"class":393},[363,983,272],{"class":886},[363,985,400],{"class":393},[363,987,867],{"class":393},[363,989,394],{"class":393},[363,991,992],{"class":373},"1000.00",[363,994,400],{"class":393},[363,996,997],{"class":393},",",[363,999,394],{"class":393},[363,1001,927],{"class":886},[363,1003,400],{"class":393},[363,1005,867],{"class":393},[363,1007,394],{"class":393},[363,1009,936],{"class":373},[363,1011,400],{"class":393},[363,1013,997],{"class":393},[363,1015,394],{"class":393},[363,1017,947],{"class":886},[363,1019,400],{"class":393},[363,1021,867],{"class":393},[363,1023,394],{"class":393},[363,1025,1026],{"class":373},"credited",[363,1028,400],{"class":393},[363,1030,1031],{"class":393}," }\n",[200,1033,337,1034,969],{},[204,1035,1036],{},"reset",[353,1038,1040],{"className":870,"code":1039,"language":872,"meta":359,"style":359},"{ \"status\": \"reset\" }\n",[204,1041,1042],{"__ignoreMap":359},[363,1043,1044,1046,1048,1050,1052,1054,1056,1058,1060],{"class":365,"line":366},[363,1045,979],{"class":393},[363,1047,394],{"class":393},[363,1049,947],{"class":886},[363,1051,400],{"class":393},[363,1053,867],{"class":393},[363,1055,394],{"class":393},[363,1057,1036],{"class":373},[363,1059,400],{"class":393},[363,1061,1031],{"class":393},[1063,1064,1065],"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 pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":359,"searchDepth":366,"depth":387,"links":1067},[1068,1069],{"id":215,"depth":387,"text":216},{"id":330,"depth":387,"text":331},"The recommended sandbox rehearsal — create a test deposit, simulate the transfer, and receive a deposit.success webhook","md",{},{"icon":157},{"title":154,"description":1070},"kpwa9bMSFwHPidevpaaZUdpDD5fkDspOhviiFl80kZM",[1077,1079],{"title":149,"path":150,"stem":151,"description":1078,"icon":152,"children":-1},"Credit your test balance and wipe your own test data — two sandbox-only triggers",{"title":164,"path":165,"stem":166,"description":1080,"icon":157,"children":-1},"Everything to verify before switching from test to live — credentials, money, idempotency, deposit, withdrawal, webhook, and sandbox",1781891157433]