Autentikasi akun GoPay Merchant menggunakan alur OTP dua atau tiga langkah.
Halaman ini menjelaskan alur OTP khusus untuk GoPay Merchant. Gunakan alur ini saat membuat akun baru atau saat akun perlu relogin (biasanya karena sesi expired).
GoPay Merchant membutuhkan verifikasi OTP minimal dua langkah. Kadang ada OTP kedua sebagai verifikasi tambahan — jika requireSecondOTP: true pada respons Step 2, lanjutkan ke Step 3.
Step 1 — Kirim OTP
POST /api/v1/accounts
Kirim OTP ke nomor HP yang terdaftar di GoPay.
Request Body
| Field | Type | Required | Keterangan |
|---|---|---|---|
action | string | Ya | Harus gopay-merchant-send-otp |
phoneNumber | string | Ya | Nomor HP terdaftar di GoPay |
providerCode | string | Kondisional | GOPAY-MERCHANT — wajib untuk akun baru |
accountName | string | Kondisional | Label akun — wajib untuk akun baru |
intervalMinutes | number | Kondisional | Interval sync (menit) — wajib untuk akun baru |
accountId | string | Kondisional | UUID akun — wajib untuk relogin/update |
verificationMethod | string | No | WhatsApp (default) atau SMS |
Akun baru:
Relogin / update:
Response 200
Simpan sessionId — nilai ini diperlukan di Step 2.
Errors
| Status | Keterangan |
|---|---|
400 | Field wajib tidak lengkap |
400 | Provider tidak tersedia |
400 | Login gagal |
401 | API key tidak valid atau tidak ada |
500 | Internal server error |
Contoh
Step 2 — Verifikasi OTP
POST /api/v1/accounts
Verifikasi kode OTP yang diterima. Periksa respons — jika requireSecondOTP: true, lanjutkan ke Step 3.
Request Body
| Field | Type | Required | Keterangan |
|---|---|---|---|
action | string | Ya | Harus gopay-merchant-verify-otp |
sessionId | string | Ya | Session ID dari Step 1 |
otp | string | Ya | Kode OTP yang diterima |
accountId | string | No | UUID akun — untuk relogin/update |
Response 200 — Autentikasi selesai
Response 200 — Perlu OTP kedua
Jika requireSecondOTP: true, simpan sessionId baru dari respons ini (bukan dari Step 1) dan lanjutkan ke Step 3.
Errors
| Status | Keterangan |
|---|---|
400 | Data verifikasi tidak lengkap |
400 | Session expired atau tidak ditemukan — ulangi dari Step 1 |
400 | OTP verification failed |
401 | API key tidak valid atau tidak ada |
500 | Internal server error |
Contoh
Step 3 — Verifikasi OTP Kedua (opsional)
POST /api/v1/accounts
Hanya diperlukan jika Step 2 mengembalikan requireSecondOTP: true. Gunakan sessionId baru dari respons Step 2.
Request Body
| Field | Type | Required | Keterangan |
|---|---|---|---|
action | string | Ya | Harus gopay-merchant-verify-second-otp |
sessionId | string | Ya | Session ID baru dari Step 2 |
otp | string | Ya | Kode OTP kedua yang diterima |
Response 200
accountId adalah UUID akun yang sudah terhubung. Simpan nilai ini untuk digunakan di endpoint Mutations dan lainnya.
Errors
| Status | Keterangan |
|---|---|
400 | Data verifikasi tidak lengkap |
400 | Session expired atau tidak ditemukan — ulangi dari Step 1 |
400 | OTP verification failed |
401 | API key tidak valid atau tidak ada |
500 | Internal server error |
Contoh
© 2026 PT. Cobra Code Indonesia. All rights reserved.
Last updated: 4/11/2026