Ringkasan

Sebagai bagian dari integrasi Reservasi secara menyeluruh di Pusat Tindakan, Anda dapat mengikutsertakan penjual untuk menerima pembayaran dari pengguna saat mereka membuat 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 pembayaran yang aman, 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 untuk mengetahui penerapannya.

Kelayakan

Agar penjual dapat menerima pembayaran melalui Pusat Tindakan, Anda harus memenuhi persyaratan berikut:

  1. Gunakan pemroses pembayaran yang didukung. Daftar terbaru pemroses yang didukung dapat ditemukan di situs Google Pay.
  2. Terima pembayaran token sesuai dengan pemroses Anda.
  3. Selesaikan proses verifikasi identitas dan bisnis yang diuraikan di sini.
  4. 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 bagi 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 kolom tokenization_config. Kumpulan ini bergantung pada pemroses pembayaran yang dipilih. Kumpulan tersebut sama dengan kumpulan paymentMethodTokenizationParameters.parameters yang akan diteruskan ke Google Pay jika Anda ingin mengintegrasikannya.
  • Feed Layanan/Ketersediaan: Tentukan persyaratan pembayaran berdasarkan kasus penggunaan yang sesuai. Untuk mengetahui detail selengkapnya, lihat Kasus penggunaan pembayaran.

Booking Server

Kasus penggunaan untuk pembayaran

Saat memutuskan apakah akan menerima pembayaran untuk setiap kasus penggunaan ini atau tidak, baca Kebijakan Pembayaran kami dan pastikan Anda dapat mematuhi semua kebijakan yang relevan.

Berikut adalah kasus penggunaan untuk pembayaran:

Untuk mengetahui informasi lebih lanjut cara menerapkan 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.

Gambar 1: Diagram urutan pemesanan dengan pembayaran di muka
Gambar 1: Diagram urutan pemesanan dengan pembayaran di muka
  • Pembayaran harus sebesar 100% dari jumlah biaya layanan. Dengan kata lain, layanan harus dibayar penuh pada saat pemesanan.
Perubahan pada feed layanan

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.

Gambar 2: Diagram urutan pemesanan deposit atau denda ketidakhadiran
Gambar 2: Diagram urutan pemesanan deposit atau denda ketidakhadiran

Deposit dan denda ketidakhadiran dapat digunakan untuk memastikan pengguna datang ke layanan yang mereka pesan.

  • Deposit dapat ditagihkan ke kartu kredit pengguna baik di awal maupun nanti.
  • Denda ketidakhadiran dapat ditagihkan kepada pengguna jika mereka tidak datang ke layanan yang mereka pesan.
  • Jika perlu, deposit dan denda ketidakhadiran dapat diterapkan bersamaan untuk pemesanan.
  • Meskipun tidak memerlukan pembayaran di muka, server pemesanan harus merespons permintaan CreateBooking dengan PaymentInformation berisi payment_transaction_id, yang harus bersifat unik. payment_transaction_id tidak perlu disediakan oleh pemroses pembayaran, tetapi dapat dibuat oleh server pemesanan.
Perubahan pada feed layanan atau ketersediaan

Deposit dan biaya ketidakhadiran dapat ditentukan di tingkat Layanan atau di tingkat slot Ketersediaan untuk penjual. Jika Anda menentukannya di tingkat slot ketersediaan, hal 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 ke REQUIRE_CREDIT_CARD_CONDITIONAL di tingkat slot layanan atau ketersediaan.
  • (opsional) Tetapkan prepayment_type ke REQUIRED atau OPTIONAL.

Kartu kredit diperlukan

Mungkin ada kasus penggunaan lain yang memerlukan kartu kredit pada saat pemesanan.

  • Tetapkan kolom require_credit_card ke REQUIRE_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. Dalam kedua kasus tersebut, Anda harus mematuhi CancellationPolicy yang ditetapkan di Tingkat layanan dan disampaikan kepada pengguna saat checkout pemesanan.

Jika Anda tidak memberikan CancellationPolicy, pembatalan apa pun dalam periode pembatalan yang ditentukan oleh min_advance_online_canceling yang ditetapkan di 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 Actions Center, harap diskusikan dengan POC Google Anda.

Perubahan pada RTU
  • Setelah memberikan pengembalian dana kepada pengguna, Anda harus mengirimkan update booking RTU untuk mengubah status pembayaran pemesanan. Tetapkan update_mask ke status,payment_information.prepayment_status, lalu tetapkan payment_information.prepayment_status = PREPAYMENT_REFUNDED dan status = CANCELED.
    • Gunakan BookingStatus = CANCELED dan PrepaymentStatus = PREPAYMENT_REFUNDED baru. Nilai enum CANCELED_AUTOMATIC_REFUND tidak digunakan lagi untuk Maps Booking API dan template gRPC.
Perubahan pada Server Pemesanan
  • Saat Pusat Tindakan mengirimkan UpdateBookingRequest dan hal ini memicu pengembalian dana untuk pengguna, tetapkan booking.payment_information.prepayment_status = PREPAYMENT_REFUNDED di UpdateBookingResponse.