Direct API

QRIS

Espay Payment Gateway menyediakan layanan QRIS dengan mode QR MPM (Merchant Presented Mode), yang memungkinkan Anda menampilkan kode QR yang dapat dipindai oleh customer Anda untuk melakukan pembayaran.

Sebelum Integrasi

Pastikan Anda sudah menerima kredensial dari tim Espay.

Setelah Integrasi

Berikut ini merupakan langkah-langkah yang dapat Anda gunakan untuk integrasi dengan Direct API – QRIS.

1. Menampilkan Metode Pembayaran

Inquiry Merchant Info adalah layanan yang dapat Anda gunakan untuk mengetahui kode bank dan produk yang aktif. Dengan layanan ini, Anda dapat menyesuaikan antarmuka pengguna (UI) saat memilih metode pembayaran. Pelajari Inquiry Merchant Info.

2. Generate Asymmetric Signature

Setiap permintaan yang Anda kirim, akan divalidasi oleh Espay menggunakan parameter signature yang telah Anda buat. Pelajari pembuatan Kode yang digunakan untuk melakukan validasi transaksi. Pelajari Payment Gateway | Asymmetric Signature.

3. Membuat Inquiry dan Payment

Anda diharuskan untuk menyediakan callback yang dapat diakses oleh Espay Payment Gateway. Pelajari lebih lanjut Inquiry dan Payment.

4. Membuat QRIS
Tipe Value
Kode Layanan
47
Nama
QR MPM
HTTP Method
POST

Flow

Anda melakukan permintaan dengan mengirimkan parameter yang dibutuhkan, dan Espay Payment Gateway akan memberikan respons dalam bentuk JSON.

API URL

Environment URL
Sandbox
Port of HTTPS (443)
https://sandbox-api.espay.id/api/v1.0/qr/qr-mpm-generate
Production
Port of HTTPS (443)
https://api-merchant.espay.id/api/v1.0/qr/qr-mpm-generate
Environment URL
Sandbox
Port of HTTPS (443)
https://sandbox-api.espay.id/api/v1.0/qr/qr-mpm-generate
Production
Port of HTTPS (443)
https://api.espay.id/api/v1.0/qr/qr-mpm-generate
Nama Tipe Mandatory Keterangan
Content-Type
String
Y
Isi konten permintaan Anda.

Contoh:
application/json
X-TIMESTAMP
String (25)
Y
Tanggal dan waktu lokal customer.

Format:
yyyy-MM-ddThh:mi:ssTZD (ISO 8601)

Contoh:
2024-03-14T07:49:28+07:00
X-SIGNATURE
String (255)
Y
Kode yang digunakan untuk melakukan validasi transaksi. Pelajari Payment Gateway | Asymmetric Signature
X-EXTERNAL-ID
String (32)
Y
String Numerik. Kode referensi yang bersifat unik pada hari yang sama.
X-PARTNER-ID
String (50)
Y
Merchant code yang diberikan oleh tim Espay.
CHANNEL-ID
String (5)
Y
Kode channel.

Value:
ESPAY
Authorization-Customer
String (150)
C
Kode token B2B2C. Khusus Espay -> Bank.
Y: Yes, O: Optional, C: Conditional

Parameter Permintaan

Parameter Tipe Mandatory Keterangan
partnerReferenceNo
String (32)
Y
Kode unik untuk mengidentifikasi pesanan / penagihan / faktur.

Contoh:
Nomor transaksi, invoice id, dll.
merchantId
String (28)
Y
Merchant code yang diberikan oleh tim Espay.
amount
Object
Y
  value
String (16.2)
Y
Jumlah pembayaran.

Format:
Desimal .00 (ISO 4217)

Contoh:
150000.00
  currency
String (3)
Y
Kode mata uang transaksi.

Format:
  • Rupiah: IDR
additionalInfo
Object
Y
  productCode
String (16)
Y
Kode produk. Lihat daftar kode produk di sini.
validityPeriod
String(25)
O
Tanggal dan waktu kedaluwarsa transaksi.

Format:
yyyy-MM-ddThh:mi:ssTZD (ISO 8601)

Contoh:
2022-08-21T14:56:11+07:00
Y: Yes, O: Optional, C: Conditional

Parameter Respons

Parameter Tipe Mandatory Keterangan
responseCode
String (7)
Y
Kode respon. Lihat kode respons di sini.

Format:
Kode HTTP + Kode Layanan + Kode Error

Contoh:
200+47+00 = 2004700.
responseMessage
String (150)
Y
Deskripsi respons. Lihat deskripsi respons di sini.
qrUrl
String (256)
Y
URL untuk download gambar QR.
qrContent
String (256)
Y
Content QR dalam format string.
qrImage
Base64
Y
QR image dalam format Base64.
additionalInfo
Object
  referenceNo
String (64)
Y
Kode yang dibuat oleh Espay sebagai identitas transaksi.
  partnerReferenceNo
String (64)
Y
Kode unik untuk mengidentifikasi pesanan / penagihan / faktur dari request.

Contoh:
Nomor transaksi, invoice id, dll.
  merchantName
String (50)
Y
Nama merchant.
  amount
String (16.2)
Y
Total pembelian.

Format:
Desimal .00 (ISO 4217)

Contoh:
150000.00
Y: Yes, O: Optional, C: Conditional
5. Setelah Pembayaran
Espay Payment Gateway menyediakan API Opsional yang dapat Anda gunakan untuk mendukung kebutuhan pembayaran lainnya.

Try It!

Anda bisa coba masukkan data sesuai dengan input yang telah disediakan. Setelah itu Anda submit dan lihat hasilnya!

Request

Value

Response

FAQ
QRIS (QR-MPM) adalah service API yang digunakan untuk menghasilkan QR Code pembayaran, yang kemudian dapat ditampilkan ke customer pada halaman pembayaran merchant.
  • QRIS (QR-MPM):
    QRIS (QR-MPM) digunakan untuk menampilkan QR Code pembayaran pada halaman milik Anda.
    Anda melakukan request API ke Espay, dan Espay akan mengembalikan data seperti qrUrl, qrImage, atau qrContent. QR tersebut kemudian ditampilkan pada halaman pembayaran Anda, dan pengelolaan tampilan sepenuhnya menjadi tanggung jawab Anda.
  • Payment Host to Host
    Payment Host to Host digunakan untuk menghasilkan URL pembayaran Espay.
    Anda melakukan request API ke Espay, dan Espay akan mengembalikan webRedirectUrl. Customer kemudian diarahkan ke halaman pembayaran Espay (Espay Checkout Page), di mana tampilan UI sepenuhnya disediakan oleh Espay.
QRIS (QR-MPM) cocok digunakan jika Anda ingin menyediakan metode pembayaran QRIS pada halaman pembayaran milik sendiri.
Espay akan mengembalikan data seperti qrUrl, qrImage, dan qrContent yang dapat ditampilkan pada halaman tersebut.
Ya, Anda dapat mengatur masa berlaku QRIS dengan mengisi parameter request validityPeriod atau melalui parameter expiredDatetime pada respons service Inquiry.

Jika tidak diatur, maka masa berlaku QRIS akan mengikuti default dari Espay, yaitu 10 menit.
Error ini dapat terjadi karena Espay tidak dapat mengakses callback Inquiry yang Anda sediakan, sehingga proses transaksi tidak dapat dilanjutkan.

Silakan lihat penjelasan lengkapnya pada FAQ Umum – Status Transaksi.

Kode respons tersebut terjadi karena value pada parameter partnerReferenceNo sudah pernah digunakan sebelumnya.

PastikanpartnerReferenceNo yang digunakan bersifat unik dan belum pernah dipakai pada transaksi lain.

Minimal nominal transaksi QRIS adalah Rp10.000.
Sample Headers

Content-Type:application/json
X-TIMESTAMP:2024-03-14T07:49:28+07:00
X-SIGNATURE:SHwb9RwkUyxTV8uLv1MoGShUgZi1Of35GtB9GVmouSt2r8ePf/7Sy3zBuuBaUOhMcWJnojFtOuRhVR64uAES8H8R91kvAhW29l3QU9WO3LFDSp4PI8vwQVeHXOXlnNZa+HLXP8iYqnXRCIsoSTPTRQiBzpjQaUB1nGtEBEnDCMhRG7ijnMRtJQGiWUq2uT2Kfs23i64F8A2sVTojgnB4oPFMaeGuy0vhmtQqKAezBlKI9xhRAQz8cVHo1qcNNtakQjuWI/S0065lL0bDuY7SBY6iMTFzfGZkaxt8pzNLHbs4SbyjvzZnXt8of0ZUwEQxrMg5CLeACE8Tp7cyrgQ93w==
X-EXTERNAL-ID:d41e58d9-0e1d-4632-a9c1-df0eea578c0c
X-PARTNER-ID:SGWYESSISHOP
CHANNEL-ID:ESPAY
               



























Sample Request

{
  "partnerReferenceNo": "DIGSNAP000033",
  "merchantId": "SGWYESSISHOP",
  "amount": {
      "value": "10001.00",
      "currency": "IDR"
  },
  "additionalInfo": {
      "productCode": "QRIS"
  },
  "validityPeriod": "2024-03-20T07:44:11+07:00"
}
               




























Sample Positive Response

{
    "responseCode": "2004700",
    "responseMessage": "Successful",
    "qrUrl": "https://sandbox-api.espay.id/rest/digitalnotify/qr/?trx_id=ESP1710414240U8GO",
    "qrContent": "00020101021226710019ID.CO.CIMBNIAGA.WWW01189360002200006573970",
    "qrImage": "data:image/png;base64,",
    "additionalInfo": {
      "referenceNo": "ESP1710414240U8GO",
      "partnerReferenceNo": "DIGSNAP000033",
      "amount": "890000"
  }
}
                


Sample Negative Response

{
  "responseCode": "4094700",
  "responseMessage": "Duplicate X-EXTERNAL-ID"
}

                    


HTTP

curl --location 'https://sandbox-api.espay.id/api/v1.0/qr/qr-mpm-generate' \
--header 'Content-Type: application/json' \
--header 'X-TIMESTAMP: 2024-03-14T07:49:28+07:00' \
--header 'X-SIGNATURE: SHwb9RwkUyxTV8uLv1MoGShUgZi1Of35GtB9GVmouSt2r8ePf/7Sy3zBuuBaUOhMcWJnojFtOuRhVR64uAES8H8R91kvAhW29l3QU9WO3LFDSp4PI8vwQVeHXOXlnNZa+HLXP8iYqnXRCIsoSTPTRQiBzpjQaUB1nGtEBEnDCMhRG7ijnMRtJQGiWUq2uT2Kfs23i64F8A2sVTojgnB4oPFMaeGuy0vhmtQqKAezBlKI9xhRAQz8cVHo1qcNNtakQjuWI/S0065lL0bDuY7SBY6iMTFzfGZkaxt8pzNLHbs4SbyjvzZnXt8of0ZUwEQxrMg5CLeACE8Tp7cyrgQ93w==' \
--header 'X-EXTERNAL-ID: d41e58d9-0e1d-4632-a9c1-df0eea578c0c' \
--header 'X-PARTNER-ID: SGWYESSISHOP' \
--header 'CHANNEL-ID: ESPAY' \
--data '{
  "partnerReferenceNo": "DIGSNAP000033",
  "merchantId": "SGWYESSISHOP",
  "amount": {
      "value": "10001.00",
      "currency": "IDR"
  },
  "additionalInfo": {
      "productCode": "QRIS"
  },
  "validityPeriod": "2024-03-20T07:44:11+07:00"
}'
               


CURL

POST /api/v1.0/qr/qr-mpm-generate HTTP/1.1
Host: sandbox-api.espay.id
Content-Type: application/json
X-TIMESTAMP: 2024-03-14T07:49:28+07:00
X-SIGNATURE: SHwb9RwkUyxTV8uLv1MoGShUgZi1Of35GtB9GVmouSt2r8ePf/7Sy3zBuuBaUOhMcWJnojFtOuRhVR64uAES8H8R91kvAhW29l3QU9WO3LFDSp4PI8vwQVeHXOXlnNZa+HLXP8iYqnXRCIsoSTPTRQiBzpjQaUB1nGtEBEnDCMhRG7ijnMRtJQGiWUq2uT2Kfs23i64F8A2sVTojgnB4oPFMaeGuy0vhmtQqKAezBlKI9xhRAQz8cVHo1qcNNtakQjuWI/S0065lL0bDuY7SBY6iMTFzfGZkaxt8pzNLHbs4SbyjvzZnXt8of0ZUwEQxrMg5CLeACE8Tp7cyrgQ93w==
X-EXTERNAL-ID: d41e58d9-0e1d-4632-a9c1-df0eea578c0c
X-PARTNER-ID: SGWYESSISHOP
CHANNEL-ID: ESPAY

{
    "partnerReferenceNo": "DIGSNAP000033",
    "merchantId": "SGWYESSISHOP",
    "amount": {
        "value": "10001.00",
        "currency": "IDR"
    },
    "additionalInfo": {
        "productCode": "QRIS"
    },
    "validityPeriod": "2024-03-20T07:44:11+07:00"
}
               
Scroll to Top