แพลตฟอร์ม Actions Center รองรับการกำหนดค่าที่หลากหลาย เพื่อรับการชำระเงิน การเปิดใช้คู่มือการชำระเงินครอบคลุมแง่มุมต่างๆ ของการผสานรวมที่ มีอยู่ในการผสานรวมการชำระเงินทั้งหมด ซึ่งรวมถึง
- การกำหนดค่าฟีดให้รวมข้อมูล
tokenization_parameter
- กำลังอัปเดตเซิร์ฟเวอร์การจองให้ยอมรับ
payment_method_token
วัตถุ - ภาพรวมของข้อมูลที่แลกเปลี่ยนระหว่างผู้ใช้, Actions Center พาร์ทเนอร์ / ผู้ขาย และผู้ประมวลผลการชำระเงิน
ในคู่มือนี้เราจะกล่าวถึงรายละเอียดเพิ่มเติมเกี่ยวกับ กำหนดค่าฟีดของคุณเพื่อระบุประเภทต่างๆ ของ การกำหนดค่าการชำระเงินจะมีผลกับผู้ขายและบริการของคุณ
- ไม่มีการชำระเงิน / จ่ายเมื่อมาถึง
- การชำระล่วงหน้าเต็มจำนวน
- ค่าธรรมเนียมการไม่แสดงตัว / ค่าธรรมเนียมการยกเลิก
- เงินฝาก
กรณีการใช้งานทั้งหมดสำหรับการชำระเงินคือส่วนขยายของการชำระเงินที่ไม่ต้องชำระ / กรณีการใช้งานแบบจ่ายเมื่อไปถึง (ซึ่งไม่ต้องกำหนดค่าการชำระเงิน) ด้วยเหตุนี้ จะเริ่มต้นโดยอธิบายการกำหนดค่านั้น และจัดการการกำหนดค่า เป็นส่วนขยายได้
แต่ละส่วนยังครอบคลุมฟิลด์ที่จะติดตามใน เซิร์ฟเวอร์การจองเพื่อยอมรับการชำระเงิน การกำหนดค่า
ไม่มีการชำระเงิน / จ่ายเมื่อมาถึง
สำหรับบริการที่ไม่ต้องชำระเงิน ณ เวลาที่จอง ผู้ขายหรือบริการไม่จำเป็นต้องกำหนดค่าการชำระเงินใดๆ อย่างไรก็ตาม คุณยังคงต้องระบุราคาอยู่
นี่คือการกำหนดค่าพื้นฐานสำหรับบริการซึ่งมี
ชื่อ คำอธิบาย และราคา นี่จะเป็นข้อความบริการเดียว
ภายใน
ServiceFeed
:
JSON
{ "merchant_id": "merchant-1", "service_id": "service-1-a", "name": "Men's haircut", "description": "One of our stylists will cut your hair", "price": { "price_micros": 15000000, "currency_code": "USD" } }
ไม่จำเป็นต้องมีการกำหนดค่าเพิ่มเติมนอกเหนือจากการใช้งานมาตรฐาน ในเซิร์ฟเวอร์การจองเพื่อรองรับการชำระเงินเมื่อมาถึง
การชำระเงินล่วงหน้า
การกำหนดค่านี้ใช้เพื่อระบุจำนวนเงินสำหรับบริการ ต้องชำระเต็มจำนวน ณ เวลาที่จอง
การชำระล่วงหน้ามีการระบุในระดับบริการผ่าน
ฟิลด์ prepayment_type
ของ
Service
หากต้องการให้มีการชำระค่าบริการนี้
ควรตั้งค่าเป็น REQUIRED
ตามตัวอย่างด้านล่าง โปรดทราบว่า
ราคาจะระบุในลักษณะเดียวกันกับตัวอย่างแบบจ่ายต่อการมาถึง ที่นี่
เนื่องจากเรากำลังตั้งค่าประเภทการชำระล่วงหน้าเป็น บังคับ บัตรเครดิตจะ
และจะเรียกเก็บราคานี้ได้เมื่อชำระเงิน
JSON
{ "merchant_id": "merchant-1", "service_id": "service-2-b", "name": "Spa Treatment", "description": "A full spa treatment", "price": { "price_micros": "200000000", "currency_code": "USD" } "prepayment_type": "REQUIRED" }
เซิร์ฟเวอร์การจอง
เมื่อรับการชำระเงินล่วงหน้า ระบบจะส่งโทเค็นการชำระเงินไปยังการจองของคุณ
เซิร์ฟเวอร์ในการเรียก
CreateBooking
ผ่านช่อง
payment_processing_parameters.unparsed_payment_method_token
คุณจะต้องเรียกเก็บเงินตามจำนวนที่ระบุผ่าน
คุณต้องใช้สกุลเงินในช่องราคาในฟีด
ที่ระบุในฟีด การเรียกเก็บเงินเหล่านี้ควรเป็นไปตามขั้นตอนที่อธิบายไว้
ในช่วง
การเปิดใช้คู่มือการชำระเงิน
เมื่อส่งคืน
CreateBookingResponse
ต้องตั้งค่าฟิลด์ booking.payment_information
ให้ถูกต้อง
แสดงว่ามีการจัดเตรียมและประมวลผลการชำระเงินล่วงหน้าแล้ว
ข้อกำหนด PaymentInformation
มีแบบเต็ม
เอกสารประกอบสำหรับตัวเลือกข้อมูลการชำระเงินทั้งหมด ตัวอย่างแบบย่อสำหรับ
สามารถดูการชำระล่วงหน้าได้ที่ด้านล่าง สิ่งสำคัญคือราคา
แสดงในฟิลด์ราคาทุกประการกับราคาที่ระบุไว้ในฟิลด์
อีกครั้ง นอกจากนี้หากระบุอัตราภาษีในฟีด/คำขอ
จะต้องรวมอยู่ด้วยทั้งหมด
และโปรดทราบว่าคุณจะต้องระบุรหัสธุรกรรมด้วย รหัสธุรกรรมนี้ อย่างน้อยที่สุดจะต้องไม่ซ้ำกันระหว่างธุรกรรมกับผู้ขายรายนั้น ต รหัสธุรกรรมที่เหมาะสมคือรหัสธุรกรรมที่ระบุให้กับ คุณเป็นผู้ประมวลผลการชำระเงิน
JSON
{ "prepayment_status": "PREPAYMENT_PROVIDED", "payment_processed_by": "PROCESSED_BY_PARTNER", "payment_transaction_id": "[this-transaction-id]", "price": { "price_micros": "200000000", "currency_code": "USD" } }
ค่าธรรมเนียมการไม่แสดงตัว
ค่าธรรมเนียมการไม่แสดงตัวจะเรียกเก็บจากผู้ใช้หากผู้ใช้ไม่ได้เข้าร่วมงาน การจอง หรือหากลูกค้ายกเลิกหลังจาก กรอบเวลาการยกเลิก หากไม่ได้ระบุหน้าต่างการยกเลิก ระบบจะ เป็นค่าเริ่มต้นของเวลาเริ่มต้นของช่อง
หากต้องการระบุค่าธรรมเนียมการไม่แสดงตัวในฟีดบริการ คุณควรระบุ
no_show_fee
ตามที่แสดงในตัวอย่างด้านล่าง
JSON
{ "merchant_id": "merchant-1", "service_id": "service-2-b", "name": "Spa Treatment", "description": "A full spa treatment", "price": { "price_micros": 200000000, "currency_code": "USD" } "scheduling_rules": { "min_advance_online_canceling": 14400, } "no_show_fee": { "fee": { "price_micros": 25000000, "currency_code": "USD" } "fee_type": "FIXED_RATE_DEFAULT" } }
ในตัวอย่างด้านบน พาร์ทเนอร์หรือผู้ขายได้รับอนุญาตให้
เรียกเก็บในอัตราคงที่ $25 ตามที่ระบุไว้ใน
no_show_fee.fee.price_micros
หากเจ้าของการนัดหมาย
ไม่เข้าร่วมการนัดหมาย อาจมีการเรียกเก็บค่าธรรมเนียมนี้หากผู้ใช้
ยกเลิกภายใน 4 ชั่วโมง (14, 400 วินาที) ก่อนถึงเวลานัดหมาย เช่น
ที่ระบุไว้ใน scheduling_rules.min_advance_online_canceling
ด้วย
หากต้องการดูว่ากำหนดค่าธรรมเนียมการไม่แสดงสินค้าในระดับความพร้อมจำหน่ายสินค้าได้อย่างไร โปรดดู ส่วนนี้
เซิร์ฟเวอร์การจอง
เมื่อดำเนินการตามคำขอที่มีค่าธรรมเนียมการไม่แสดงตัว ระบบจะใช้โทเค็นการชำระเงิน
ไปยังเซิร์ฟเวอร์การจองของคุณในการเรียก
CreateBooking
ผ่านช่อง
payment_processing_parameters.unparsed_payment_method_token
ระบบจะส่งโทเค็นนี้ในลักษณะเดียวกับการชำระเงินล่วงหน้า
อย่างไรก็ตาม เนื่องจากโทเค็นจะได้รับอนุญาตเป็นระยะเวลาสั้นๆ เท่านั้น
คุณต้องเรียกใช้ API ที่เกี่ยวข้องของผู้ประมวลผลการชำระเงินเพื่อ
อัปเกรดโทเค็นนี้ให้เป็นเวอร์ชันที่คุณสามารถคงไว้สำหรับการใช้งานที่
ในภายหลัง ซึ่งอธิบายไว้ในส่วนคู่มือการเปิดใช้การชำระเงิน
ในวันที่
ขั้นตอนโทเค็นค่าธรรมเนียมการไม่แสดงตัว
เมื่อส่งคืน
CreateBookingResponse
ต้องตั้งค่าช่อง booking.payment_information
ให้ถูกต้อง
แสดงสถานะของค่าธรรมเนียมการไม่แสดงตัวตามตัวอย่างด้านล่าง
JSON
{ "prepayment_status": "PREPAYMENT_PROVIDED", "payment_processed_by": "PROCESSED_BY_PARTNER", "payment_transaction_id": "[this-transaction-id]", "price": { "price_micros": "200000000", "currency_code": "USD" } "no_show_fee": { "fee": { "price_micros": 25000000, "currency_code": "USD" } "fee_type": "FIXED_RATE_DEFAULT" } }
โปรดทราบว่า no_show_fee
ได้รับการตั้งค่าให้แสดงราคาและ
ของค่าธรรมเนียมที่อาจเรียกเก็บได้ และโปรดทราบว่า คล้ายกับ
ตัวอย่างการชำระเงินล่วงหน้าต้องระบุ transaction_id
ในข้อความนี้
นอกจากนี้ โปรดทราบว่า booking_id
ที่ตั้งค่าไว้ใน
CreateBookingResponse
เป็นช่องที่ต้องกรอกสำหรับการอัปเดตแบบเรียลไทม์ที่ต้องส่งเมื่อชาร์จ
ค่าธรรมเนียมการไม่แสดงตัว ระบบควรจะจัดเก็บรหัสนี้ไว้พร้อมกับข้อมูล
เกี่ยวกับการจอง
การอัปเดตแบบเรียลไทม์
หากผู้ใช้มาไม่ถึงเวลาที่จองไว้หรือยกเลิก หลังหน้าต่างยกเลิก (เช่น โดยการติดต่อคุณโดยตรง) คุณจะ อาจเรียกเก็บค่าธรรมเนียมการไม่แสดงตัวที่ระบุไว้โดยใช้ข้อมูลการชำระเงิน ที่คุณจัดเก็บไว้ขณะทำการจอง เมื่อเรียกเก็บค่าธรรมเนียมการไม่แสดงตัว คุณจะต้องส่ง การอัปเดตแบบเรียลไทม์ระบุว่ามีการเรียกเก็บค่าธรรมเนียมการไม่แสดงตัว
สำหรับการจองที่สร้างโดย
CreateBooking
ระบบควรส่งอัปเดตไปที่
notification.partners.bookings.patch
ในส่วนเนื้อหาของคำขอนี้ควร
การจองที่อัปเดต โดยตั้งค่าสถานะเป็น
NO_SHOW_PENALIZED
สถานะนี้จะแจ้งให้ Google ทราบว่าการเรียกเก็บเงิน
สร้าง
เช่น ส่งคำขอไปที่
PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/12345678/bookings/123123123?updateMask=status
ด้วยเนื้อหาคำขอ ให้ทำดังนี้
JSON
{ "name": "partners/12345678/bookings/123123123" "merchantId": "merchant-1" "serviceId": "service-2-b" "status": "NO_SHOW_PENALIZED" }
เงินฝาก
เงินมัดจำใช้เพื่อเก็บค่าบริการเริ่มต้นตามข้อกำหนดสำหรับ การจอง เรียกเก็บเงินมัดจำได้เมื่อทำการจองหรือภายหลัง คุณอาจต้องระบุว่าสามารถคืนเงินมัดจำใดได้บ้างภายใต้ข้อกำหนด และ เมื่อยกเลิกการจองทางออนไลน์ได้
หากต้องการระบุเงินฝาก คุณควรใส่ฟิลด์
deposit
ตามที่แสดงในตัวอย่างด้านล่าง
JSON
{ "merchant_id": "merchant-1", "service_id": "service-2-b", "name": "Spa Treatment", "description": "A full spa treatment", "price": { "price_micros": 200000000, "currency_code": "USD" } "scheduling_rules": { "min_advance_online_canceling": 86400, } "deposit": { "deposit": { "price_micros": 25000000, "currency_code": USD, "min_advance_cancellation_sec": 14400, } "deposit_type": "FIXED_RATE_DEFAULT" } }
ในตัวอย่างนี้
min_advance_online_canceling
กำหนดหน้าต่างการยกเลิกและ
deposit.min_advance_cancellation_sec
กำหนดเวลาที่คืนเงินมัดจำได้ โปรดทราบว่าในตัวอย่างด้านบน จำนวนเงินฝากสามารถระบุ
เวลายกเลิกแยกจากเงื่อนไขการคืนเงิน ในกรณีนี้ ผู้ใช้จะยกเลิกได้
ล่วงหน้าสูงสุด 24 ชั่วโมง (86,400 วินาที) ซึ่งช่วยให้มั่นใจว่าผู้ขายจะ
แจ้งโดยตรงเกี่ยวกับการยกเลิกล่าช้า อย่างไรก็ตาม ผู้ใช้อาจยัง
มีสิทธิ์รับเงินคืนจากการมัดจำล่วงหน้า 4 ชั่วโมง
(14,400 วินาที) ก่อนการจอง (โดยการติดต่อคุณหรือผู้ขายเพื่อขอยกเลิก)
ซึ่งจะปรากฏอยู่ในข้อกำหนดที่จุดชำระเงินและในอีเมลยืนยัน
หากต้องการดูวิธีกำหนดเงินฝากในระดับความพร้อมจำหน่ายสินค้า โปรดดู ส่วนนี้
เซิร์ฟเวอร์การจอง
เมื่อดำเนินการตามคำขอที่มีเงินฝาก โทเค็นการชำระเงินจะเป็น
ที่ส่งไปยังเซิร์ฟเวอร์การจองของคุณในการเรียก
CreateBooking
ผ่านช่อง
payment_processing_parameters.unparsed_payment_method_token
ระบบจะส่งโทเค็นนี้ในลักษณะเดียวกับในกรณีที่ชำระเงินล่วงหน้า หากคุณ
เรียกเก็บเงินหรือยกเลิกการระงับ ณ เวลาที่ทำการจอง
ในระหว่างคำขอนี้
หากคุณตั้งใจที่จะฝากเงินในภายหลังเนื่องจากโทเค็น ได้รับอนุญาตในช่วงสั้นๆ เท่านั้น คุณต้องเรียกใช้ API ที่เกี่ยวข้องของผู้ประมวลผลการชำระเงินของคุณเพื่ออัปเกรดโทเค็นนี้เป็น เวอร์ชันที่คุณสามารถคงไว้ใช้ในภายหลังได้ นี่คือ ตามที่อธิบายไว้ในส่วนคู่มือการเปิดใช้งานการชำระเงิน ขั้นตอนโทเค็นเงินฝาก
เมื่อส่งคืน
CreateBookingResponse
ช่อง booking.payment_information
ต้อง
แสดงการฝากเงินกลับมาอย่างถูกต้อง ตามที่แสดงในตัวอย่างด้านล่าง
JSON
{ "prepayment_status": "PREPAYMENT_PROVIDED", "payment_processed_by": "PROCESSED_BY_PARTNER", "payment_transaction_id": "[this-transaction-id]", "price": { "price_micros": "200000000", "currency_code": "USD" } "deposit": { "deposit": { "price_micros": 25000000, "currency_code": USD, "min_advance_cancellation_sec": 28800, } "deposit_type": "FIXED_RATE_DEFAULT" } }
โปรดทราบว่าเงินฝากดังกล่าวถูกตั้งค่าให้แสดงราคาและโครงสร้างของ
ที่จะมีการเรียกเก็บหรือระงับไว้ และโปรดทราบว่า คล้ายกับ
ตัวอย่างการชำระเงินล่วงหน้าต้องระบุ transaction_id
ในข้อความนี้
การอัปเดตแบบเรียลไทม์
หากผู้ใช้ยกเลิกการจองก่อนถึงกรอบเวลายกเลิกการมัดจำ คุณ จะต้องคืนเงินมัดจำใดๆ ที่คุณเรียกเก็บจากบัตรผู้ใช้ วันและเวลา การคืนเงินมัดจำ คุณต้องส่ง การอัปเดตแบบเรียลไทม์ระบุว่าเงินมัดจำคืนแล้ว
สำหรับการจองที่สร้างโดย
CreateBooking
ระบบควรส่งอัปเดตไปที่
notification.partners.bookings.patch
ในเนื้อหาของ
คำขอควรเป็นการจองที่อัปเดตแล้วและตั้งสถานะเป็น
CANCELED
และ
ตั้งค่าช่อง paymentInformation.prepaymentStatus
เป็น
PREPAYMENT_REFUNDED
ซึ่งเป็นการแจ้งให้ Google ทราบว่าเงินฝากดังกล่าวถูก
คืนเงินแล้ว
เช่น ส่งคำขอไปที่
PATCH https://mapsbooking.googleapis.com/v1alpha/notification/partners/12345678/bookings/123123123?updateMask=status
ด้วยเนื้อหาคำขอ ให้ทำดังนี้
JSON
{ "name": "partners/12345678/bookings/123123123" "merchantId": "merchant-1" "serviceId": "service-2-b" "status": "CANCELED" "paymentInformation": { "prepaymentStatus": "PREPAYMENT_REFUNDED" } }
ต้องใช้บัตรเครดิต
บริการอาจต้องใช้บัตรเครดิตเป็นบริการเพิ่มเติม การยืนยันตัวตนของผู้ใช้ อย่างไรก็ตาม คุณไม่ควรใช้ สำหรับการชำระเงินล่วงหน้า เงินฝาก หรือค่าธรรมเนียมการไม่แสดงตัว หากกรณีการใช้งานเหล่านั้น จำเป็น คุณควรกำหนดค่าอย่างชัดแจ้งโดยใช้ขั้นตอน ที่ด้านบน และโปรดทราบว่าการใช้บัตรเครดิตมักจะนำไปสู่ ยอดการจองสำหรับบริการนี้ลดลงอย่างมาก
หากต้องการกำหนดให้ต้องระบุบัตรเครดิตในระหว่างการชำระเงิน คุณต้องตั้งค่า
ฟิลด์ require_credit_card
เพื่อ
REQUIRE_CREDIT_CARD_ALWAYS
JSON
{ "merchant_id": "merchant-1", "service_id": "service-1-a", "name": "Men's haircut", "description": "One of our stylists will cut your hair", "price": { "price_micros": 15000000, "currency_code": "USD" }, "require_credit_card": "REQUIRE_CREDIT_CARD_ALWAYS" }
เซิร์ฟเวอร์การจอง
เมื่อประมวลผลคำขอที่มีข้อกำหนดบัตรเครดิตรวมอยู่ด้วย
ระบบจะส่งโทเค็นไปยังเซิร์ฟเวอร์การจองของคุณในการเรียก
CreateBooking
ผ่านช่อง
payment_processing_parameters.unparsed_payment_method_token
ระบบจะส่งโทเค็นนี้ในลักษณะเดียวกับการชำระเงินล่วงหน้า
อย่างไรก็ตาม เนื่องจากโทเค็นจะได้รับอนุญาตเป็นระยะเวลาสั้นๆ เท่านั้น
คุณต้องเรียกใช้ API ที่เกี่ยวข้องของผู้ประมวลผลการชำระเงินเพื่อ
อัปเกรดโทเค็นนี้ให้เป็นเวอร์ชันที่คุณสามารถคงไว้สำหรับการใช้งานที่
ในภายหลัง
ไม่จําเป็นต้องระบุข้อมูลเพิ่มเติมในการตอบกลับของเซิร์ฟเวอร์การจอง นอกเหนือจากกรณีการใช้งานแบบจ่ายเมื่อไปถึง
การลบล้างราคาในระดับความพร้อมจำหน่ายสินค้า
ในตัวอย่างทั้งหมดข้างต้น มีการระบุโครงสร้างราคา / ค่าธรรมเนียม ที่ระดับบริการ ในกรณีส่วนใหญ่ การกำหนดราคาระดับบริการนี้ควรเป็น อย่างไรก็ตาม ในบางกรณี การปรับเปลี่ยนโครงสร้างการชำระเงินอาจเป็นเรื่องที่เหมาะสม สำหรับช่วงเวลาว่างที่เจาะจง ตัวอย่างเช่น สถานการณ์ต่อไปนี้ จัดการได้ด้วยการลบล้างราคา / ค่าธรรมเนียมในระดับความพร้อมจำหน่ายสินค้า ดังนี้
- โดยราคาจะลดลงในวันอังคารและเพิ่มขึ้นในวันเสาร์
- ไม่มีค่าธรรมเนียมการแสดงสำหรับห้องว่างระหว่างเวลา 17:00 น. - 19:00 น.
ตารางด้านล่างแสดงรายการของวิธีการชำระเงิน / ค่าธรรมเนียมแต่ละวิธี ช่อง ใช้ในฟีดความพร้อมจำหน่ายสินค้าเพื่อลบล้างคำจำกัดความระดับบริการ
รูปแบบการชำระเงิน | คำจำกัดความของค่าธรรมเนียม / ราคา | ลบล้างได้ไหม |
---|---|---|
จ่ายเมื่อมาถึง | Service.price
|
ราคาที่สามารถลบล้างได้จนถึง
การอ้างอิง Availability.payment_option_id รายการ
Merchant.payment_option
|
การชำระเงินล่วงหน้า | Service.price
|
ราคาลบล้างได้ผ่าน
การอ้างอิง Availability.payment_option_id รายการ
Merchant.payment_option
|
ค่าธรรมเนียมการไม่แสดง | Service.no_show_fee
|
Availability.no_show_fee
|
เงินฝาก | Service.deposit
|
Availability.deposit
|
ต้องใช้บัตรเครดิต | Service.require_credit_card
|
Availability.require_credit_card
|
โปรดทราบว่าหากต้องการลบล้างราคาที่ระดับความพร้อมจำหน่ายสินค้า คุณต้องกำหนดก่อน ตัวเลือกการชำระเงินในระดับผู้ขาย นอกจากนี้ สำหรับคำแนะนำในการเพิ่ม กรอบเวลาการยกเลิกที่ระดับความพร้อมให้บริการ โปรดดูคู่มือ วิธีเพิ่มหน้าต่างการยกเลิก