Ringkasan
Google Pembayaran Standar mendukung FOP (bentuk pembayaran) berbasis uang tunai, seperti pembelian toserba (misalnya 7-Eleven). Pada level tinggi, pengguna yang ingin membayar barang akan membuat nomor referensi melalui Integrator pembayaran. Pengguna kemudian membawa nomor referensi ini ke minimarket, kios, atau bank dan membayar nomor referensi.
![]() |
![]() |
![]() |
Konsep dan terminologi
Simbol & Konvensi
Kata kunci "HARUS", "TIDAK BOLEH", "WAJIB", "SHALL", "TIDAK BOLEH", "SEHARUSNYA," "TIDAK BOLEH", "DIREKOMENDASIKAN", "MEI", dan "OPSIONAL" dalam dokumen ini akan ditafsirkan sebagaimana dijelaskan dalam RFC 2119.
Stempel waktu
Semua stempel waktu direpresentasikan sebagai milidetik sejak Unix epoch (1 Januari 1970) dalam UTC.
Contoh:
- 23 April 2019 20.23.25 GMT = 1556051005000 milidetik
- 16 Agustus 2018 12.28.35 GMT = 1534422515000 milidetik
Jumlah
Nilai uang dalam API ini menggunakan format yang disebut "mikro", sebagai standar di Google. Mikro adalah format presisi tetap berbasis bilangan bulat. Untuk mewakili nilai uang dalam mikro, kalikan nilai mata uang standar dengan 1.000.000.
Contoh:
- USD$1,23 = 1230000 micro USD
- USD$0,01 = 10000 micro USD
Idempotensi
Semua panggilan metode dalam API ini harus memiliki perilaku idempoten. Google akan secara sporadis mencoba kembali permintaan untuk memastikan bahwa transaksi berada dalam status yang sama di kedua sisi. Integrator tidak boleh mencoba memproses ulang permintaan apa pun yang sudah berhasil diproses. Respons untuk pemrosesan yang berhasil harus dilaporkan. Semua metode memiliki RequestHeader
umum yang berisi requestId. requestId ini adalah kunci idempotency untuk semua panggilan.
Semua respons non-terminal (non-HTTP 200-sukses), tidak boleh diproses secara idempoten. Jadi, permintaan yang sebelumnya mendapatkan 400 (permintaan buruk/prakondisi gagal), saat dipanggil untuk kedua kalinya, tidak boleh mengembalikan 400 secara idempoten, permintaan tersebut harus dievaluasi ulang. Saat dievaluasi ulang, error tersebut dapat menampilkan nilai 400 atau berhasil diproses.
Untuk informasi selengkapnya tentang idempotency, lihat panduan detail ini.
Integrator
Perusahaan yang menggunakan Platform Pembayaran Google untuk bisnisnya. Organisasi ini bisa berupa bisnis internal (pihak pertama), seperti YouTube atau AdWords. Atau pihak ketiga (pihak ketiga) yang ingin mengintegrasikan layanan mereka agar dapat digunakan dengan ekosistem Google.
Metode pembayaran
Metode Pembayaran. Cara ini lebih umum dibandingkan instrumen. Visa, MasterCard, dan PayPal semuanya FOP.
Instrumen
Instance tertentu dari metode pembayaran oleh pelanggan tertentu. Misalnya, kartu kredit pengguna atau akun PayPal mereka. FOP dengan token untuk pelanggan tertentu juga merupakan instrumen, karena ini merupakan instance metode pembayaran untuk pelanggan tersebut, yang disimpan dengan aman di sistem kami.
Token
Representasi, di sistem Google, tentang metode pembayaran pengguna tertentu. Karena berisi semua informasi yang diperlukan untuk melakukan pembelian, token juga merupakan instrumen. Informasi ini dapat mencakup informasi seperti nomor rekening yang dimiliki pengguna dengan integratornya.
Alur utama
Google menggunakan dua alur utama untuk membuat dan membayar nomor referensi ini:
- Membuat Alur Nomor Referensi.
- Alur Nomor Referensi Pay.
Kemudian, rekonsiliasi dan penyelesaian dari pembelian yang dihasilkan ditangani oleh alur pengiriman uang.
Diagram di bawah mengilustrasikan setiap alur tersebut.
Ringkasan Metode Pembayaran Tunai
Dua alur pertama dijelaskan secara lebih mendetail di bagian berikut. Lihat halaman Alur transfer dana jika Anda ingin mengetahui lebih lanjut tentang alur tersebut.
Buat nomor referensi
Tujuan alur pembuatan nomor referensi adalah membuat dan menukar ID (nomor referensi) yang dapat digunakan oleh Google dan integrator untuk mengidentifikasi pembelian. Pengguna kemudian dapat menggunakan nomor referensi ini di minimarket, kios, atau bank untuk menyelesaikan pembelian. ID ini dibuat oleh integrator atas permintaan Google dengan memanggil metode generateReferenceNumber
. Permintaan pembuatan nomor referensi mencakup jumlah dan deskripsi transaksi.
Diagram berikut mengilustrasikan cara nomor referensi dibuat dan dikirimkan kepada pelanggan beserta petunjuk.
Membuat alur nomor referensi
Berikut adalah daftar objek dan apa yang diwakilinya:
- Pengguna: Ini adalah orang yang ingin membayar sesuatu menggunakan metode pembayaran ini.
- UI Google: Ini adalah antarmuka tempat Pengguna melakukan pembelian. Bisa melalui web atau aplikasi.
- Server Google: Server backend di Google yang meminta pembuatan nomor referensi dan membuat petunjuk pembayaran bagi pengguna.
- Server Integrator Pembayaran: Server backend Integrator Pembayaran yang melacak detail pembayaran dan menghasilkan nomor referensi.
Alur ini dimulai dengan pengguna yang ingin menggunakan metode pembayaran tunai ini.
- Pengguna mengakses UI Google yang mengirim permintaan untuk nomor referensi.
- UI Google mengirim pesan ke Server Google bahwa server memerlukan nomor referensi (
getReferenceNumber
). - Server Google meminta Server Integrator Pembayaran untuk membuat nomor referensi (
generateReferenceNumber
). - Server Integrator Pembayaran membuat dan mengirimkan nomor referensi ke Server Google.
- Server Google membuat petunjuk pembayaran untuk disertakan dengan nomor referensi. Kemudian, aplikasi mengirimkan informasi ini ke UI Google.
- UI Google mengirimkan petunjuk dan nomor referensi ini kepada Pengguna.
Catatan tentang nomor referensi
Nomor referensi hanya dapat dibayar sekali, dan dapat dibatalkan melalui alur nomor referensi pembatalan. Selain itu, nomor referensi harus berupa alfanumerik dan harus mendukung beberapa format tampilan.
Selain menampilkan nomor referensi, secara opsional UI Google dapat merepresentasikan nomor referensi dalam format Kode 128 (format kode batang). Format kode batang lainnya dapat didukung berdasarkan permintaan.
Nomor Referensi Pay
Pengguna akan menggunakan nomor referensi ini di minimarket, kios, atau bank untuk mengidentifikasi pembelian yang ingin dibayar pengguna. Integrator harus meminta pengguna mengonfirmasi bahwa pembelian dilakukan dengan menampilkan jumlah pembelian, tanggal, dan deskripsi transaksi sebelum membayar.
Setelah pengguna memilih untuk membayar, mereka harus membayar secara penuh, dan hanya membayar sekali. API ini tidak mendukung kelebihan atau kekurangan pembayaran pada satu nomor referensi. Beberapa pembayaran ke satu nomor referensi juga tidak didukung.
Setelah pengguna membayar, integrator harus segera memberi tahu Google bahwa nomor referensi ini telah dibayar melalui metode referenceNumberPaidNotification
. Dengan memanggil metode ini dalam hitungan detik setelah pengguna membayar secara fisik, integrator memungkinkan pengguna menerima barang mereka dengan cepat. (Panggilan ini dapat ditambahkan ke antrean jika jaringan sedang tidak aktif.)
Setelah dibayar, nomor referensi dan jumlah akan disertakan dalam laporan transfer dana yang dikirim pada T+2 hari.
Berikut adalah diagram urutan yang menggambarkan pembayaran nomor referensi.
Alur nomor referensi pembayaran
Objek dalam diagram mewakili hal berikut:
- Pengguna: Ini adalah orang yang ingin membayar sesuatu menggunakan metode pembayaran ini.
- Toserba: Lokasi tempat pengguna melakukan pembayaran menggunakan nomor referensi dan petunjuk yang diberikan, seperti minimarket.
- Server Integrator Pembayaran: Server backend Integrator Pembayaran yang melacak detail pembayaran.
- Server Google: Server backend di Google yang meminta pembuatan nomor referensi dan membuat petunjuk pembayaran bagi pengguna.
Alur ini dimulai dengan pengguna yang mengunjungi minimarket untuk melakukan pembayaran sesuai dengan petunjuk yang diberikan kepada mereka.
- Pengguna pergi ke Minimarket untuk melakukan pembayaran.
- Setelah transaksi selesai, minimarket tersebut akan memberi tahu integrator pembayaran tentang pembayaran.
- Server Integrator Pembayaran mengirim pesan berhasil ke Minimarket.
- Minimarket menyampaikan bahwa transaksi berhasil kepada Pengguna, dan barang akan segera dikirimkan ke Pengguna.
- Server Integrator Pembayaran mengirim pesan ke Server Google bahwa nomor referensi telah dibayar (
referenceNumberPaidNotification
). Langkah ini tidak boleh memblokir langkah 4. - Server Google merespons dengan pesan berhasil ke Server Integrator Pembayaran.
Batalkan nomor referensi
Nomor referensi dapat dibatalkan oleh Google. Jika Google membatalkan nomor referensi, metode cancelReferenceNumber
akan dipanggil. Setelah berhasil mengembalikan panggilan ini, pembayaran nomor referensi tersebut menjadi tidak valid dan integrator harus menolak pembayaran untuk nomor ini. Setelah panggilan ini berhasil, semua panggilan berikutnya ke referenceNumberPaidNotification
akan gagal.
Jika proses pembayaran sudah dimulai, misalnya jika pengguna telah memasukkan nomor referensi ke kios tetapi belum membayar, integrator harus menampilkan kode respons HTTP 423 dengan ErrorResponse yang berisi USER_ACTION_IN_PROGRESS
.
Berikutnya: Alur transfer dana