Direct API

Payment Host to Host

Layanan Payment Host to Host dari Espay Payment Gateway adalah model integrasi yang memungkinkan Anda terhubung tanpa perlu membuat halaman pembayaran sendiri. Layanan ini bekerja dengan menghasilkan URL yang akan mengarahkan Anda langsung ke Espay Checkout Page.

Sebelum Integrasi

Pastikan Anda sudah menerima kredensial dari tim Espay.

Langkah Integrasi

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

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 Payment Gateway menggunakan parameter signature yang telah Anda buat. Pelajari pembuatan 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 Payment Host to Host
Tipe Value
Kode Layanan
54
Nama
Direct Debit Payment
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/apimerchant/v1.0/debit/payment-host-to-host
Production
Port of HTTPS (443)
https://api-merchant.espay.id/apimerchant/v1.0/debit/payment-host-to-host
Environment URL
Sandbox
Port of HTTPS (443)
https://sandbox-api.espay.id/apimerchant/v1.0/debit/payment-host-to-host
Production
Port of HTTPS (443)
https://api.espay.id/apimerchant/v1.0/debit/payment-host-to-host
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 saat ini.

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.

Format:
Alphanumeric (A-Z dan 0-9).

Contoh:
Nomor transaksi, invoice id, dll.
merchantId
String (28)
Y
Merchant code yang diberikan oleh tim Espay.

Contoh:
SGWYESSISHOP
subMerchantId
String (128)
O
API Key yang diberikan oleh tim Espay.
amount
Object
Y
  value
String (16.2)
Y
Total pembayaran.

Format:
Desimal .00 (ISO 4217)

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

Format:
  • Rupiah: IDR
urlParam
Object
  url
String (255)
Y
URL yang mengarahkan ke halaman merchant (callback).
  type
String (32)
Y
Tipe URL.

Value:
PAY_RETURN
  isDeeplink
String (1)
Y
Status Deep Link. Khusus SNAP value yang didukung hanya N (Tidak).

Format:
  • Ya: Y
  • Tidak: N
validUpTo
String (25)
O
Tanggal dan waktu kedaluwarsa transaksi.

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

Contoh:
2022-08-21T14:56:11+07:00
pointOfInitiation
String (20)
O
Informasi mengenai sumber request merchant.

Contoh:
Web, Mobile, POS, dll.
payOptionDetails
Object
  payMethod
String (64)
Y
Kode bank. Lihat daftar kode bank di sini.
  payOption
String (64)
Y
Kode produk. Lihat daftar kode produk di sini.
  transAmount
Object
    value
String (16.2)
Y
Total pembayaran.

Format:
Desimal .00 (ISO 4217)

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

Format:
  • Rupiah: IDR
  feeAmount
Object
    value
String (16.2)
Y
Biaya transaksi.

Format:
Desimal .00 (ISO 4217)

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

Format:
  • Rupiah: IDR
additionalInfo
Object
  payType
String (20)
Y
Tipe Pembayaran.

Format:
  • Redirect: REDIRECT
  • Paylink: PAYLINK
  • S2BPay: S2BPAY
  userId
String (20)
O
Id user.
  userName
String (64)
O
Nama customer.
  userEmail
String (64)
O
Email customer.
  userPhone
String (16)
O
No handphone customer.
  buyerId
String (8)
O
ID unik merchant khusus virtual account statis. Digunakan oleh Espay untuk validasi transaksi.
  productCode
String (16)
Y
Kode produk.

Format:
  • GOPAYLINK
  • OVOLINK
  • DANALINK
  balanceType
String (70)
C
Jenis saldo pada akun.

Format:
  • CASH
  • POINT
  • GOPAY_WALLET
  • PAY_LATER
  bankCardToken
String (64)
C
Akun token dari layanan Account Binding.
Y: Yes, O: Optional, C: Conditional

Parameter Respons

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

Format:
Kode HTTP + Kode Layanan + Kode Error

Contoh:
200+54+00 = 2005400.
responseMessage
String (150)
Y
Deskripsi respons. Lihat deskripsi respons di sini.
partnerReferenceNo
String (64)
Y
Kode unik untuk mengidentifikasi pesanan / penagihan / faktur.

Format:
Alphanumeric (A-Z dan 0-9).

Contoh:
Nomor transaksi, invoice id, dll.
webRedirectUrl
String (2048)
Y
URL untuk mengarahkan ke halaman pembayaran.
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
Payment Host to Host adalah service API SNAP yang digunakan untuk menghasilkan URL pembayaran Espay.

Dalam alurnya, Anda melakukan request API ke Espay untuk mendapatkan URL pembayaran. Kemudian Anda mengarahkan customer ke halaman pembayaran Espay (Espay Checkout Page) untuk menyelesaikan transaksi.
Payment Host to Host cocok digunakan sebagai alternatif  apabila Anda ingin menggunakan halaman pembayaran Espay (Espay Checkout Page).
Namun jika Anda sudah memiliki halaman pembayaran sendiri, maka Payment Host to Host tidak direkomendasikan dan sebaiknya menggunakan API QRIS atau API Virtual Account.
Payment Host to Host mendukung semua metode pembayaran Espay yang menggunakan flow redirect ke halaman pembayaran, kecuali Virtual Account Static.
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.
Payment Host to Host
  • Anda melakukan request API ke Espay untuk mendapatkan URL pembayaran, lalu mengarahkan customer ke halaman pembayaran Espay.
  • Tidak menyediakan komponen UI pemilihan metode pembayaran.

Embed Kit
  • Anda cukup menanamkan kode (embed code) yang disediakan oleh Espay.
  • Sudah menyediakan komponen UI pemilihan metode pembayaran (seperti dropdown atau daftar bank).
Sample Headers

Content-Type:application/json
X-TIMESTAMP:2024-03-14T07:49:28+07:00
X-SIGNATURE:NWdDmKDOx9S+8wpytSF/Zoa5o7g9ndkmxbTw7qW+b3XulyacnOTcVe5iLWPEyoyuFETp3vmGuXkGtD7rjaUx47ZUiLirHf1HAzD4RdLTRLmL6Yyv0E0LNHdBGwooAZaOmWLM+NAcOj+o6JWTLfHo/a0auPVyozEvz6bTpRIfpCK2fdcXv7lAYIfYYauT7fE01M9rGHVpi4YFLswf0t2GSdwLg3pmoXVhvRNjNzN8RhNjlYlIDvcPGtijbkH2Kpzo9rkTFK203PSpupXwxN8DI8kPhX93eQafRXYY5GTlNDKQ/HpcDLjt8paSUPuuzWPsXLgos/3CY9dBRxB8dZl3qA==
X-EXTERNAL-ID:6b13fe32-0a63-4af2-911b-e6c9a0f9c7f4
X-PARTNER-ID:SGWYESSISHOP
CHANNEL-ID:ESPAY
               



























Sample Request

{
    "partnerReferenceNo": "DIGORDER000001",
    "merchantId": "SGWYESSISHOP",
    "subMerchantId": "fd322d0f036c8443d6904973c1a329bd", 
    "amount": {
        "value": "10000.00",
        "currency": "IDR"
    },
    "urlParam": {
        "url": "https://yourthankyoupage.com",
        "type": "PAY_RETURN",
        "isDeeplink": "N"
    },
    "validUpTo": "2023-12-23T07:44:11+07:00",
    "pointOfInitiation": "Website",
    "payOptionDetails": {
        "payMethod": "014",
        "payOption": "BCAATM",
        "transAmount": {
            "value": "10000.00",
            "currency": "IDR"
        },
        "feeAmount": {
            "value": "10000.00",
            "currency": "IDR"
        }
    },
    "additionalInfo": {
        "payType": "REDIRECT",
        "userId": "425666",
        "userName": "Agung Setiadi Putra",
        "userEmail": "[email protected]",
        "userPhone": "082231838297",
        "buyerId": "12345678",
        "productCode": "OVOLINK",
        "balanceType": "CASH",
        "bankCardToken": "ESP230929094046rRD5mCT1IZkrBhJb5"
    }
}
               

































































































Sample Positive Response

{
  "responseCode": "2005400",
  "responseMessage": "Successful",
  "partnerReferenceNo": "DIGORDER000001",
  "approvalCode": "20240314180833",
  "webRedirectUrl": "https://sandbox-kit.espay.id/index/order/?url=https://google.com&paymentId=DIGORDER000001&paymentAmount=10000&commCode=SGWYESSISHOP&bankCode=014&productCode=BCAATM"
}
                


Sample Negative Response

{
  "responseCode": "4015400",
  "responseMessage": "Unauthorized. Invalid Signature from Client"
}
                    


HTTP

curl --location 'https://sandbox-api.espay.id/apimerchant/v1.0/debit/payment-host-to-host' \
--header 'Content-Type: application/json' \
--header 'X-TIMESTAMP: 2024-03-14T07:49:28+07:00' \
--header 'X-SIGNATURE: rktoxyGpXhvhsYB5ac8rybScqH8iI6+HPJtfo83Uk2lot/2ahFA8wOZDCl0E/VuN0S9DUBZ+4UM0utYVArHLZuWwlOqTn+Ld/pZGzVbzaW0Od0Ss/LNVLjmEkWB7OsBbjtSPcmBS9AjgAUebSVreoHCT4kuxM8e9Mnb5wXSSDZzUE1JVeo0j+w+Vfyc53OLo4beWWuH7SlZg9egasQ/dwW5Vapt5YlzRPPKQOwGIxdzhAyvw/9wdUsjud27tVy9HBs4PwC9yEeK0kbybAUOnIsL/Qapp0BNrr08MB4OBH5gbkfJm/noPNFGSkFwRiBs/oiJglxh+Pi4ajtA4okdATA==' \
--header 'X-EXTERNAL-ID: 6b13fe32-0a63-4af2-911b-e6c9a0f9c7f4' \
--header 'X-PARTNER-ID: SGWYESSISHOP' \
--header 'CHANNEL-ID: ESPAY' \
--data-raw '{
    "partnerReferenceNo": "DIGORDER000001",
    "merchantId": "SGWYESSISHOP",
    "subMerchantId": "fd322d0f036c8443d6904973c1a329bd", 
    "amount": {
        "value": "10000.00",
        "currency": "IDR"
    },
    "urlParam": {
        "url": "https://yourthankyoupage.com",
        "type": "PAY_RETURN",
        "isDeeplink": "N"
    },
    "validUpTo": "2023-12-23T07:44:11+07:00",
    "pointOfInitiation": "Website",
    "payOptionDetails": {
        "payMethod": "014",
        "payOption": "BCAATM",
        "transAmount": {
            "value": "10000.00",
            "currency": "IDR"
        },
        "feeAmount": {
            "value": "10000.00",
            "currency": "IDR"
        }
    },
    "additionalInfo": {
        "payType": "REDIRECT",
        "userId": "425666",
        "userName": "Agung Setiadi Putra",
        "userEmail": "[email protected]",
        "userPhone": "082231838297",
        "buyerId": "12345678",
        "productCode": "OVOLINK",
        "balanceType": "CASH",
        "bankCardToken": "ESP230929094046rRD5mCT1IZkrBhJb5"
    }
}'
               


CURL

POST /apimerchant/v1.0/debit/payment-host-to-host HTTP/1.1
Host: sandbox-api.espay.id
Content-Type: application/json
X-TIMESTAMP: 2024-03-14T07:49:28+07:00
X-SIGNATURE: rktoxyGpXhvhsYB5ac8rybScqH8iI6+HPJtfo83Uk2lot/2ahFA8wOZDCl0E/VuN0S9DUBZ+4UM0utYVArHLZuWwlOqTn+Ld/pZGzVbzaW0Od0Ss/LNVLjmEkWB7OsBbjtSPcmBS9AjgAUebSVreoHCT4kuxM8e9Mnb5wXSSDZzUE1JVeo0j+w+Vfyc53OLo4beWWuH7SlZg9egasQ/dwW5Vapt5YlzRPPKQOwGIxdzhAyvw/9wdUsjud27tVy9HBs4PwC9yEeK0kbybAUOnIsL/Qapp0BNrr08MB4OBH5gbkfJm/noPNFGSkFwRiBs/oiJglxh+Pi4ajtA4okdATA==
X-EXTERNAL-ID: 6b13fe32-0a63-4af2-911b-e6c9a0f9c7f4
X-PARTNER-ID: SGWYESSISHOP
CHANNEL-ID: ESPAY
Content-Length: 1079

{
    "partnerReferenceNo": "DIGORDER000001",
    "merchantId": "SGWYESSISHOP",
    "subMerchantId": "fd322d0f036c8443d6904973c1a329bd", 
    "amount": {
        "value": "10000.00",
        "currency": "IDR"
    },
    "urlParam": {
        "url": "https://yourthankyoupage.com",
        "type": "PAY_RETURN",
        "isDeeplink": "N"
    },
    "validUpTo": "2023-12-23T07:44:11+07:00",
    "pointOfInitiation": "Website",
    "payOptionDetails": {
        "payMethod": "014",
        "payOption": "BCAATM",
        "transAmount": {
            "value": "10000.00",
            "currency": "IDR"
        },
        "feeAmount": {
            "value": "10000.00",
            "currency": "IDR"
        }
    },
    "additionalInfo": {
        "payType": "REDIRECT",
        "userId": "425666",
        "userName": "Agung Setiadi Putra",
        "userEmail": "[email protected]",
        "userPhone": "082231838297",
        "buyerId": "12345678",
        "productCode": "OVOLINK",
        "balanceType": "CASH",
        "bankCardToken": "ESP230929094046rRD5mCT1IZkrBhJb5"
    }
}
               
Scroll to Top