โหมดการชำระเงิน
ทุก charge เลือกช่องทาง: ลูกค้าเชื่อมกระเป๋า, โอนธรรมดาไปยังที่อยู่เฉพาะของแต่ละ invoice, หรือให้เลือกเองระหว่างสองแบบที่หน้า checkout
await duckypay.charges.create({
chainId: 137,
fiat: { currency: 'USD', amount: '25' },
paymentMode: 'both', // 'wallet' | 'transfer' | 'both' (default)
});ภาพรวม#
wallet | transfer | both | |
|---|---|---|---|
| ประสบการณ์ลูกค้า | เชื่อมกระเป๋า อนุมัติ จ่าย | ส่งยอดที่ตรงไปยังที่อยู่ (QR) | ลูกค้าเลือกเองที่ checkout |
| ใช้ได้จากการถอนเอ็กซ์เชนจ์ | ไม่ได้ | ได้ | ได้ |
| ใครจ่ายค่าแก๊สเครือข่าย | ลูกค้า | relayer ของ DuckyPay หักคืนจากส่วนของคุณ (~0.015 USDT) | ขึ้นกับช่องทางที่ใช้ |
| การ settle | atomic — ธุรกรรมเดียว ทันที | โอนเข้าก่อน แล้วค่อยแบ่งเงินบนเชน | ช่องทางที่จ่ายก่อนชนะ |
โหมด wallet#
หน้า checkout ให้ลูกค้าเชื่อมกระเป๋า (WalletConnect หรือกระเป๋าในเบราว์เซอร์) และส่งธุรกรรม เดียวไปยังสัญญา PaymentRouter router ตรวจลายเซ็น EIP-712 ของ DuckyPay บน charge แล้วย้าย payer → merchant และ payer → treasury แบบ atomic ทันทีที่ ธุรกรรมคอนเฟิร์ม เงินอยู่ในกระเป๋าคุณ
- ลูกค้าจ่ายค่าแก๊สเอง ไม่มีการหักจากยอดของคุณ
- intent ที่เซ็นมี deadline — สัญญาปฏิเสธการจ่ายหลัง charge หมดอายุ หน้า checkout ที่ค้าง จึงจ่ายไม่ได้
โหมด transfer#
แต่ละ charge มี deposit address ของตัวเอง (คำนวณแบบกำหนดได้ — ไม่มี key สำหรับมัน) ลูกค้าเพียงส่งยอดโทเคนที่ตรงไปที่นั่น จากกระเป๋าใดก็ได้ หรือจากการถอนบนเอ็กซ์เชนจ์แบบรวมศูนย์ DuckyPay เฝ้าดูที่อยู่นั้น แล้วสั่งแบ่งเงินบน เชนเพื่อส่งส่วนของคุณเข้ากระเป๋ารับเงิน
- เพราะ deposit address ถือโทเคนแต่ไม่มีค่าแก๊ส relayer ของ DuckyPay จึงส่งธุรกรรม settle ให้ และหักคืนต้นทุนเครือข่ายจริง (ราว 0.015 USDT) จากส่วนของร้านค้า นี่คือ การส่งผ่านต้นทุน ไม่ใช่ค่าธรรมเนียมแพลตฟอร์ม — จำกัดที่ 1% บนเชน รายละเอียดที่ ราคาและค่าธรรมเนียม
- การ settle เป็น permissionless: ใครก็เรียก
settle()เองและ จ่ายค่าแก๊สเองแทนได้ เงินไม่มีทางติดค้างหลัง DuckyPay - ยอดที่โอนมาไม่ครบยังเคลมได้: เมื่อลูกค้าส่งน้อยไป คุณเติมให้ครบหรือสั่ง settle ยอดบางส่วนได้จากแดชบอร์ด
โหมด both#
invoice เดียวเปิดทั้งสองช่องทาง; หน้า checkout ให้ลูกค้าเลือก ลูกค้าสาย crypto เชื่อมกระเป๋า ลูกค้าที่มีเงินบนเอ็กซ์เชนจ์ใช้ deposit address ช่องทางที่จ่ายก่อนปิด invoice และอีกช่องทาง ถูกปิดอัตโนมัติ นี่คือค่าเริ่มต้น เมื่อคุณไม่ระบุ paymentMode (บนเชนที่ไม่มีช่องทาง transfer โหมดที่ไม่ระบุจะถอยกลับไปเป็น wallet)
เลือกโหมดอย่างไร#
- ขายให้ผู้ใช้สาย crypto?
wallet— ไม่มีการหัก และ settle แบบ atomic ทันที - ลูกค้าถอนจากเอ็กซ์เชนจ์?
transfer— ไม่ต้องรู้เรื่องกระเป๋าหรือ dapp เลย โอนธรรมดาก็จบการชำระเงิน - กลุ่มผสมหรือไม่แน่ใจ?
both— ให้ลูกค้าตัดสินใจที่ checkout