Sebagai bagian dari integrasi End-to-End Janji Temu di Pusat Action, Anda dapat mengikutsertakan penjual untuk menerima pembayaran dari pengguna saat mereka melakukan pemesanan, janji temu, atau reservasi. Google bekerja sama dengan pemroses pembayaran untuk menyiapkan tokenisasi. Pemroses pembayaran selanjutnya menggunakan token unik untuk membayar penjual secara aman.
Untuk pemesanan yang aman untuk pembayaran, kami merender modul Info Pembayaran dalam alur checkout. Hal ini memungkinkan pengguna memasukkan informasi kartu kredit mereka.
Dukungan untuk 3DS1 dan 3DS2 tersedia, lihat tutorial ini pada penerapan.
Kelayakan
Agar penjual dapat menerima pembayaran melalui Actions Center, Anda harus memenuhi persyaratan berikut:
- Gunakan pemroses pembayaran yang didukung. Daftar terbaru pemroses yang didukung dapat ditemukan di situs Google Pay.
- Terima pembayaran token sesuai dengan pemroses Anda.
- Selesaikan proses verifikasi identitas dan bisnis bisnis yang diuraikan di sini.
- Pembayaran tidak dapat diaktifkan untuk pemesanan yang memerlukan konfirmasi asinkron .
Perubahan pada feed dan server pemesanan untuk pembayaran
Pembayaran dilakukan melalui proses keikutsertaan di tingkat penjual. Anda harus mengaktifkan pembayaran untuk setiap penjual yang perlu menerima pembayaran untuk setiap layanan mereka. Untuk mengaktifkan pembayaran, perubahan harus dilakukan pada feed dan server pemesanan.
Feed
- Feed Penjual: Tentukan informasi pembayaran melalui
tokenization_parameter
yang ditetapkan di kolomtokenization_config
. Kumpulan ini bergantung pada pemroses pembayaran yang dipilih. Kumpulan ini adalah kumpulanpaymentMethodTokenizationParameters.parameters
yang sama yang akan diteruskan ke Google Pay jika Anda mengintegrasikannya. - Feed Layanan/Ketersediaan: Tentukan persyaratan pembayaran berdasarkan kasus penggunaan yang sesuai. Untuk mendapatkan detail lebih lanjut, lihat Kasus penggunaan pembayaran.
Server Pemesanan
- Berdasarkan jenis pembayaran yang dilakukan pengguna, terapkan
metode
CreateBooking
- Google akan mengirimkan token pembayaran di kolom
payment_processing_parameters.unparsed_payment_method_token
sebagai bagian dariCreateBookingRequest
.paymentData
ini sama dengan yang akan diterima oleh callback Anda dalam integrasi Google Pay. - Dalam
CreateBookingResponse
, sertakan pesan PaymentInformation yang menentukan jenis pembayaran, status, ID transaksi, dan struktur harga / biaya. - Tetapkan kolom
payment_information.payment_processed_by
kePROCESSED_BY_PARTNER
diCreateBookingResponse
.
Kasus penggunaan untuk pembayaran
Saat memutuskan apakah akan menerima pembayaran untuk setiap kasus penggunaan ini atau tidak, tinjau Kebijakan Pembayaran kami dan pastikan Anda dapat mematuhi semua kebijakan yang relevan.
Berikut ini beberapa kasus penggunaan pembayaran:
- Menyelesaikan pemesanan dengan pembayaran di muka
- Deposit yang diperlukan untuk pemesanan
- Denda ketidakhadiran jika pengguna tidak datang ke layanan yang dipesan
- Kartu kredit diperlukan untuk pemesanan
Untuk informasi selengkapnya tentang cara mengimplementasikan setiap kasus penggunaan ini, lihat tutorial tentang Mengonfigurasi Pembayaran.
Menyelesaikan pemesanan dengan pembayaran di muka
Gambar 1 menunjukkan alur aktivitas di antara pengguna, Anda (partner penjadwalan), Google, dan pemroses pembayaran.
- Pembayaran harus sebesar 100% dari jumlah biaya layanan. Dengan kata lain, layanan harus dibayar penuh pada saat pemesanan.
-
Tetapkan kolom
prepayment_type
keREQUIRED
untuk layanan tersebut. - Tetapkan kolom
require_credit_card
keREQUIRE_CREDIT_CARD_CONDITIONAL
untuk layanan tersebut.
Deposit dan denda ketidakhadiran
Deposit dan denda ketidakhadiran disiapkan dengan cara serupa. Gambar 2 menunjukkan alur aktivitas ini di antara pengguna, Anda (partner penjadwalan), Google, dan pemroses pembayaran.
Setoran dan denda ketidakhadiran dapat digunakan untuk memastikan pengguna hadir untuk pemesanan mereka.
- Setoran dapat ditagihkan ke kartu kredit pengguna baik di muka maupun di lain waktu.
- Denda ketidakhadiran dapat ditagihkan kepada pengguna jika ia tidak hadir di pemesanan.
- Jika perlu, deposit dan denda ketidakhadiran dapat diterapkan bersamaan untuk pemesanan.
- Meskipun tidak ada pembayaran yang diperlukan di muka, server pemesanan harus merespons permintaan CreateBooking dengan
PaymentInformation
yang berisipayment_transaction_id
, yang harus unik.payment_transaction_id
tidak perlu disediakan oleh pemroses pembayaran, tetapi dapat dibuat oleh server pemesanan.
Setoran dan biaya ketidakhadiran dapat ditentukan di tingkat Layanan atau di tingkat slot Ketersediaan untuk penjual. Jika Anda menentukannya pada tingkat slot ketersediaan, definisi tersebut akan menggantikan definisi tingkat layanan.
- Untuk mengaktifkan deposit, tetapkan kolom
deposit
pada tingkat slot layanan atau ketersediaan. - Untuk mengaktifkan denda ketidakhadiran, tetapkan kolom
no_show_fee
pada tingkat slot layanan atau ketersediaan. - Tetapkan kolom
require_credit_card
keREQUIRE_CREDIT_CARD_CONDITIONAL
pada tingkat slot layanan atau ketersediaan. - (opsional) Tetapkan
prepayment_type
keREQUIRED
atauOPTIONAL
.
Kartu kredit diperlukan
Mungkin ada kasus penggunaan lain yang memerlukan kartu kredit pada saat pemesanan.
- Tetapkan kolom
require_credit_card
keREQUIRE_CREDIT_CARD_ALWAYS
di tingkat Layanan atau di tingkat slot Ketersediaan untuk penjual.
Pembatalan dan Pengembalian Dana
Pembatalan dan pengembalian dana dimulai oleh partner (Anda) atau oleh pengguna melalui
Pusat Tindakan. Pada kedua kasus tersebut, Anda harus mematuhi CancellationPolicy
yang ditetapkan di Tingkat layanan dan dikomunikasikan kepada pengguna saat checkout pemesanan.
Jika Anda tidak memberikan
CancellationPolicy
,
diasumsikan bahwa setiap pembatalan dalam periode pembatalan yang ditentukan oleh
min_advance_online_canceling
yang ditetapkan pada
Tingkat layanan
dapat dikembalikan dananya.
Jika min_advance_online_canceling
tidak ditentukan, nilainya adalah 0 (artinya dapat dibatalkan kapan saja).
Jika Anda harus menonaktifkan pembatalan dari sisi Pusat Tindakan, diskusikan dengan Google POC Anda.
Perubahan pada RTU- Setelah memberikan pengembalian dana kepada pengguna, Anda harus mengirimkan pembaruan RTU pemesanan untuk mengubah status pembayaran pemesanan. Tetapkan
update_mask
kestatus,payment_information.prepayment_status
lalu tetapkanpayment_information.prepayment_status = PREPAYMENT_REFUNDED
danstatus = CANCELED
.- Gunakan
BookingStatus = CANCELED
danPrepaymentStatus = PREPAYMENT_REFUNDED
yang baru. Nilai enumCANCELED_AUTOMATIC_REFUND
tidak digunakan lagi untuk Maps Booking API dan template gRPC.
- Gunakan
- Saat Pusat Tindakan mengirimkan
UpdateBookingRequest
dan tindakan ini memicu pengembalian dana untuk pengguna, tetapkanbooking.payment_information.prepayment_status = PREPAYMENT_REFUNDED
diUpdateBookingResponse
.