[{"data":1,"prerenderedAt":1496},["ShallowReactive",2],{"navigation-en":3,"en:\u002Fwithdrawals\u002Fcreate":193,"en:\u002Fwithdrawals\u002Fcreate:surround":1491},[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":88,"badge":195,"body":196,"description":1484,"extension":1485,"links":1486,"meta":1487,"method":1486,"navigation":1488,"path":89,"seo":1489,"stem":90,"__hash__":1490},"docs_en\u002F4.withdrawals\u002F2.create.md","POST",{"type":197,"value":198,"toc":1474},"minimark",[199,206,226,247,252,332,336,560,590,618,622,656,660,664,817,820,826,961,986,1230,1233,1236,1250,1297,1307,1311,1463,1470],[200,201,202],"p",{},[203,204,205],"code",{},"POST \u002Fv1\u002Fwithdrawals",[200,207,208,209,212,213,216,217,220,221,225],{},"Creates a payout request out of your wallet. The request is HMAC-signed (S2S) and requires an ",[203,210,211],{},"Idempotency-Key",". On success it returns ",[203,214,215],{},"201 Created"," with status ",[203,218,219],{},"PENDING"," — the money is ",[222,223,224],"strong",{},"not"," out yet; it awaits manual approval.",[227,228,229],"caution",{},[200,230,231,238,239,242,243,246],{},[222,232,233,234,237],{},"Never trust ",[203,235,236],{},"201 PENDING"," as a completed payout."," Creation only reserves the funds and queues the request for approval — wait for the terminal ",[203,240,241],{},"withdrawal.success"," webhook before treating the payout as done. See ",[244,245,84],"a",{"href":85},".",[248,249,251],"h2",{"id":250},"headers","Headers",[253,254,255,271],"table",{},[256,257,258],"thead",{},[259,260,261,265,268],"tr",{},[262,263,264],"th",{},"Header",[262,266,267],{},"Required",[262,269,270],{},"Description",[272,273,274,295,309],"tbody",{},[259,275,276,281,286],{},[277,278,279],"td",{},[203,280,211],{},[277,282,283],{},[222,284,285],{},"Yes",[277,287,288,289,291,292,246],{},"A merchant-generated key (one per request) to prevent duplicate creation — see ",[244,290,42],{"href":43},". If omitted you get ",[203,293,294],{},"400 IDEMPOTENCY_KEY_REQUIRED",[259,296,297,302,304],{},[277,298,299],{},[203,300,301],{},"Content-Type",[277,303,285],{},[277,305,306],{},[203,307,308],{},"application\u002Fjson",[259,310,311,323,327],{},[277,312,313,316,317,316,320],{},[203,314,315],{},"X-Api-Key"," \u002F ",[203,318,319],{},"X-Signature",[203,321,322],{},"X-Timestamp",[277,324,325],{},[222,326,285],{},[277,328,329,330,246],{},"S2S authentication (HMAC) headers — see ",[244,331,27],{"href":28},[248,333,335],{"id":334},"request-body","Request body",[253,337,338,352],{},[256,339,340],{},[259,341,342,345,348,350],{},[262,343,344],{},"Field",[262,346,347],{},"Type",[262,349,267],{},[262,351,270],{},[272,353,354,379,404,448,468,486,513,529,543],{},[259,355,356,361,364,368],{},[277,357,358],{},[203,359,360],{},"amount",[277,362,363],{},"string (baht)",[277,365,366],{},[222,367,285],{},[277,369,370,371,374,375,378],{},"The amount the destination will \"actually receive\" (net), as a baht string, e.g. ",[203,372,373],{},"\"500.00\"",". The fee is added ",[222,376,377],{},"on top"," of this amount and debited from your wallet.",[259,380,381,386,389,396],{},[277,382,383],{},[203,384,385],{},"currency",[277,387,388],{},"string",[277,390,391,392,395],{},"No (default ",[203,393,394],{},"\"THB\"",")",[277,397,398,399,401,402,246],{},"Currency. Currently supports ",[203,400,394],{},". If omitted or empty, defaults to ",[203,403,394],{},[259,405,406,411,413,417],{},[277,407,408],{},[203,409,410],{},"receiver_bank_provider",[277,412,388],{},[277,414,415],{},[222,416,285],{},[277,418,419,420,423,424,423,427,423,430,433,434,436,437,440,441,444,445,246],{},"Destination bank code (bank code alias), e.g. ",[203,421,422],{},"\"SCB\"",", ",[203,425,426],{},"\"KBANK\"",[203,428,429],{},"\"BBL\"",[203,431,432],{},"\"KTB\""," — ",[222,435,224],{}," the 3-digit number. Valid codes come from ",[203,438,439],{},"GET \u002Fv1\u002Fbanks"," (field ",[203,442,443],{},"bank_code","). Lowercase \u002F leading-trailing whitespace is normalized. Unknown code → ",[203,446,447],{},"422 INVALID_BANK",[259,449,450,455,457,461],{},[277,451,452],{},[203,453,454],{},"receiver_bank_account_name",[277,456,388],{},[277,458,459],{},[222,460,285],{},[277,462,463,464,467],{},"Destination account name. If blank → ",[203,465,466],{},"422"," (destination must have bank\u002Faccount_no\u002Fname complete).",[259,469,470,475,477,481],{},[277,471,472],{},[203,473,474],{},"receiver_bank_account_number",[277,476,388],{},[277,478,479],{},[222,480,285],{},[277,482,483,484,246],{},"Destination account number. If blank → ",[203,485,466],{},[259,487,488,493,495,500],{},[277,489,490],{},[203,491,492],{},"kind",[277,494,388],{},[277,496,391,497,395],{},[203,498,499],{},"\"customer\"",[277,501,502,503,505,506,509,510,246],{},"Must be ",[203,504,499],{}," only (see the constraint below). Blank = ",[203,507,508],{},"customer","; any other value → ",[203,511,512],{},"422 INVALID_KIND",[259,514,515,520,523,526],{},[277,516,517],{},[203,518,519],{},"additional",[277,521,522],{},"object",[277,524,525],{},"No",[277,527,528],{},"Extra optional data.",[259,530,531,536,538,540],{},[277,532,533],{},[203,534,535],{},"additional.description",[277,537,388],{},[277,539,525],{},[277,541,542],{},"Merchant description.",[259,544,545,550,552,554],{},[277,546,547],{},[203,548,549],{},"additional.reference_user_id",[277,551,388],{},[277,553,525],{},[277,555,556,557,246],{},"The merchant-side reference id of the \"destination customer\" — stored and echoed back in the response\u002Flist as ",[203,558,559],{},"reference_user_id",[561,562,563],"warning",{},[200,564,565,571,572,574,575,577,578,423,581,584,585,433,587,589],{},[222,566,567,570],{},[203,568,569],{},"kind=customer"," constraint (important):"," a merchant API key can only create ",[203,573,508],{}," payouts (paying a destination account the merchant specifies). Sending any other ",[203,576,492],{}," (e.g. ",[203,579,580],{},"settlement",[203,582,583],{},"merchant",", …) returns ",[203,586,512],{},[203,588,580],{}," is an internal system route only and cannot be called by a merchant over S2S.",[591,592,593],"note",{},[200,594,595,598,599,602,603,606,607,423,609,423,611,613,614,617],{},[222,596,597],{},"Destination structure:"," internally the destination is stored as an object ",[203,600,601],{},"{bank, account_no, name}",", but in the request the merchant sends ",[222,604,605],{},"three separate fields"," (",[203,608,410],{},[203,610,474],{},[203,612,454],{},"). The response returns ",[203,615,616],{},"destination"," back as that object (full plaintext, not masked).",[248,619,621],{"id":620},"amount-balance-rules","Amount \u002F balance rules",[623,624,625,635],"ul",{},[626,627,628,630,631,634],"li",{},[203,629,360],{}," must be positive and within the system's configured min\u002Fmax (out of range → ",[203,632,633],{},"422 INVALID_AMOUNT",").",[626,636,637,638,641,642,651,652,655],{},"The system debits funds ",[222,639,640],{},"immediately at create"," (debit-at-request): the amount taken from the wallet is ",[222,643,644,645,647,648],{},"gross = ",[203,646,360],{}," + ",[203,649,650],{},"fee",". If the gross exceeds your \"available\" balance (which already excludes prior PENDING\u002Fapproved requests) → ",[203,653,654],{},"422 INSUFFICIENT_BALANCE"," (no row is created).",[657,658],"placeholder-note",{"value":659},"the real withdrawal min\u002Fmax in production (the code default is unlimited until configured)",[248,661,663],{"id":662},"example-request","Example request",[665,666,667],"code-group",{},[668,669,675],"pre",{"className":670,"code":671,"filename":672,"language":673,"meta":674,"style":674},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST \"https:\u002F\u002Fapi.unkpay.co\u002Fv1\u002Fwithdrawals\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -H \"Idempotency-Key: 9f1c2b7a-3e44-4d18-9b21-7c0e6a1d2f55\" \\\n  -d '{\n    \"amount\": \"500.00\",\n    \"currency\": \"THB\",\n    \"receiver_bank_provider\": \"SCB\",\n    \"receiver_bank_account_name\": \"สมชาย ใจดี\",\n    \"receiver_bank_account_number\": \"1234567890\",\n    \"kind\": \"customer\",\n    \"additional\": {\n      \"description\": \"payout order #A-1042\",\n      \"reference_user_id\": \"cust-7\"\n    }\n  }'\n","cURL","bash","",[203,676,677,707,722,736,748,754,760,766,772,778,784,790,796,802,808],{"__ignoreMap":674},[678,679,682,686,690,693,697,700,703],"span",{"class":680,"line":681},"line",1,[678,683,685],{"class":684},"sBMFI","curl",[678,687,689],{"class":688},"sfazB"," -X",[678,691,692],{"class":688}," POST",[678,694,696],{"class":695},"sMK4o"," \"",[678,698,699],{"class":688},"https:\u002F\u002Fapi.unkpay.co\u002Fv1\u002Fwithdrawals",[678,701,702],{"class":695},"\"",[678,704,706],{"class":705},"sTEyZ"," \\\n",[678,708,710,713,715,718,720],{"class":680,"line":709},2,[678,711,712],{"class":688},"  -H",[678,714,696],{"class":695},[678,716,717],{"class":688},"Content-Type: application\u002Fjson",[678,719,702],{"class":695},[678,721,706],{"class":705},[678,723,725,727,729,732,734],{"class":680,"line":724},3,[678,726,712],{"class":688},[678,728,696],{"class":695},[678,730,731],{"class":688},"Idempotency-Key: 9f1c2b7a-3e44-4d18-9b21-7c0e6a1d2f55",[678,733,702],{"class":695},[678,735,706],{"class":705},[678,737,739,742,745],{"class":680,"line":738},4,[678,740,741],{"class":688},"  -d",[678,743,744],{"class":695}," '",[678,746,747],{"class":688},"{\n",[678,749,751],{"class":680,"line":750},5,[678,752,753],{"class":688},"    \"amount\": \"500.00\",\n",[678,755,757],{"class":680,"line":756},6,[678,758,759],{"class":688},"    \"currency\": \"THB\",\n",[678,761,763],{"class":680,"line":762},7,[678,764,765],{"class":688},"    \"receiver_bank_provider\": \"SCB\",\n",[678,767,769],{"class":680,"line":768},8,[678,770,771],{"class":688},"    \"receiver_bank_account_name\": \"สมชาย ใจดี\",\n",[678,773,775],{"class":680,"line":774},9,[678,776,777],{"class":688},"    \"receiver_bank_account_number\": \"1234567890\",\n",[678,779,781],{"class":680,"line":780},10,[678,782,783],{"class":688},"    \"kind\": \"customer\",\n",[678,785,787],{"class":680,"line":786},11,[678,788,789],{"class":688},"    \"additional\": {\n",[678,791,793],{"class":680,"line":792},12,[678,794,795],{"class":688},"      \"description\": \"payout order #A-1042\",\n",[678,797,799],{"class":680,"line":798},13,[678,800,801],{"class":688},"      \"reference_user_id\": \"cust-7\"\n",[678,803,805],{"class":680,"line":804},14,[678,806,807],{"class":688},"    }\n",[678,809,811,814],{"class":680,"line":810},15,[678,812,813],{"class":688},"  }",[678,815,816],{"class":695},"'\n",[657,818],{"value":819},"add the S2S authentication headers (API key + HMAC signature)",[248,821,823,824],{"id":822},"response-body-201-created","Response body — ",[203,825,215],{},[253,827,828,838],{},[256,829,830],{},[259,831,832,834,836],{},[262,833,344],{},[262,835,347],{},[262,837,270],{},[272,839,840,857,868,879,896,908,919,933,945],{},[259,841,842,847,850],{},[277,843,844],{},[203,845,846],{},"id",[277,848,849],{},"string (uuid)",[277,851,852,853,856],{},"The withdrawal id — used with ",[203,854,855],{},"GET \u002Fv1\u002Fwithdrawals\u002F:id"," and referenced in the webhook.",[259,858,859,863,865],{},[277,860,861],{},[203,862,360],{},[277,864,363],{},[277,866,867],{},"The amount the destination will receive.",[259,869,870,874,876],{},[277,871,872],{},[203,873,650],{},[277,875,363],{},[277,877,878],{},"The fee debited on top of the wallet amount (frozen at creation).",[259,880,881,886,888],{},[277,882,883],{},[203,884,885],{},"net_payout",[277,887,363],{},[277,889,890,891,893,894,634],{},"The net amount paid to the destination (for ",[203,892,508],{}," = equal to ",[203,895,360],{},[259,897,898,902,904],{},[277,899,900],{},[203,901,385],{},[277,903,388],{},[277,905,906],{},[203,907,394],{},[259,909,910,914,916],{},[277,911,912],{},[203,913,410],{},[277,915,388],{},[277,917,918],{},"Destination bank code.",[259,920,921,925,927],{},[277,922,923],{},[203,924,616],{},[277,926,522],{},[277,928,929,932],{},[203,930,931],{},"{ \"bank\": \"...\", \"account_no\": \"...\", \"name\": \"...\" }"," — destination in full plaintext.",[259,934,935,939,941],{},[277,936,937],{},[203,938,492],{},[277,940,388],{},[277,942,943],{},[203,944,499],{},[259,946,947,952,954],{},[277,948,949],{},[203,950,951],{},"status",[277,953,388],{},[277,955,956,957,960],{},"Initial status = ",[203,958,959],{},"\"PENDING\""," (awaiting approval — not paid out yet).",[591,962,963],{},[200,964,965,966,968,969,972,973,647,975,977,978,647,980,982,983,246],{},"This response does ",[222,967,224],{}," include ",[203,970,971],{},"gross_debit"," (the real gross debited = ",[203,974,360],{},[203,976,650],{},") — to check the amount taken from the wallet, compute ",[203,979,360],{},[203,981,650],{}," or check the balance via the ",[244,984,985],{"href":103},"balance endpoint",[668,987,991],{"className":988,"code":989,"language":990,"meta":674,"style":674},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"id\": \"3b9c1e54-2a77-4f0d-bb1e-8a6d4c2e91aa\",\n  \"amount\": \"500.00\",\n  \"fee\": \"9.00\",\n  \"net_payout\": \"500.00\",\n  \"currency\": \"THB\",\n  \"receiver_bank_provider\": \"SCB\",\n  \"destination\": {\n    \"bank\": \"SCB\",\n    \"account_no\": \"1234567890\",\n    \"name\": \"สมชาย ใจดี\"\n  },\n  \"kind\": \"customer\",\n  \"status\": \"PENDING\"\n}\n","json",[203,992,993,997,1020,1039,1058,1076,1095,1114,1127,1147,1167,1186,1191,1209,1225],{"__ignoreMap":674},[678,994,995],{"class":680,"line":681},[678,996,747],{"class":695},[678,998,999,1002,1005,1007,1010,1012,1015,1017],{"class":680,"line":709},[678,1000,1001],{"class":695},"  \"",[678,1003,846],{"class":1004},"spNyl",[678,1006,702],{"class":695},[678,1008,1009],{"class":695},":",[678,1011,696],{"class":695},[678,1013,1014],{"class":688},"3b9c1e54-2a77-4f0d-bb1e-8a6d4c2e91aa",[678,1016,702],{"class":695},[678,1018,1019],{"class":695},",\n",[678,1021,1022,1024,1026,1028,1030,1032,1035,1037],{"class":680,"line":724},[678,1023,1001],{"class":695},[678,1025,360],{"class":1004},[678,1027,702],{"class":695},[678,1029,1009],{"class":695},[678,1031,696],{"class":695},[678,1033,1034],{"class":688},"500.00",[678,1036,702],{"class":695},[678,1038,1019],{"class":695},[678,1040,1041,1043,1045,1047,1049,1051,1054,1056],{"class":680,"line":738},[678,1042,1001],{"class":695},[678,1044,650],{"class":1004},[678,1046,702],{"class":695},[678,1048,1009],{"class":695},[678,1050,696],{"class":695},[678,1052,1053],{"class":688},"9.00",[678,1055,702],{"class":695},[678,1057,1019],{"class":695},[678,1059,1060,1062,1064,1066,1068,1070,1072,1074],{"class":680,"line":750},[678,1061,1001],{"class":695},[678,1063,885],{"class":1004},[678,1065,702],{"class":695},[678,1067,1009],{"class":695},[678,1069,696],{"class":695},[678,1071,1034],{"class":688},[678,1073,702],{"class":695},[678,1075,1019],{"class":695},[678,1077,1078,1080,1082,1084,1086,1088,1091,1093],{"class":680,"line":756},[678,1079,1001],{"class":695},[678,1081,385],{"class":1004},[678,1083,702],{"class":695},[678,1085,1009],{"class":695},[678,1087,696],{"class":695},[678,1089,1090],{"class":688},"THB",[678,1092,702],{"class":695},[678,1094,1019],{"class":695},[678,1096,1097,1099,1101,1103,1105,1107,1110,1112],{"class":680,"line":762},[678,1098,1001],{"class":695},[678,1100,410],{"class":1004},[678,1102,702],{"class":695},[678,1104,1009],{"class":695},[678,1106,696],{"class":695},[678,1108,1109],{"class":688},"SCB",[678,1111,702],{"class":695},[678,1113,1019],{"class":695},[678,1115,1116,1118,1120,1122,1124],{"class":680,"line":768},[678,1117,1001],{"class":695},[678,1119,616],{"class":1004},[678,1121,702],{"class":695},[678,1123,1009],{"class":695},[678,1125,1126],{"class":695}," {\n",[678,1128,1129,1132,1135,1137,1139,1141,1143,1145],{"class":680,"line":774},[678,1130,1131],{"class":695},"    \"",[678,1133,1134],{"class":684},"bank",[678,1136,702],{"class":695},[678,1138,1009],{"class":695},[678,1140,696],{"class":695},[678,1142,1109],{"class":688},[678,1144,702],{"class":695},[678,1146,1019],{"class":695},[678,1148,1149,1151,1154,1156,1158,1160,1163,1165],{"class":680,"line":780},[678,1150,1131],{"class":695},[678,1152,1153],{"class":684},"account_no",[678,1155,702],{"class":695},[678,1157,1009],{"class":695},[678,1159,696],{"class":695},[678,1161,1162],{"class":688},"1234567890",[678,1164,702],{"class":695},[678,1166,1019],{"class":695},[678,1168,1169,1171,1174,1176,1178,1180,1183],{"class":680,"line":786},[678,1170,1131],{"class":695},[678,1172,1173],{"class":684},"name",[678,1175,702],{"class":695},[678,1177,1009],{"class":695},[678,1179,696],{"class":695},[678,1181,1182],{"class":688},"สมชาย ใจดี",[678,1184,1185],{"class":695},"\"\n",[678,1187,1188],{"class":680,"line":792},[678,1189,1190],{"class":695},"  },\n",[678,1192,1193,1195,1197,1199,1201,1203,1205,1207],{"class":680,"line":798},[678,1194,1001],{"class":695},[678,1196,492],{"class":1004},[678,1198,702],{"class":695},[678,1200,1009],{"class":695},[678,1202,696],{"class":695},[678,1204,508],{"class":688},[678,1206,702],{"class":695},[678,1208,1019],{"class":695},[678,1210,1211,1213,1215,1217,1219,1221,1223],{"class":680,"line":804},[678,1212,1001],{"class":695},[678,1214,951],{"class":1004},[678,1216,702],{"class":695},[678,1218,1009],{"class":695},[678,1220,696],{"class":695},[678,1222,219],{"class":688},[678,1224,1185],{"class":695},[678,1226,1227],{"class":680,"line":810},[678,1228,1229],{"class":695},"}\n",[200,1231,1232],{},"::placeholder-note{value=\"the fee value \"9.00\" in the example is illustrative (based on a bps fee structure) — check the merchant's real withdrawal fee rate in the system\"}\n::",[248,1234,211],{"id":1235},"idempotency-key",[200,1237,1238,1240,1241,1243,1244,1247,1248,634],{},[203,1239,205],{}," is a money-creating endpoint, so the ",[203,1242,211],{}," header is ",[222,1245,1246],{},"required"," (shared mechanism: ",[244,1249,42],{"href":43},[623,1251,1252,1266,1271,1281,1291,1294],{},[626,1253,1254,1255,1258,1259,1262,1263,246],{},"The value is a unique string per request — the system ",[222,1256,1257],{},"enforces no format",", only that it is non-empty. ",[222,1260,1261],{},"UUID v4 recommended",", e.g. ",[203,1264,1265],{},"9f1c2e7a-3b4d-4f8a-9c10-2b6d5e7f8a90",[626,1267,1268,1269,246],{},"If omitted → ",[203,1270,294],{},[626,1272,1273,1274,1277,1278,246],{},"If you ",[222,1275,1276],{},"retry with the same key + same body"," → the system returns the original response (no duplicate request created) with the header ",[203,1279,1280],{},"Idempotent-Replay: true",[626,1282,1283,1284,1287,1288,246],{},"If you use the ",[222,1285,1286],{},"same key but a different body"," → ",[203,1289,1290],{},"422 IDEMPOTENCY_KEY_MISMATCH",[626,1292,1293],{},"Key TTL = 24 hours.",[626,1295,1296],{},"Keys are namespaced by mode (live\u002Ftest) + merchant — live and test keys never collide.",[1298,1299,1300],"tip",{},[200,1301,1302,1303,1306],{},"Set your merchant-side retry policy to reuse the ",[222,1304,1305],{},"same Idempotency-Key"," when retrying the same request (e.g. on a timeout \u002F 5xx) to prevent a double payout.",[248,1308,1310],{"id":1309},"error-codes","Error codes",[253,1312,1313,1325],{},[256,1314,1315],{},[259,1316,1317,1320,1322],{},[262,1318,1319],{},"HTTP",[262,1321,203],{},[262,1323,1324],{},"Cause",[272,1326,1327,1344,1361,1377,1393,1409,1427,1447],{},[259,1328,1329,1334,1339],{},[277,1330,1331],{},[203,1332,1333],{},"400",[277,1335,1336],{},[203,1337,1338],{},"IDEMPOTENCY_KEY_REQUIRED",[277,1340,1341,1343],{},[203,1342,211],{}," header not sent",[259,1345,1346,1350,1355],{},[277,1347,1348],{},[203,1349,466],{},[277,1351,1352],{},[203,1353,1354],{},"IDEMPOTENCY_KEY_MISMATCH",[277,1356,1357,1358,1360],{},"Same ",[203,1359,211],{}," used with a different body",[259,1362,1363,1367,1372],{},[277,1364,1365],{},[203,1366,466],{},[277,1368,1369],{},[203,1370,1371],{},"INVALID_AMOUNT",[277,1373,1374,1376],{},[203,1375,360],{}," malformed \u002F not positive \u002F out of min-max range",[259,1378,1379,1383,1388],{},[277,1380,1381],{},[203,1382,466],{},[277,1384,1385],{},[203,1386,1387],{},"INVALID_CURRENCY",[277,1389,1390,1392],{},[203,1391,385],{}," not supported",[259,1394,1395,1399,1404],{},[277,1396,1397],{},[203,1398,466],{},[277,1400,1401],{},[203,1402,1403],{},"INVALID_BANK",[277,1405,1406,1408],{},[203,1407,410],{}," is not a known bank code",[259,1410,1411,1415,1420],{},[277,1412,1413],{},[203,1414,466],{},[277,1416,1417],{},[203,1418,1419],{},"INVALID_KIND",[277,1421,1422,1424,1425],{},[203,1423,492],{}," is not ",[203,1426,508],{},[259,1428,1429,1433,1438],{},[277,1430,1431],{},[203,1432,466],{},[277,1434,1435],{},[203,1436,1437],{},"INSUFFICIENT_BALANCE",[277,1439,1440,1441,1443,1444,1446],{},"Gross (",[203,1442,360],{},"+",[203,1445,650],{},") exceeds the available wallet balance",[259,1448,1449,1453,1458],{},[277,1450,1451],{},[203,1452,466],{},[277,1454,1455],{},[203,1456,1457],{},"VALIDATION",[277,1459,1460,1462],{},[203,1461,616],{}," incomplete (must have bank \u002F account_no \u002F name)",[200,1464,1465,1466,1469],{},"See the ",[244,1467,1468],{"href":48},"Error Envelope & Codes"," for the cross-cutting error format.",[1471,1472,1473],"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}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":674,"searchDepth":681,"depth":709,"links":1475},[1476,1477,1478,1479,1480,1482,1483],{"id":250,"depth":709,"text":251},{"id":334,"depth":709,"text":335},{"id":620,"depth":709,"text":621},{"id":662,"depth":709,"text":663},{"id":822,"depth":709,"text":1481},"Response body — 201 Created",{"id":1235,"depth":709,"text":211},{"id":1309,"depth":709,"text":1310},"POST \u002Fv1\u002Fwithdrawals — create a payout request; gross (amount + fee) is debited immediately and the request starts in PENDING awaiting manual approval","md",null,{},{"icon":66},{"title":88,"description":1484},"u9mo6bPb3I96O2kyc5NnbLx_qZF529wgfpzm9fSTZNM",[1492,1494],{"title":84,"path":85,"stem":86,"description":1493,"icon":61,"children":-1},"How payouts work — gross debited immediately at create, manual approval, and the PENDING→SUCCESS\u002FFAILED\u002FREJECTED state machine",{"title":92,"path":93,"stem":94,"description":1495,"icon":71,"children":-1},"GET \u002Fv1\u002Fwithdrawals\u002F:id to get one (caller-scoped) and GET \u002Fv1\u002Fwithdrawals to list your own withdrawals",1781891152608]