เริ่มต้นใช้งาน
รับการชำระเงินทดสอบครั้งแรกบน Polygon Amoy ในราว 15 นาที — ไม่มีเงินจริง ไม่ต้อง deploy สัญญาใด ๆ
ก่อนเริ่ม#
คุณต้องมีบัญชี DuckyPay (ฟรี ยืนยันแค่อีเมล) และกระเป๋า EVM ที่คุณควบคุมเอง — กระเป๋านั้น คือที่ที่เงินของคุณจะเข้า ทุกอย่างด้านล่างรันบน Polygon Amoy testnet ด้วย โทเคนทดสอบ จึงไม่แตะเงินจริงเลย
ห้าขั้นตอน#
สร้างโปรเจกต์และเชื่อมกระเป๋ารับเงิน
สมัครที่ app.duckypay.co แล้วสร้างโปรเจกต์ จากนั้น ตั้ง กระเป๋ารับเงิน (payout wallet) ของโปรเจกต์ — ที่อยู่ที่รับทุกการ ชำระเงิน คุณยืนยันความเป็นเจ้าของด้วยการเซ็นข้อความด้วยกระเป๋านั้น (DuckyPay ไม่เคยขอ private key ขอแค่ลายเซ็น)
ระบบจะปฏิเสธการสร้าง charge จนกว่าจะตั้งกระเป๋ารับเงิน — เพราะไม่มีที่ให้เงินเข้า
คัดลอก API key แบบทดสอบ
ในหน้า API keys ของโปรเจกต์ คัดลอก test key (
dp_test_…) test key สร้าง charge ได้บน testnet เท่านั้น และ live key บน mainnet เท่านั้น — สลับกัน ไม่ได้ รายละเอียดที่ Authenticationสร้าง charge
การเรียกที่ยืนยันตัวตนครั้งเดียวสร้าง invoice และคืน URL ของ hosted checkout จำนวนเงิน เป็นสตริงในหน่วยย่อยที่สุดของโทเคน —
5000000คือ 5 USDC ที่ 6 decimals (SDK@duckypay/nodeมีtoBaseUnits("5", 6)ให้ คุณจึงไม่ ต้องคำนวณเอง)curl https://api.duckypay.co/v1/invoices \ -H "x-api-key: $DUCKYPAY_API_KEY" \ -H "content-type: application/json" \ -d '{ "chainId": 80002, "amount": "5000000", "paymentMode": "both", "reference": "order_1001" }'{ "success": true, "data": { "invoiceId": "0x2b7e…c4a1", "chainId": 80002, "mode": "both", "checkoutUrl": "https://pay.duckypay.co/c/0x2b7e…c4a1", "depositAddress": "0x9F62…7EBB", "token": "0x34D9…d14A", "amount": "5000000", "feeBps": 0, "deadline": "1789552800", "intent": { "…": "signed PaymentIntent for wallet mode" }, "signature": "0x…" }, "error": null }จ่ายบน hosted checkout
เปิด
checkoutUrlในเบราว์เซอร์ เพราะ charge นี้สร้างด้วยpaymentMode: "both"หน้า checkout จึงมีสองทาง: เชื่อมกระเป๋าบน Amoy หรือส่งโทเคนทดสอบไปที่ deposit address ที่แสดง สำหรับค่าแก๊ส ขอ Amoy POL ฟรีจาก faucet ทางการของ Polygonยืนยันการชำระเงิน
Poll เส้น status แบบเบาจนกว่าจะเปลี่ยนเป็น
paid— หรือดีกว่านั้น ลงทะเบียน webhook แล้วรับ eventinvoice.paidที่เซ็นกำกับ พร้อมreferenceของคุณส่งกลับมาด้วยcurl https://api.duckypay.co/v1/charges/0x2b7e…c4a1/status \ -H "x-api-key: $DUCKYPAY_API_KEY" # → { "success": true, "data": { "invoiceId": "0x2b7e…c4a1", "status": "paid" }, "error": null }เมื่อธุรกรรมบนเชนคอนเฟิร์ม เงินเข้ากระเป๋าคุณแล้ว; สถานะมักตามทันภายในไม่กี่นาที
ไปต่อที่ไหน#
- Webhooks — ทำตามคำสั่งซื้ออัตโนมัติด้วย event ที่ยืนยันลายเซ็น
- โหมดการชำระเงิน — เลือกระหว่าง wallet, transfer หรือ both สำหรับทราฟฟิกจริง
- เช็กลิสต์ก่อนเปิดใช้จริง — สลับจากเงินทดสอบ Amoy ไปเป็น Polygon mainnet