Google Standard Payments:

FOP dengan token

Ringkasan

FOP (metode Pembayaran) dengan token adalah salah satu jenis integrasi pembayaran ke Platform Pembayaran. Agar pengguna dapat melakukan pembayaran dengan FOP ini, Google dan integrator Pembayaran harus melakukan pertukaran kredensial identitas akun satu kali. Langkah ini selanjutnya akan diperlukan untuk membuat token, yang merepresentasikan metode pembayaran tersebut untuk pengguna tertentu. Token ini kemudian dapat digunakan untuk pembayaran berulang kali. Saat ini ada 2 versi API ini. Versi 2 mendukung operator seluler dan penyedia nomor referensi. Semua penyedia FOP dengan token lainnya harus menerapkan versi 1. Bagian selanjutnya dari dokumen ini berfokus pada versi 1.

Google menggunakan dua alur untuk membangun identitas dan membuat token ini:

  1. Alur autentikasi: Mengidentifikasi dan memverifikasi (mengautentikasi) pengguna.
  2. Alur pengaitan: Menetapkan token untuk pengguna (baru atau yang sebelumnya diidentifikasi dan diautentikasi). Token ini mewakili metode pembayaran tertentu dari pengguna tertentu. Token tersebut kemudian dapat digunakan dalam pembelian di masa mendatang.

Setelah token dibuat, Google akan menggunakannya selama alur pembelian untuk mendapatkan pengalaman checkout yang cepat dan lancar bagi pengguna. Google menggunakan token ini untuk mewakili instance metode pembayaran oleh pelanggan. Hal ini juga disebut sebagai instrumen. Pelanggan Google mungkin memiliki lebih dari satu instrumen untuk membayar barang dan layanan.

Terakhir, semua perpindahan uang antara bank integrator dan bank Google dilakukan dalam alur transfer dana.

Pilih produk
1) Pengguna memilih produk yang akan dibeli
Pilih metode pembayaran
2) Berikutnya, mereka memilih metode pembayaran
Tambahkan metode pembayaran
3) Sekarang, mereka menambahkan metode pembayaran baru
Pengalihan
4) Mereka dialihkan untuk mengautentikasi
Diautentikasi
5) Terakhir, mereka diautentikasi dan dapat membeli

Diagram ini menggambarkan gambaran umum alur:

Ringkasan FOP dengan token

Diagram Ringkasan FOP dengan Token

Secara umum, menambahkan layanan Anda sebagai metode pembayaran ke produk Google melibatkan alur berikut:

  1. Alur autentikasi
  2. Alur atribusi
  3. Alur pembelian
  4. Alur pengembalian dana
  5. Alur transfer dana

Alur ini dijelaskan secara lebih mendetail di bagian di bawah, dan secara lebih mendetail di bagian panduan.

Konsep dan terminologi

Simbol & Konvensi

Kata kunci "HARUS", "HARUS", "WAJIB", "DIPERLUKAN", "SEHARUS", "TIDAK BOLEH", "SEHARUS", "SEHARINYA", "DIREKOMENDASIKAN", "DAPAT", dan "OPSIONAL" dalam dokumen-dokumen ini harus ditafsirkan sebagaimana dijelaskan dalam RFC 2119.

Stempel waktu

Semua stempel waktu direpresentasikan sebagai milidetik sejak epoch Unix (1 Jan 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 "micros", sebuah standar di Google. Mikro adalah format presisi tetap yang berbasis bilangan bulat. Untuk mewakili nilai uang dalam mikro, kalikan nilai mata uang standar dengan 1.000.000.

Contoh:

  • USD$1,23 = 1230000 USD mikro
  • USD$0,01 = 10.000 USD mikro

Idempotensi

Semua panggilan metode dalam API ini harus memiliki perilaku idempoten. Google akan mencoba kembali permintaan secara sporadis untuk memastikan bahwa transaksi berada dalam status yang sama di kedua sisi. Integrator tidak boleh mencoba memproses ulang permintaan apa pun yang telah berhasil diproses. Respons untuk pemrosesan yang berhasil harus dilaporkan. Semua metode memiliki RequestHeader umum yang berisi requestId. requestId ini adalah kunci idempotensi untuk semua panggilan.

Semua respons non-terminal (non-HTTP 200-sukses), tidak boleh diproses secara idempoten. Jadi, permintaan yang sebelumnya mendapat 400 (permintaan buruk/prakondisi gagal), saat dipanggil untuk kedua kalinya, tidak boleh secara idempoten menampilkan 400, permintaan tersebut harus dievaluasi ulang. Saat dievaluasi ulang, angka 400 dapat muncul atau berhasil diproses.

Untuk mengetahui informasi selengkapnya tentang idempotensi, lihat panduan mendetail ini.

Integrator

Perusahaan yang menggunakan Platform Pembayaran Google untuk bisnis mereka. Bisnis ini bisa saja internal (1P), seperti YouTube atau AdWords. Ini juga bisa berupa bisnis eksternal (3P) yang ingin mengintegrasikan layanan mereka agar berfungsi dengan ekosistem Google.

FOP

Metode Pembayaran. Ini lebih umum daripada instrumen. Visa, MasterCard, dan PayPal semuanya adalah FOP.

Instrumen

Contoh metode pembayaran tertentu oleh pelanggan tertentu. Misalnya, kartu kredit pengguna atau akun PayPal mereka. FOP dengan token untuk pelanggan tertentu juga merupakan instrumen, karena merupakan contoh metode pembayaran untuk pelanggan tersebut, yang disimpan dengan aman di sistem kami.

Token

Representasi metode pembayaran pengguna tertentu, di sistem Google. Karena berisi semua informasi yang diperlukan untuk melakukan pembelian, token juga merupakan instrumen. Informasi ini dapat mencakup informasi seperti nomor akun yang dimiliki pengguna dengan integratornya.

Alur kunci

Alur Autentikasi

Autentikasi adalah alur pertama yang harus dilakukan. Tujuan alur autentikasi adalah untuk mengidentifikasi dan mengautentikasi pengguna ke integrator. Autentikasi dapat dilakukan dengan beberapa cara. FOP dengan token mendukung dua cara untuk mengidentifikasi dan mengautentikasi pengguna:

  1. Autentikasi OTP SMS-MT (SMS Seluler Dihentikan, Sandi Sekali Pakai)
  2. Autentikasi Pengalihan

Saat orientasi, integrator bekerja sama dengan Google untuk memilih mekanisme autentikasi yang paling sesuai dengan produk mereka.

Alur autentikasi dapat digunakan dalam dua konteks: pertama, untuk mengidentifikasi pelanggan baru agar dapat mengaitkan, dan kedua, untuk menantang pengguna terkait kredensial instrumen yang ada. Hasil alur autentikasi dapat digunakan sebagai input ke beberapa alur, seperti alur atribusi, alur token refresh, alur pembelian tantangan, dan sebagainya. Selain itu, alur autentikasi dapat digunakan dalam mode mandiri, yang tidak terikat dengan alur berikutnya.

Autentikasi OTP SMS-MT

Dalam mekanisme autentikasi ini, pengguna memasukkan nomor telepon di UI Google. Google mengirimkan nomor telepon ini ke integrator (melalui metode sendOtp). Integrator mengirimkan sandi sekali pakai kepada pengguna. Pengguna memasukkan sandi ke UI Google yang mengirimkannya ke integrator. Tindakan ini memicu respons sukses oleh Integrator Pembayaran.

Saat autentikasi OTP SMS-MT digunakan dalam mode mandiri, nilai OTP akan dikirim ke integrator menggunakan metode verifyOtp. Metode ini memverifikasi bahwa OTP yang diberikan adalah yang dikirim.

Autentikasi Pengalihan

Autentikasi pengalihan terjadi oleh Google yang mengalihkan pengguna ke aplikasi milik integrator. Aplikasi tersebut dapat berupa aplikasi web atau Android.

Pengalihan Android dan Web berperilaku serupa. Google mengalihkan pengguna ke aplikasi integrator. Integrator mengidentifikasi dan mengautentikasi pengguna dalam bentuk apa pun yang paling wajar bagi integrator tersebut. Setelah diautentikasi, integrator akan mengalihkan pengguna kembali ke UI Google untuk menyelesaikan pengaitan. Saat dialihkan, Google akan menyediakan requestId untuk mengidentifikasi sesi autentikasi ini. ID tersebut kemudian digunakan sebagai bukti autentikasi identitas selama Pengaitan.

Integrator yang memilih alur ini harus memberikan URL autentikasi web karena ini adalah denominator yang paling umum di semua platform (desktop atau seluler). Namun, autentikasi Android sangat direkomendasikan untuk memberikan pengalaman pengguna terbaik di perangkat seluler.

Bergantung pada konteks perangkat dan aplikasi yang diinstal, UI Google akan memilih web atau pengalihan Aplikasi Android.

Mekanisme otentikasi ini memberikan banyak kebebasan kepada integrator. Ada banyak cara untuk mengautentikasi dan mengidentifikasi pengguna. Nama pengguna + sandi, atau informasi biometrik dan pertanyaan keamanan, keduanya merupakan solusi yang tepat. Google tidak bermaksud menentukan cara integrator memverifikasi pengguna. Integrator menangani otentikasi pengguna. Dengan cara ini, Google bermaksud memanfaatkan berbagai antarmuka pengguna integrator untuk mengautentikasi pengguna dan hanya memberikan bukti autentikasi kepada Google.

Untuk mengetahui informasi selengkapnya tentang autentikasi, lihat panduan mendetail ini.

Alur Pengaitan

Setelah alur autentikasi melalui salah satu mekanisme yang disebutkan di atas, pengguna akan bergerak melalui alur pengaitan. Tujuan alur pengaitan adalah untuk membuat Token Pembayaran Google (GPT) agar dapat membuat instrumen. Alur ini melakukan hal berikut:

  1. Menegosiasikan identitas yang disebut token untuk mewakili pengguna ini.
  2. Memberikan informasi akun untuk menginformasikan mesin risiko Google.
  3. Mengumpulkan informasi penyiapan pertama kali yang diperlukan untuk membuat dan menetapkan GPT.

Hasilnya adalah GPT yang ditetapkan disetujui oleh Google dan integrator.

Dua pengguna Google dapat menggunakan akun pengguna yang sama dengan integrator. Dalam hal ini, setiap pengguna akan memiliki instrumen yang berbeda. Untuk setiap instrumen, terdapat alur pengaitan independen, sehingga GPT unik.

Ilustrasi ini akan menjelaskan FOP palsu yang disertai token bernama InvisiCash. Contoh ini menunjukkan langkah-langkah yang akan dilalui pengguna untuk alur autentikasi dan alur pengaitan.

Ringkasan alur atribusi

FOP-Invisicash dengan Token

  1. Pengguna Google dengan alamat email sf@gmail.com ingin menambahkan akun InvisiCash miliknya ke Google Play Store agar dapat digunakan untuk pembelian.
  2. Google Play Store membuka aplikasi InvisiCash untuk melakukan autentikasi.
  3. Pengguna login ke akun InvisiCash-nya dengan alamat email sally@otheremail.com. Mungkin dia menggunakan alamat email Gmail untuk keduanya jika alamat email tersebut merupakan login untuk akun InvisiCash miliknya.

  4. Aplikasi InvisiCash mengirimkan ID autentikasi kembali ke Google Play Store.

  5. Google Play Store mengirimkan ID autentikasi ke Server Google.

  6. Server Google akan mengirim pesan ke server InvisiCash untuk mengaitkan akun. Pengaitan ini mencakup ID Autentikasi, GPT (Token Google Payments), dan ID pengaitan.

  7. Server InvisiCash menyimpan Token Pembayaran Google (GPT), dan ID pengaitan. Keduanya kini terkait dengan akun InvisiCash Sally.

  8. InvisiCash menyetujui pengaitan ini. Kemudian, Server Google membuat instrumen yang dapat digunakan untuk pembelian di masa mendatang.