Alur pengguna autentikasi

Ringkasan

Tujuan alur Autentikasi adalah untuk mengidentifikasi dan mengautentikasi pengguna ke Integrator Pembayaran (integrator).

Autentikasi adalah input untuk metode lain. Khususnya untuk associateAccount dan capture. Ini berarti bukti autentikasi digunakan sebagai input (parameter) untuk kedua metode tersebut.

Google juga dapat menggunakan alur autentikasi dalam mode mandiri untuk memverifikasi pengguna. Dalam hal ini, kredensial tidak digunakan sebagai input untuk alur lain, tetapi hanya untuk memverifikasi bahwa pengguna dapat mengautentikasi identitas ini.

Perlu diingat bahwa saat Anda melakukan aktivasi, Google akan membantu Anda memilih mekanisme autentikasi yang paling sesuai dengan produk Anda.

Cara kerja alurnya

Ada dua cara untuk mengautentikasi pengguna, masing-masing dengan alurnya sendiri. Pada saat integrasi, integrator harus menentukan mana yang akan digunakan.

  1. Autentikasi pengalihan
  2. Autentikasi OTP SMS-MT

Autentikasi pengalihan

Pengguna Google yang memerlukan autentikasi dapat dialihkan ke aplikasi atau situsnya integrator untuk memverifikasi identitasnya. Berikut ringkasan singkat langkah-langkah dalam alur ini:

  1. Google mengalihkan pengguna ke web atau aplikasi Android integrator tempat mereka dapat diautentikasi.
  2. Untuk mengautentikasi, requestId autentikasi (dari AuthenticationRequest) digunakan sebagai bukti autentikasi.
  3. Tindakan ini menghasilkan respons yang ditandatangani, yang disebut AuthenticationResponse.
  4. Setelah itu, aplikasi atau situs akan mengalihkan pengguna kembali ke Google.

Autentikasi pengalihan menggunakan metode GET HTTP, dengan parameter yang dienkode dalam URL untuk aplikasi web. Class ini menggunakan Intent Android untuk autentikasi aplikasi Android. Untuk detail selengkapnya tentang encoding, lihat Autentikasi Web, dan untuk parameter intent Android, lihat Autentikasi Android.

Hasil dari masing-masing mekanisme autentikasi tersebut adalah respons bertanda tangan yang disebut AuthenticationResponse. Intent ini harus menyertakan Respons Autentikasi Pembayaran Standar Google yang dienkripsi dan dienkode (gspAuthenticationResponse) untuk mengomunikasikan autentikasi yang berhasil. Jika digunakan dalam mode mandiri, gspResult dan tanda tangan akan digunakan untuk menentukan autentikasi yang berhasil.

Diagram urutan berikut menunjukkan interaksi antara browser pengguna, Google, dan aplikasi web integrator:

Alur autentikasi Alihkan Web

Alur Autentikasi Web

Berikut adalah daftar objek dan artinya:

  • Pengguna: Ini adalah orang yang ingin menambahkan metode pembayaran ke Akun Google mereka.
  • UI Google: Dalam hal ini, antarmuka web di Google, tempat pelanggan mulai menyiapkan metode pembayaran.
  • Server Google: Server backend di Google yang melakukan pemeriksaan autentikasi, beserta tugas autentikasi lainnya.
  • Web Integrator Pembayaran: Situs integrator tempat pengguna memiliki akun.

Untuk alur autentikasi ini, kami sudah mengasumsikan bahwa pengguna berada di situs Google (UI Google) dan sedang mencoba menambahkan metode pembayaran. Di sinilah semuanya dimulai.

  1. UI Google membuat URL autentikasi yang dikirim ke Server Google (backend). Hal inilah yang memicu proses otentikasi.
  2. Server Google membuat permintaan autentikasi (AuthenticationRequest).
  3. Permintaan autentikasi yang dikirim ke UI Google.
  4. Pengguna menerima permintaan bahwa mereka perlu mengautentikasi ID-nya dengan integrator.
  5. Pengguna merespons bahwa mereka ingin mengautentikasi, yang mengirimkan pesan itu ke situs integrator.
  6. Situs Integrator Pembayaran meminta verifikasi identitas pengguna.
  7. Pengguna memberikan bukti identitasnya, yang dikirim ke situs Payment Integrator.
  8. Integrator membuat respons (authenticationResponse) terhadap bukti yang diberikan (dengan authenticationResponse dienkode dalam pesan).
  9. URL respons ini dikirim ke pengguna.
  10. URL respons segera dikirim dari pengguna ke UI Google.
  11. UI Google mengirimkan respons Server Google.
  12. Server Google menafsirkan respons sebagai terverifikasi.

Diagram urutan berikutnya menunjukkan interaksi antara ponsel pengguna, Google, dan aplikasi Android integrator:

Alur autentikasi aplikasi Android pengalihan

Alur autentikasi aplikasi Android

Berikut adalah objek dan apa yang diwakilinya:

  • Pengguna: Ini adalah orang yang ingin menambahkan metode pembayaran ke Akun Google mereka.
  • UI Google: Dalam hal ini, antarmuka aplikasi, tempat pelanggan mulai menyiapkan metode pembayaran.
  • Server Google: Server backend di Google yang melakukan pemeriksaan autentikasi, beserta tugas autentikasi lainnya.
  • Payment Integrator APK: Aplikasi integrator tempat pengguna memiliki akses ke akun integratornya.
  • Server Integrator Pembayaran: Server backend integrator tempat informasi pengguna disimpan.

Karena ini adalah alur autentikasi, kita sudah mengasumsikan bahwa pengguna menggunakan aplikasi (UI Google) dan sedang mencoba menambahkan metode pembayaran. Di sinilah inisialisasi dimulai.

  1. UI Google membuat panggilan autentikasi yang dikirim ke Server Google (backend).
  2. Server Google membuat permintaan autentikasi (AuthenticationRequest).
  3. Server Google mengirimkan APK panggilan ke UI Google (aplikasi), dan meminta autentikasi.
  4. UI Google mengirimkan informasi pengguna ke APK Integrator Pembayaran (AUTHENTICATE_V1(authReq)).
  5. APK Integrator Pembayaran mengirimkan permintaan (authReq) ke server Integrator Pembayaran.
  6. Server Integrator Pembayaran mengirimkan tantangan kembali ke APK Integrator Pembayaran.
  7. APK Integrator Pembayaran mengirimkan kembali tantangan kepada pengguna.
  8. Pengguna memberikan bukti identitasnya, yang dikirim ke APK Integrator Pembayaran.
  9. Bukti ini kemudian dikirimkan ke Server Integrator Pembayaran.
  10. Server membuat authenticationResponse yang ditandatangani.
  11. Respons autentikasi berhasil, dan pesan authResp akan dikirim ke APK Integrator Pembayaran.
  12. Pesan berhasil (authResp) dikirim dari APK Integrator Pembayaran ke UI Google.
  13. UI Google mengirimkan respons ke Server Google.
  14. Server Google menafsirkan respons yang berhasil.

Autentikasi OTP SMS-MT

Metode autentikasi lainnya adalah Short Message Service, Mobile Terminated, One-Time Password (SMS-MT OTP). Mekanisme ini menggunakan nomor telepon pengguna untuk mengirimi mereka {i>password<i} sekali pakai untuk autentikasi. Google meminta integrator untuk mengirimkan OTP ke nomor telepon pengguna, dan setelah pengguna menerimanya, lalu memasukkannya ke antarmuka Google, pengguna tersebut akan diverifikasi.

Hal ini mencakup langkah-langkah berikut:

  1. Antarmuka pengguna (UI) Google akan meminta pengguna memasukkan nomor telepon, yang sudah terdaftar di integrator.
  2. Pengguna memasukkan nomor telepon di UI Google.
  3. Google memicu integrator (memanggil metode sendOtp) untuk mengirim sandi sekali pakai (OTP) kepada pengguna.
  4. Pengguna menerima pesan SMS yang berisi OTP.
  5. Kemudian, pengguna memasukkan OTP (digunakan sebagai input untuk capture, associateAccount, dan verifyOtp) yang diterima ke antarmuka Google untuk mengautentikasi pengguna. Ini adalah bukti otentikasi.

Dalam mode mandiri, hanya metode verifyOtp yang akan dipanggil untuk memverifikasi nilai OTP.

Diagram urutan berikut menunjukkan interaksi antara ponsel pengguna, Google, dan integrator saat mengirimkan OTP:

Alur autentikasi ponsel (mengirim OTP)

Alur Autentikasi Ponsel (OTP)

Berikut adalah daftar objek dalam diagram dan artinya:

  • Pengguna: Ini adalah orang yang ingin menambahkan metode pembayaran ke Akun Google mereka.
  • UI Google: Dalam hal ini, situs atau aplikasi telepon Google tempat pelanggan mulai menyiapkan metode pembayaran. Catatan: Jika UI Google adalah aplikasi telepon, beberapa langkah pertama akan dilewati karena ponsel sudah mengetahui nomor telepon pengguna.
  • Server Google: Server backend di Google yang melakukan pemeriksaan autentikasi, beserta tugas autentikasi lainnya.
  • Server Integrator Pembayaran: Server backend integrator tempat informasi pengguna disimpan.

Karena ini adalah alur autentikasi OTP, kami sudah berasumsi bahwa pengguna sedang membuka aplikasi atau situs ponsel Google (UI Google) dan sedang mencoba menambahkan metode pembayaran. Di sinilah inisialisasi dimulai.

  1. UI Google (ponsel atau situs) meminta nomor telepon pengguna.
  2. Pengguna memasukkan nomor teleponnya ke UI Google.
  3. UI Google mengirimkan nomor (sendChallenge(phoneNum)) ke Server Google.
  4. Server Google mengirim permintaan ke Server Integrator Pembayaran (SendOtp(phoneNum)) untuk mengirimkan sandi sekali pakai.
  5. Server Integrator Pembayaran mengirimkan sandi sekali pakai (OTP) kepada pengguna.
  6. Server Integrator Pembayaran merespons permintaan Google di nomor 5, sehingga memberi sinyal OTP berhasil dikirim.
  7. Pengguna memasukkan OTP ini ke UI Google (telepon atau situs).
  8. UI Google mengirimkan OTP ke Server Google yang pada akhirnya dikirim ke integrator pembayaran untuk verifikasi. Tindakan ini akan memverifikasi identitas pengguna dan mengautentikasi pengguna.

Autentikasi dan Autentikasi ulang

Ada dua titik waktu autentikasi dapat terjadi:

  1. Autentikasi awal—digunakan untuk mengidentifikasi dan mengautentikasi pengguna. Autentikasi awal digunakan sebagai input untuk metode associateAccount.
  2. Autentikasi ulang—digunakan di semua konteks lainnya, seperti mandiri atau sebagai input untuk capture.

Autentikasi ulang berbeda dengan autentikasi awal. Tidak pernah ingin mengidentifikasi ulang pengguna, hanya untuk mengautentikasi ulang. Autentikasi ulang digunakan oleh Google untuk menantang pengguna agar membuktikan bahwa mereka pemilik akun tertentu dan hal ini terjadi atas kebijaksanaan Google.

Dalam proses ini, referensi, yang disebut associationId, diberikan ke pengaitan asli (dari alur pengaitan). Ini disediakan melalui panggilan ke metode associateAccount selama alur pengaitan. associationId mengidentifikasi akun yang akan disengketakan. Demi keamanan, pengguna tidak boleh dapat mengubah akun yang sedang diverifikasi.

Untuk autentikasi ulang OTP SMS-MT, Google akan menyimpan nomor telepon yang diberikan saat panggilan awal ke sendOtp sebagai nomor tetap. Setelan ini tidak dapat diubah, sekali lagi demi keamanan.

Berikut adalah contoh alur tempat Google memutuskan untuk mengajukan tantangan (mengautentikasi ulang) sebelum melakukan pembelian:

Alur autentikasi ulang

Alur autentikasi ulang

Daftar objek dan yang diwakilinya adalah sebagai berikut:

  • Pengguna: Ini adalah orang yang ingin melakukan pembelian.
  • UI Google: Dalam hal ini, situs atau aplikasi telepon Google tempat pelanggan mulai melakukan pembelian.
  • UI Integrator Pembayaran: Situs atau aplikasi yang ditampilkan kepada pelanggan, tempat pengguna dapat mengakses informasi akunnya dengan Integrator.
  • Server Google: Server backend di Google yang melakukan pemeriksaan autentikasi ulang, beserta tugas lainnya.
  • Server Integrator Pembayaran: Server backend integrator tempat informasi pengguna disimpan.

Alur autentikasi ulang dimulai saat pelanggan mulai melakukan pembelian. Tindakan ini akan menginisialisasi flow untuk mengautentikasi ulang pengguna.

  1. Pengguna memutuskan untuk membeli item atau layanan.
  2. Permintaan dikirim dari UI Google ke Server Google.
  3. Server Google mengirimkan kembali permintaan autentikasi (authenticationRequest) ke UI Google.
  4. UI Google mengirim permintaan ke UI Payment Integrator untuk mengautentikasi (associationId, authenticationRequest) pengguna.
  5. UI Integrator Pembayaran mencari pengguna untuk memverifikasi identitasnya (LookupIdentity(associationId)).
  6. UI Integrator Pembayaran meminta kredensial pengguna di UI mereka (situs atau aplikasi integrator).
  7. Respons autentikasi dikirim ke Server Integrator Pembayaran.
  8. Respons autentikasi yang ditandatangani (authenticationResponse) dikirim kembali ke UI Integrator Pembayaran.
  9. Respons autentikasi (authenticationResponse) dikirim dari UI Integrator Pembayaran ke UI Google.
  10. UI Google mengirimkan respons dengan informasi pembelian ke Server Google.
  11. Server Google mengirim pesan capture (untuk menemukan dana yang tersedia) ke Server Integrator Pembayaran (authenticationRequestId, GPT, jumlah).
  12. Server Integrator Pembayaran akan mengirim pesan keberhasilan kembali ke Server Google.
  13. Server Google mengirim pesan keberhasilan ke UI Google.
  14. UI Google mengirimkan item kepada pelanggan (atau memberi tahu mereka bahwa item akan segera dikirimkan).

Autentikasi SMS-MO

Short Message Service, alur autentikasi Berasal dari Seluler menggunakan SMS yang berisi ID Permintaan Autentikasi yang dikirim dari ponsel pengguna ke Integrator Pembayaran untuk mengautentikasi pengguna.

Alur Autentikasi SMS-MO

Berikut adalah daftar objek dalam diagram dan artinya:

  • Pengguna: Ini adalah orang yang ingin menambahkan metode pembayaran ke Akun Google mereka.
  • UI/Perangkat Google: Dalam hal ini, aplikasi telepon Google tempat pelanggan mulai menyiapkan metode pembayaran.
  • Server Google: Server backend di Google yang menghasilkan petunjuk SMS dengan ID Permintaan Autentikasi (ARID) dan menerima hasil autentikasi dari integrator.
  • Server Integrator Pembayaran: Server backend integrator yang menerima SMS autentikasi dan menampilkan ID Permintaan Autentikasi ke Google.

Karena ini adalah alur autentikasi, kita sudah mengasumsikan bahwa pengguna menggunakan aplikasi (UI Google) dan sedang mencoba menambahkan metode pembayaran. Di sinilah inisialisasi dimulai.

  1. Pengguna memilih instrumen dengan Token untuk ditambahkan.
  2. UI Google memanggil Server Google untuk memulai Tantangan SMS-MO.
  3. Server Google menampilkan instruksi SMS, yang terdiri dari tujuan dan isi yang berisi ID Permintaan Autentikasi.
  4. UI Google mengirimkan SMS ke Integrator Pembayaran.
  5. Server Payment Integrator memanggil endpoint authenticationResultNotification di Server Google dengan ID Permintaan Autentikasi.
  6. ID Permintaan Autentikasi divalidasi oleh Server Google, yang merespons permintaan BERHASIL.
  7. UI Google memanggil Server Google untuk mendapatkan hasil upaya autentikasi.
  8. Respons Server Google BERHASIL.

Simulasi Autentikasi SMS-MO

Untuk tujuan melakukan uji diagnostik alur Autentikasi SMS-MO, Google akan menentukan endpoint Simulasikan SMS. Dengan demikian, SMS sungguhan tidak perlu lagi dikirim dan divalidasi saat melakukan pengujian Atribusi di lingkungan sandbox.

Simulasi Alur Autentikasi SMS-MO

Berikut adalah daftar objek dalam diagram dan artinya:

  • Penguji: Ini adalah orang yang memulai pengujian diagnostik asosiasi SMS-MO.
  • UI Google: UI Google tempat penguji memulai dan memantau status pengujian diagnostik SMS-MO.
  • Server Google: Server backend di Google yang menghasilkan petunjuk SMS dengan ID Permintaan Autentikasi (ARID), mengirimkan pesan SMS yang disimulasikan, dan menerima hasil autentikasi dari integrator.
  • Server Integrator Pembayaran: Server backend integrator yang menerima SMS autentikasi yang disimulasikan dan menampilkan ID Permintaan Autentikasi ke Google.

Langkah-langkah dalam alur ini adalah:

  1. Penguji memulai pengujian diagnostik SMS-MO dengan memberikan ID pelanggan uji coba (SID) yang akan digunakan untuk pengujian. SID ini akan disertakan dalam panggilan simulateSms ke Integrator Pembayaran.
  2. UI Google memanggil Server Google untuk memulai Tantangan SMS-MO.
  3. Server Google menampilkan instruksi SMS, yang terdiri dari tujuan dan isi yang berisi ID Permintaan Autentikasi. Untuk tujuan pengujian ini, tujuan iklan akan diganti oleh koneksi HTTPS sandbox Payment Integrator.
  4. UI Google memanggil Server Google untuk mengirim pesan SMS yang disimulasikan.
  5. Panggilan simulateSms dilakukan dari Server Google ke Server Integrator Pembayaran. ID Permintaan Autentikasi dan ID Pelanggan (seperti yang diberikan pada langkah 1) disertakan dalam panggilan API.
  6. Server Integrator Pembayaran merespons ACKNOWLEDGED.
  7. Server Google merespons SUKSES ke UI Google.
  8. Server Payment Integrator memanggil endpoint authenticationResultNotification di Server Google dengan ID Permintaan Autentikasi.
  9. Server Google merespons SUKSES.
  10. UI Google memanggil Server Google untuk mendapatkan hasil upaya autentikasi.
  11. Server Google merespons COMPLETED.
  12. UI Google memanggil Server Google untuk menjalankan upaya Atribusi.
  13. Panggilan associateAccount dilakukan dari Server Google ke Server Integrator Pembayaran.
  14. Server Integrator Pembayaran merespons KESUKSESAN.
  15. Server Google merespons SUKSES.
  16. UI Google akan diupdate untuk menunjukkan kepada Penguji bahwa pengujian diagnostik SMS-MO telah berhasil diselesaikan.

Praktik terbaik dan pertimbangan lainnya

Pilihan platform

Menyediakan alur autentikasi web desktop dan aplikasi seluler akan memungkinkan integrator menjangkau sebagian besar pengguna. Google sangat menyarankan agar integrator mendukung aplikasi Android karena memberikan pengalaman pengguna terbaik yang menghasilkan rasio konversi tertinggi. Parameter yang diteruskan dalam API autentikasi untuk aplikasi web dan Android sama.