Ojire Payment Gateway
  1. Virtual Account
Ojire Payment Gateway
  • Registrasi SNAP di OJIRE Payment Gateway
  • Otentikasi API
    • Public Key dan Private Key
    • Bearer Token
    • Signature
  • Auth
    • Get Token API
      POST
  • Virtual Account
    • Create VA
      POST
    • Update VA
      PUT
    • Inquiry VA
      POST
    • Delete VA
      DELETE
    • Callback VA
      POST
  • QRIS
    • Generate QR MPM
      POST
  • Payment Link
    • Create Payment Link
      POST
    • Inquiry Payment Link
      POST
    • Method Payment Link
      POST
  • Account
  1. Virtual Account

Callback VA

Developing
SANDBOX
https://dev.your-api-server.com
SANDBOX
https://dev.your-api-server.com
POST
https://dev.your-api-server.com
/v1.0/transfer-va/payment

Notifikasi Pembayaran (Webhook) – OJIRE#

Payment berupa webhook atau notifikasi ketika pengguna sudah membayar. Untuk menerima informasi ini, Anda perlu membuat API untuk menerima notifikasi. Berikut hal-hal yang perlu Anda lakukan saat menerima pembayaran.

1. Secure#

Anda perlu melakukan pembayaran dengan aman. Karena informasi pembayarannya akan selalu melalui API ini. Kita perlu memastikan lingkungan yang kuat dan aman. Anda mungkin melihat gambar diagram urutan di bagian atas halaman ini.
1.
Whitelist IP OJIRE
Berikut ini daftar IP Address milik OJIRE:
Production:
182.23.85.8, 182.23.85.9, 182.23.85.10, 182.23.85.13, 182.23.85.14,
103.177.101.184, 103.177.101.185, 103.177.101.186, 103.177.101.189, 103.177.101.190
Sandbox:
182.23.85.11, 182.23.85.12, 103.177.101.187, 103.177.101.188
2.
Selalu validasi signature
3.
(Opsional) Anda dapat memeriksa Inquiry Status untuk memastikan bahwa pengguna Anda telah membayar transaksinya.

2. Update#

Anda perlu memperbarui status transaksi Anda atau Anda dapat mendaftarkan pembayaran pada transaksi Anda.

⚠️ Hati-hati dengan double payments
Terkadang terjadi secara intermiten di lingkungan kita. Bisa dari bank, OJIRE, atau bahkan dari pihak Anda.
Untuk mengatasinya, Anda perlu menyimpan dan mendaftarkan pembayaran paymentRequestId dari pembayaran tersebut.
Jika paymentRequestId sudah terdaftar di sistem Anda, Anda tidak perlu memperbaruinya sebagai pembayaran ganda.
Ini mungkin hanya kesalahan batas waktu. Namun jika datang dengan cara yang berbeda paymentRequestId, bisa jadi itu pembayaran ganda dari pengguna.
Anda dapat memberi tahu pengguna jika sistem Anda menemukan jenis transaksi ini.
Anda dapat menambahkannya ke rekening saldo mereka di platform Anda atau Anda dapat mengembalikannya sendiri ke rekening bank mereka.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://dev.your-api-server.com/v1.0/transfer-va/payment' \
--header 'Authorization: Bearer ABCXYZ==' \
--header 'Channel-Id: 00000000-0000-0000-0000-000000000000' \
--header 'X-External-Id: 00000000-0000-0000-0000-000000000000' \
--header 'X-Partner-Id: 00000000-0000-0000-0000-000000000000' \
--header 'X-Signature: ABCXYZ==' \
--header 'X-Timestamp: 2025-07-04T14:11:26+07:00' \
--header 'Content-Type: application/json' \
--data-raw '{
    "responseCode": "2000001",
    "responseMessage": "Successful",
    "virtualAccountData": {
        "customerNo": "    2048",
        "hashedSourceAccountNo": "0000000860011002300",
        "paidAmount": {
            "currency": "IDR",
            "value": "10000.00"
        },
        "partnerServiceId": "    2048",
        "paymentRequestId": "250704BI02478718",
        "sourceBankCode": "022",
        "virtualAccountNo": "    20489673811510665"
    }
}'
Response Response Example
{}

Request

Header Params
Authorization
string 
required
Otentikasi dengan bearer token
Example:
Bearer ABCXYZ==
Channel-Id
string 
required
Kode Bank
Example:
00000000-0000-0000-0000-000000000000
X-External-Id
string 
required
ID permintaan yang unik. Maximal 32 Karakter
Example:
00000000-0000-0000-0000-000000000000
X-Partner-Id
string 
required
ID Project
Example:
00000000-0000-0000-0000-000000000000
X-Signature
string 
required
Symmetric Signature
Example:
ABCXYZ==
X-Timestamp
string 
required
ISO-8601
Example:
2025-07-04T14:11:26+07:00
Body Params application/json
responseCode
string 
required
responseMessage
string 
required
virtualAccountData
object 
required
customerNo
string 
required
hashedSourceAccountNo
string 
required
paidAmount
object 
required
partnerServiceId
string 
required
paymentRequestId
string 
required
sourceBankCode
string 
required
virtualAccountNo
string 
required
Examples

Responses

🟢200Success
application/json
Body
object {0}
Previous
Delete VA
Next
Generate QR MPM