Mengaitkan akun pelanggan dengan pemroses pembayaran ke instrumen Google yang ditambahkan.
Pengaitan akun terjadi setelah integrator mengautentikasi pengguna. Pengaitan terjadi melalui panggilan server ke server yang berisi requestId
untuk alur autentikasi terkait (authenticationRequestId
), associationId
, dan googlePaymentToken
(GPT). Pemroses pembayaran harus mengaitkan associationId
dan googlePaymentToken
ke akun pelanggan untuk autentikasi. GPT digunakan untuk memulai pembayaran. associationId
digunakan selama panggilan autentikasi ulang untuk mengidentifikasi akun untuk autentikasi.
Jika Google mengirimkan associationId
atau googlePaymentToken
yang telah dilihat integrator selama pengaitan yang berbeda, maka integrator akan menampilkan error.
Jika endpoint mengalami error saat memproses permintaan, isi respons dari endpoint ini harus berjenis
.ErrorResponse
Contoh permintaan terlihat seperti:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "cmVxdWVzdDE",
"requestTimestamp": "1481899949606"
},
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ__",
"authenticationRequestId": "bnAxdWTydDX==",
"associationId": "LmddbXBsZSByZWZlcmVuY2UgdG9rZW4gdmFsdWU_",
"provideUserInformation": true
}
Contoh respons akan terlihat seperti ini:
{
"responseHeader": {
"responseTimestamp": "1481899949611"
},
"paymentIntegratorAssociateAccountId": "xx77df88934hfd",
"accountId": "1234-5678-91",
"accountNickname": "***-91",
"tokenExpirationTime": "0",
"userInformation": {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"result": "SUCCESS"
}
Permintaan HTTP
POST https://www.integratorhost.example.com/v1/associateAccount
Isi permintaan
Isi permintaan memuat data dengan struktur berikut:
Representasi JSON |
---|
{ "requestHeader": { object ( |
Kolom | |
---|---|
requestHeader |
WAJIB: Header umum untuk semua permintaan. |
provideUserInformation |
WAJIB: Berlaku jika kami ingin integrator memberikan alamat yang terkait dengan akun ini. |
googlePaymentToken |
WAJIB: Token yang akan digunakan Google untuk memulai pembelian dengan pemroses pembayaran. Ini adalah string yang memiliki panjang maksimum 100 karakter. |
associationId |
WAJIB: ID pengaitan ini. ID ini dibuat oleh Google dan dikirim selama alur autentikasi ulang untuk mengidentifikasi akun mana yang harus diautentikasi. Ini adalah string yang memiliki panjang maksimum 100 karakter. |
Kolom union
|
|
authenticationRequestId |
OPSIONAL: |
otpVerification |
OPSIONAL: Data yang diperlukan untuk memverifikasi OTP yang dihasilkan dari |
Isi respons
Objek respons untuk metode akun pengaitan.
Jika berhasil, isi respons memuat data dengan struktur berikut:
Representasi JSON |
---|
{ "responseHeader": { object ( |
Kolom | |
---|---|
responseHeader |
WAJIB: Header umum untuk semua respons. |
paymentIntegratorAssociateAccountId |
WAJIB: ID ini khusus untuk integrator dan dihasilkan oleh integrator. Nomor ini hanya digunakan untuk tujuan proses debug guna mengidentifikasi panggilan ini. Ini adalah pengenal yang digunakan integrator untuk mengenali panggilan ini. |
tokenExpirationTime |
OPSIONAL: Milidetik sejak epoch saat token berakhir masa berlakunya. Gunakan |
accountId |
WAJIB: ID akun yang dimiliki pengguna dengan integrator. Tindakan ini digunakan untuk risiko Google memahami penggunaan kembali akun dan hubungan akun serta agen operasi pelanggan Google untuk membantu pelanggan mendiagnosis masalah. ID ini harus dapat dikenali pengguna (misalnya, pengguna mengetahui ID ini karena ID ini muncul di laporan mutasinya atau muncul di situs setelah login ke akun). Nilai ini harus tidak dapat diubah selama masa berlaku akun. |
userMessage |
TIDAK DIGUNAKAN LAGI: Deskripsi hasil yang akan ditampilkan kepada pengguna jika hasilnya bukan |
userInformation |
WAJIB: Informasi pengguna yang diketahui dan akan dibagikan oleh integrator terkait pelanggan ini kepada Google. Digunakan untuk informasi risiko dan mengisi otomatis alamat. |
result |
WAJIB: Hasil dari pengaitan ini. |
Kolom union
|
|
accountNickname |
OPSIONAL: String yang digunakan pengguna untuk mengetahui akun ini untuk tujuan tampilan. Ini adalah akhiran nama panggilan akun. Misalnya empat digit terakhir nomor telepon. Google akan menunjukkan di antarmuka pengguna bahwa ini hanya akhiran nama panggilan. Nilai ini akan ditampilkan di UI, seperti alur pembelian, agar pengguna dapat membedakan berbagai metode pembayaran. |
fullAccountNickname |
OPSIONAL: String yang digunakan pengguna untuk mengetahui akun ini untuk tujuan tampilan. Tidak seperti Nilai ini akan ditampilkan di UI, seperti alur pembelian, agar pengguna dapat membedakan berbagai metode pembayaran. |
UserInformation
Struktur yang menyimpan informasi tentang pengguna.
Representasi JSON |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string, "phone": string, "emailAddress": string } |
Kolom | |
---|---|
name |
OPSIONAL: Nama lengkap pelanggan. |
addressLine[] |
OPSIONAL: Kolom ini menyimpan teks Alamat yang tidak terstruktur. |
localityName |
OPSIONAL: Istilah ini samar-samar, tetapi umumnya mengacu pada bagian kota dari suatu alamat. Di wilayah dunia dengan lokalitas yang tidak didefinisikan dengan baik atau tidak cocok dengan struktur ini (misalnya, Jepang dan China), biarkan localityName kosong dan gunakan addressLine. Contoh: US city, IT comune, UK post city. |
administrativeAreaName |
OPSIONAL: Subdivisi administratif tingkat teratas negara ini" Contoh: Negara bagian AS, wilayah IT, provinsi CN, prefektur Jepang. |
postalCodeNumber |
OPSIONAL: Terlepas dari namanya, nilai posCodeNumber sering kali berupa alfanumerik. Contoh: "94043", "SW1W", "SW1W 9TQ". |
countryCode |
OPSIONAL: Kode negara alamat pelanggan, diharapkan sesuai dengan ISO-3166-1 Alpha-2. |
phone |
OPSIONAL: Nomor telepon pelanggan. |
emailAddress |
OPSIONAL: Alamat email pelanggan. |
AssociateAccountResultCode
Kode hasil untuk akun pengaitan.
Enum | |
---|---|
UNKNOWN_RESULT |
Jangan pernah menetapkan nilai default ini! |
SUCCESS |
Pengaitan berhasil. |
USER_AUTHENTICATION_FAILED |
Meskipun paket autentikasi akun ditampilkan, autentikasi pengguna gagal. |
NOT_ELIGIBLE |
Akun pengguna tidak memenuhi syarat untuk layanan ini. |
OTP_NOT_MATCHED |
OTP tidak cocok dengan yang dikirim integrator. |
OTP_ALREADY_USED |
OTP sudah digunakan. |
OTP_LIMIT_REACHED |
Pengguna telah meminta atau mencoba memverifikasi terlalu banyak OTP. |
OTP_EXPIRED |
OTP telah berakhir. |