Dokumentasi API
Panduan lengkap integrasi Sekalipay Payment Gateway ke dalam aplikasi bisnis Anda. Aman, cepat, dan mudah diimplementasikan.
Getting Started
Pengantar Otentikasi Base URLEndpoints
Merchant Info Buat Pembayaran Cek Status Metode Pembayaran Request PenarikanPengantar
API Sekalipay memungkinkan Anda untuk menerima pembayaran secara otomatis dan real-time. API kami dirancang dengan prinsip RESTful, menggunakan respons JSON standar, dan kode status HTTP konvensional.
Catatan: Semua request ke API harus menggunakan protokol HTTPS. Request HTTP biasa akan ditolak untuk keamanan data transaksi Anda.
Otentikasi & Keamanan
Keamanan adalah prioritas utama kami. Untuk menggunakan API Sekalipay, Anda memerlukan kredensial yang dapat diperoleh di Dashboard Merchant. Selain itu, kami menerapkan IP Whitelist untuk memastikan request hanya berasal dari server Anda.
key API Key
Digunakan untuk identifikasi merchant.
lock Secret Key
Digunakan untuk membuat signature request. Jangan pernah membagikan key ini!
Membuat Signature
Setiap request POST (seperti membuat pembayaran atau penarikan) memerlukan header
X-Signature.
Signature dibuat menggunakan HMAC-SHA256 dari body request JSON dengan Secret Key Anda.
// Payload body (JSON string)
$body = json_encode([
'merchant_ref_id' => 'TRX-123456',
'amount' => 100000,
// ... other fields
]);
// Your Secret Key from Dashboard
$secretKey = 'sk_live_...';
// Generate Signature
$signature = hash_hmac('sha256', $body, $secretKey);
// Send Request
$response = Http::withHeaders([
'Content-Type' => 'application/json',
'X-Signature' => $signature
])->post('https://sekalipay.com/api/v1/gateway/payment', json_decode($body, true));
Base URL
/merchant/info
Mendapatkan informasi akun merchant Anda, termasuk saldo aktif dan status akun.
Auth: IP Whitelist only (No signature
required)
{
"status": 1,
"rc": 200,
"message": "Success",
"data": {
"merchant_code": "MCH-A1B2C3",
"nama_toko": "Toko Online Saya",
"saldo_tersedia": 1500000,
"saldo_tertahan": 250000,
"total_revenue": 15000000,
"status": "active",
"is_sandbox": false
},
"ts": 1703395200
}
/payment
Membuat transaksi pembayaran baru. Rate limit: 10 request/menit.
Requires Signature
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| merchant_ref_id | string | Yes | ID unik referensi dari sistem Anda (Max 50 char) |
| amount | integer | Yes | Nominal pembayaran (Min sesuai metode pembayaran) |
| payment_code | string | Yes | Kode metode pembayaran (e.g., 'QRIS', 'VA_BCA') |
| customer_name | string | Yes | Nama pelanggan |
| customer_email | string | Yes | Email pelanggan untuk notifikasi |
{
"status": true,
"message": "OK",
"data": {
"merchant_ref_id": "TRX-123456",
"invoice": "INV/20231224/KWL/12345",
"amount": 100000,
"fee": 700,
"total": 100700,
"payment_code": "QRIS",
"payment_link": "https://sekalipay.com/payment/INV...",
"qr_link": "https://qr.sekalipay.com/...",
"expired_at": "2023-12-24T15:30:00.000000Z",
"status": "pending",
"is_sandbox": false
}
}
/payment/{merchant_ref_id}
Mengecek status pembayaran berdasarkan merchant_ref_id Anda. Rate limit: 30 request/menit.
{
"status": true,
"message": "OK",
"data": {
"merchant_ref_id": "TRX-123456",
"invoice": "INV/20231224/KWL/12345",
"status": "paid",
"amount": 100000,
"fee": 700,
"total": 100700,
"created_at": "2023-12-24T15:00:00.000000Z",
"paid_at": "2023-12-24T15:05:12.000000Z"
}
}
/payment-methods
Mendapatkan daftar metode pembayaran yang aktif beserta informasi biaya dan limit.
{
"status": true,
"message": "OK",
"data": [
{
"payment_code": "QRIS",
"payment_name": "QRIS",
"payment_type": "QRIS",
"min_amount": 1000,
"max_amount": 5000000,
"fee_info": {
"type": "percent",
"description": "0.7%"
}
},
// ... more methods
]
}
/withdrawal
Mengajukan penarikan dana ke rekening bank terdaftar. Rate limit: 5
request/menit.
Requires Signature
Syarat: Rekening bank harus sudah diverifikasi di dashboard. Min penarikan Rp 50.000. Biaya admin Rp 7.500.
{
"amount": 500000 // Nominal bersih yang ingin diterima
}
{
"status": true,
"message": "Withdrawal request submitted successfully",
"data": {
"settlement_id": 123,
"net_amount": 500000,
"withdrawal_fee": 7500,
"total_deducted": 507500,
"status": "pending",
"estimated_processed_at": "2023-12-25 15:30:00"
}
}