[{"data":1,"prerenderedAt":364},["ShallowReactive",2],{"navigation-th":3,"th:\u002Fth":193,"th:\u002Fth:surround":363},[4,20,51,77,95,110,133,158,172],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"เริ่มต้นใช้งาน",false,"\u002Fgetting-started","1.getting-started",[10,15],{"title":11,"path":12,"stem":13,"icon":14},"การเตรียมตัวใน Portal","\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},"แนวคิดหลัก","i-lucide-key-round","\u002Fconcepts","2.concepts",[26,31,36,41,46],{"title":27,"path":28,"stem":29,"icon":30},"การยืนยันตัวตน","\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},"รูปแบบเงิน","\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 และ error code","\u002Fconcepts\u002Ferrors","2.concepts\u002F5.errors","i-lucide-octagon-alert",{"title":52,"icon":53,"path":54,"stem":55,"children":56,"page":6},"รับเงินเข้า","i-lucide-arrow-down-to-line","\u002Fdeposits","3.deposits",[57,62,67,72],{"title":58,"path":59,"stem":60,"icon":61},"ภาพรวมรับเงินเข้า & State Machine","\u002Fdeposits\u002Foverview","3.deposits\u002F1.overview","i-lucide-info",{"title":63,"path":64,"stem":65,"icon":66},"สร้าง Deposit","\u002Fdeposits\u002Fcreate","3.deposits\u002F2.create","i-lucide-plus",{"title":68,"path":69,"stem":70,"icon":71},"ดูสถานะ Deposit","\u002Fdeposits\u002Fretrieve","3.deposits\u002F3.retrieve","i-lucide-search",{"title":73,"path":74,"stem":75,"icon":76},"ยกเลิก Deposit","\u002Fdeposits\u002Fcancel","3.deposits\u002F4.cancel","i-lucide-x",{"title":78,"icon":79,"path":80,"stem":81,"children":82,"page":6},"ถอนเงินออก","i-lucide-arrow-up-from-line","\u002Fwithdrawals","4.withdrawals",[83,87,91],{"title":84,"path":85,"stem":86,"icon":61},"ภาพรวมการถอนเงิน","\u002Fwithdrawals\u002Foverview","4.withdrawals\u002F1.overview",{"title":88,"path":89,"stem":90,"icon":66},"การสร้างคำขอถอน","\u002Fwithdrawals\u002Fcreate","4.withdrawals\u002F2.create",{"title":92,"path":93,"stem":94,"icon":71},"ดูและ list คำขอถอน","\u002Fwithdrawals\u002Fretrieve","4.withdrawals\u002F3.retrieve",{"title":96,"icon":97,"path":98,"stem":99,"children":100,"page":6},"ยอดเงินและธนาคาร","i-lucide-wallet","\u002Fbalance","5.balance",[101,105],{"title":102,"path":103,"stem":104,"icon":97},"ยอดเงินคงเหลือ","\u002Fbalance\u002Fget-balance","5.balance\u002F1.get-balance",{"title":106,"path":107,"stem":108,"icon":109},"รายชื่อธนาคาร","\u002Fbalance\u002Fbanks","5.balance\u002F2.banks","i-lucide-landmark",{"title":111,"icon":112,"path":113,"stem":114,"children":115,"page":6},"Webhook","i-lucide-webhook","\u002Fwebhooks","6.webhooks",[116,120,125,129],{"title":117,"path":118,"stem":119,"icon":61},"ภาพรวม Webhook","\u002Fwebhooks\u002Foverview","6.webhooks\u002F1.overview",{"title":121,"path":122,"stem":123,"icon":124},"รายการ Event และ Payload","\u002Fwebhooks\u002Fevents","6.webhooks\u002F2.events","i-lucide-list",{"title":126,"path":127,"stem":128,"icon":35},"การตรวจลายเซ็น","\u002Fwebhooks\u002Fsignature-verification","6.webhooks\u002F3.signature-verification",{"title":130,"path":131,"stem":132,"icon":45},"ข้อกำหนด Endpoint, Retry และ 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},"ภาพรวมโหมดทดสอบ","\u002Fsandbox\u002Foverview","7.sandbox\u002F1.overview",{"title":144,"path":145,"stem":146,"icon":147},"จำลองเงินโอนเข้า","\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},"Flow ทดสอบ end-to-end","\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},"Checklist ก่อน Go-live","\u002Fgo-live\u002Fchecklist","8.go-live\u002F1.checklist",{"title":168,"path":169,"stem":170,"icon":171},"ติดต่อ \u002F สนับสนุน","\u002Fgo-live\u002Fsupport","8.go-live\u002F2.support","i-lucide-life-buoy",{"title":173,"icon":174,"path":175,"stem":176,"children":177,"page":6},"อ้างอิง","i-lucide-book-marked","\u002Freference","9.reference",[178,183,188],{"title":179,"path":180,"stem":181,"icon":182},"รายการ Endpoint","\u002Freference\u002Fendpoints","9.reference\u002F1.endpoints","i-lucide-table",{"title":184,"path":185,"stem":186,"icon":187},"ตัวอย่างโค้ด (Node.js & PHP)","\u002Freference\u002Fcode-samples","9.reference\u002F2.code-samples","i-lucide-code",{"title":189,"path":190,"stem":191,"icon":192},"สถานะ & อภิธานศัพท์","\u002Freference\u002Fglossary-states","9.reference\u002F3.glossary-states","i-lucide-book-a",{"id":194,"title":195,"badge":196,"body":197,"description":354,"extension":355,"links":196,"meta":356,"method":196,"navigation":6,"path":357,"seo":358,"stem":361,"__hash__":362},"docs_th\u002Findex.md","UnknownPay Merchant API",null,{"type":198,"value":199,"toc":347},"minimark",[200,209,231,244,249,271,307,310],[201,202,203,204,208],"p",{},"UnknownPay เป็นแพลตฟอร์มรับ-จ่ายเงิน (Payment Aggregator) ที่ให้ร้านค้าเชื่อมต่อแบบ ",[205,206,207],"strong",{},"Server-to-Server (S2S)"," จากเซิร์ฟเวอร์ของร้านค้าโดยตรง เพื่อ:",[210,211,212,219,225],"ul",{},[213,214,215,218],"li",{},[205,216,217],{},"รับเงินเข้า (Deposit)"," จากลูกค้าผ่าน PromptPay QR หรือ Bank Transfer แล้วเครดิตเข้ายอดร้านค้าอัตโนมัติเมื่อจับคู่ยอดสำเร็จ",[213,220,221,224],{},[205,222,223],{},"ถอนเงินออก (Withdrawal \u002F Payout)"," จากยอดคงเหลือของร้านค้าไปยังบัญชีปลายทางที่ระบุ",[213,226,227,230],{},[205,228,229],{},"รับแจ้งสถานะแบบ near real-time"," ผ่าน Webhook โดยไม่ต้อง poll",[232,233,234],"note",{},[201,235,236,239,240,243],{},[205,237,238],{},"Portal"," ใช้สำหรับ \"ตั้งค่า\" (ออก API key, ตั้ง webhook) ส่วน ",[205,241,242],{},"S2S API"," ใช้สำหรับ \"ทำธุรกรรมจริง\" ด้วย API key + HMAC signature — เป็นคนละส่วนกัน",[245,246,248],"h2",{"id":247},"_3-เรื่องที่ต้องจำก่อนเขียนโค้ดบรรทัดแรก","3 เรื่องที่ต้องจำก่อนเขียนโค้ดบรรทัดแรก",[250,251,252],"warning",{},[201,253,254,257,258,262,263,266,267,270],{},[205,255,256],{},"เงินทุก field บน wire เป็นสตริงบาททศนิยม 2 ตำแหน่ง"," เช่น ",[259,260,261],"code",{},"\"100.50\""," — ไม่ใช่ตัวเลข (",[259,264,265],{},"100.5",") และไม่ใช่สตางค์ (",[259,268,269],{},"10050",") ส่งผิดหน่วยคือบั๊กระดับ 100 เท่า",[272,273,274,281,287],"ol",{},[213,275,276,257,279],{},[205,277,278],{},"เงิน = สตริงบาท 2 ตำแหน่ง",[259,280,261],{},[213,282,283,286],{},[205,284,285],{},"Secret แสดงครั้งเดียว (show-once)"," ทั้ง API secret และ Webhook signing secret — คัดลอกเก็บทันที",[213,288,289,292,293,296,297,296,300,303,304],{},[205,290,291],{},"ต้องเซ็น HMAC-SHA256 ทุก request"," (",[259,294,295],{},"X-Api-Key"," + ",[259,298,299],{},"X-Signature",[259,301,302],{},"X-Timestamp",") — ไม่มีลายเซ็น = ",[259,305,306],{},"401",[245,308,309],{"id":309},"เริ่มต้น",[311,312,313,319,324,330,336,342],"card-group",{},[314,315,316],"card",{"icon":14,"title":11,"to":12},[201,317,318],{},"ออก API key, ตั้ง Webhook และแจ้ง IP",[314,320,321],{"icon":19,"title":16,"to":17},[201,322,323],{},"ทดสอบ deposit แรกแบบ end-to-end ใน sandbox",[314,325,327],{"icon":30,"title":326,"to":28},"Authentication",[201,328,329],{},"เซ็นทุก request ด้วย API key + HMAC-SHA256",[314,331,333],{"icon":53,"title":332,"to":59},"รับเงินเข้า (Deposits)",[201,334,335],{},"รับเงินผ่าน PromptPay QR หรือ Bank Transfer",[314,337,339],{"icon":79,"title":338,"to":85},"ถอนเงินออก (Withdrawals)",[201,340,341],{},"จ่ายเงินจากยอดคงเหลือไปบัญชีปลายทาง",[314,343,345],{"icon":112,"title":344,"to":118},"Webhooks",[201,346,229],{},{"title":348,"searchDepth":349,"depth":350,"links":351},"",1,2,[352,353],{"id":247,"depth":350,"text":248},{"id":309,"depth":350,"text":309},"UnknownPay เป็นแพลตฟอร์มรับ-จ่ายเงิน (Payment Aggregator) ที่ให้ร้านค้าเชื่อมต่อแบบ Server-to-Server (S2S) จากเซิร์ฟเวอร์ของร้านค้าโดยตรง เพื่อ:","md",{},"\u002F",{"title":359,"description":360},"เอกสารเชื่อมต่อ UnknownPay Merchant API (S2S)","คู่มือเชื่อมต่อ Server-to-Server สำหรับร้านค้า — รับเงิน ถอนเงิน และ Webhook","index","stiuSHMeiu1XsnYJx5S6Gj6mmjf2xwKto8K-1u5Mtsc",[196,196],1781891152607]