Langsung ke konten utama

API PEMBAYARAN MASUK

smilepayz teamsSekitar 7 menit

Permintaan

API Pembayaran Masuk memungkinkan pedagang untuk memulai transaksi pengumpulan pembayaran dari pelanggan.
Metode pembayaran yang didukung meliputi:

Transfer bank
QRIS (Quick Response Indonesian Standard)
Dompet digital
Kartu kredit/debit
Saluran pembayaran digital lainnya

Jalur Permintaan:

sandbox: https://sandbox-gateway.smilepayz.com/v2.0/transaction/pay-in
production: https://gateway.smilepayz.com/v2.0/transaction/pay-in

Parameter Header

FieldRequiredTypeDescription
Content-TypeMStringSpesifikasi tipe konten HTTP
Nilai tetap: application/json
Diperlukan untuk parsing permintaan yang tepat
X-TIMESTAMPMStringFormat datetime ISO 8601 dengan offset timezone
Format: yyyy-MM-ddTHH:mm:ss±HH:mm
Contoh: 2020-12-17T10:55:00+07:00
Catatan: Harus waktu server saat ini dalam ±5 menit
X-SIGNATUREMStringTanda tangan digital untuk autentikasi permintaan. Lihat Pembuatan Tanda Tangan
X-PARTNER-IDMStringPengidentifikasi pedagang unik yang ditugaskan oleh platform
Format: String alfanumerik
Digunakan untuk autentikasi pedagang dan routing transaksi
Silakan masukkan merchantID

Parameter Body

FieldRequiredTypeDescription
orderNoMString(32)Pengidentifikasi transaksi unik untuk pelacakan pedagang
Format: Hanya karakter alfanumerik
Panjang: 6-32 karakter
Harus unik dalam lingkup pedagang
purposeMString(64)Deskripsi transaksi yang dapat dibaca manusia
Format: String yang dikodekan UTF-8
Panjang: 1-64 karakter
Digunakan untuk riwayat transaksi dan pelaporan
merchantMObjectKontainer identifikasi pedagang dan informasi bisnis
Berisi detail pedagang utama dan sub-pedagang
Diperlukan untuk routing transaksi dan penyelesaian
    merchantIdMStringPengidentifikasi pedagang utama yang ditugaskan oleh platform
Format: String alfanumerik
Digunakan untuk routing transaksi dan pemrosesan penyelesaian
    merchantNameOStringNama bisnis terdaftar dari pedagang
Format: String yang dikodekan UTF-8
Ditampilkan dalam antarmuka pembayaran dan catatan transaksi
    subMerchantIdOStringPengidentifikasi sub-pedagang untuk struktur pedagang multi-level
Format: String alfanumerik
Diperlukan untuk pemrosesan transaksi sub-pedagang
    subMerchantNameOStringNama bisnis sub-pedagang untuk tujuan tampilan
Format: String yang dikodekan UTF-8
Ditampilkan dalam antarmuka pembayaran dan catatan transaksi
moneyMObjectKontainer spesifikasi jumlah dan mata uang transaksi
Mendefinisikan nilai pembayaran dan unit moneter
Diperlukan untuk pemrosesan pembayaran dan penyelesaian
    currencyMStringSpesifikasi kode mata uang ISO 4217
Nilai tetap: IDR (Rupiah Indonesia)
Menentukan aturan pemrosesan pembayaran dan mata uang penyelesaian
    amountMNumberJumlah transaksi dalam unit mata uang terkecil
Format: Nilai integer
Contoh: 20000 mewakili IDR 20000
Rentang: 10000-999999999
payerCObjectKontainer informasi pembayaran pelanggan
Diperlukan untuk metode pembayaran tertentu (mis., OVO)
Digunakan untuk verifikasi pembayaran dan komunikasi pelanggan
    phoneCStringNomor telepon seluler pelanggan untuk verifikasi pembayaran
Format: Format internasional dengan kode negara
Contoh: +6281234567890
Diperlukan untuk pembayaran dompet OVO
paymentMethodOStringSpesifikasi metode pembayaran yang disukai
Format: Kode metode pembayaran yang telah ditentukan
Contoh: QRIS, W_DANA, CIMB, BCA
Jika dihilangkan, halaman pemilihan metode pembayaran ditampilkan
expiryPeriodONumberDurasi timeout sesi pembayaran dalam detik
Format: Nilai integer
Default: 3600 detik (1 jam)
Rentang: 300-86400 detik (5 menit hingga 24 jam)
redirectUrlOString(256)URL tujuan redirect pasca-pembayaran
Format: URL HTTP/HTTPS yang valid
Panjang maksimum: 256 karakter
Pelanggan diarahkan ke sini setelah pembayaran selesai
callbackUrlOString(256)URL endpoint notifikasi webhook
Format: URL HTTP/HTTPS yang valid
Panjang maksimum: 256 karakter
Menerima pembaruan status transaksi waktu nyata

Catatan Penting

1. Pemilihan Metode Pembayaran: Jika paymentMethod tidak ditentukan, Smilepayz akan mengembalikan halaman checkout untuk pelanggan memilih metode pembayaran yang disukai

2. Persyaratan Pembayaran OVO: Ketika paymentMethod disetel ke OVO, field payer.phone wajib untuk verifikasi dan pemrosesan pembayaran


Contoh Body – Permintaan Transaksi:

Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00+07:00
X-SIGNATURE: 7MHd9v5/m9JeqmDZVwWBZUZ5J5...7120QnFEny7Qm7uQR1G0TWCh10fsU6nVxiRoeoQ==
X-PARTNER-ID: 20001

Respons

Permintaan HTTP

FieldRequiredTypeDescription
Content-TypeMStringSpesifikasi tipe konten respons HTTP
Nilai tetap: application/json
Menunjukkan format respons JSON
X-TIMESTAMPMStringFormat datetime ISO 8601 dengan offset timezone
Format: yyyy-MM-ddTHH:mm:ss±HH:mm
Contoh: 2020-12-17T10:55:00+07:00

Parameter Body

FieldRequiredTypeDescription
codeMStringKode status respons API yang menunjukkan hasil operasi
Format: String dua digit
Sukses: "00", Error: Kode lainnya
Digunakan untuk penanganan respons programatik
messageMStringDeskripsi status respons yang dapat dibaca manusia
Format: String yang dikodekan UTF-8
Memberikan informasi terperinci tentang hasil operasi
Dilokalisasi berdasarkan bahasa permintaan
orderNoMStringPengidentifikasi transaksi pedagang asli untuk referensi
Format: Sama dengan orderNo permintaan
Digunakan untuk pelacakan dan rekonsiliasi transaksi
tradeNoOStringNomor referensi transaksi internal untuk pelacakan sistem
Format: String alfanumerik yang dibuat sistem
Digunakan untuk manajemen transaksi internal dan dukungan
merchantMObjectKontainer informasi pedagang dengan detail akun
Berisi identifikasi pedagang dan informasi akun
Lihat Model Pedagang
    merchantIdMStringPengidentifikasi pedagang utama yang ditugaskan oleh platform
Format: String alfanumerik
Digunakan untuk routing transaksi dan pemrosesan penyelesaian
    merchantNameOStringNama bisnis terdaftar dari pedagang
Format: String yang dikodekan UTF-8
Ditampilkan dalam antarmuka pembayaran dan catatan transaksi
    subMerchantIdOStringPengidentifikasi sub-pedagang untuk struktur pedagang multi-level
Format: String alfanumerik
Diperlukan untuk pemrosesan transaksi sub-pedagang
    subMerchantNameOStringNama bisnis sub-pedagang untuk tujuan tampilan
Format: String yang dikodekan UTF-8
Ditampilkan dalam antarmuka pembayaran dan catatan transaksi
moneyMObjectDetail jumlah transaksi dengan spesifikasi mata uang
Berisi jumlah pembayaran yang dikonfirmasi dan mata uang
Lihat Model Uang
    currencyMStringSpesifikasi kode mata uang ISO 4217
Nilai tetap: IDR (Rupiah Indonesia)
Menentukan aturan pemrosesan pembayaran dan mata uang penyelesaian
    amountMNumberJumlah transaksi dalam unit mata uang terkecil
Format: Nilai integer
Contoh: 20000 mewakili IDR 20000
Rentang: 10000-999999999
transactionTimeMStringFormat datetime ISO 8601 (yyyy-MM-ddTHH:mm:ss±HH:mm)
Contoh: 2020-12-17T10:55:00+07:00
Timestamp ketika transaksi diproses oleh sistem
channelMObjectDetail dan instruksi saluran pemrosesan pembayaran
Berisi metode pembayaran, URL, dan data tambahan
Lihat Model Saluran
    paymentMethodOStringSpesifikasi metode pembayaran yang disukai
Format: Kode metode pembayaran yang telah ditentukan
Contoh: QRIS, W_DANA, CIMB, BCA
Jika dihilangkan, halaman pemilihan metode pembayaran ditampilkan
    vaNumberOStringNomor rekening virtual untuk pembayaran transfer bank
Format: String alfanumerik
Digunakan untuk pemrosesan pembayaran rekening virtual
Contoh: 1419001332911089
    qrStringOStringString kode QR atau URL gambar untuk pembayaran QRIS
Format: String kode QR atau URL gambar
Digunakan untuk pembuatan dan tampilan kode QR
Contoh: 00020101021226570011ID.DANA.WWW... atau https://gateway.smilepayz.com/imge/xxx.imgopen in new window
    paymentUrlOStringURL gateway pembayaran untuk mengarahkan pelanggan
Format: URL HTTP/HTTPS yang valid
Digunakan untuk pengalihan pembayaran pelanggan
Contoh: https://gateway.smilepayz.com/cashier/#/loading?tradeNo=xxxopen in new window
statusOStringStatus pemrosesan transaksi saat ini
Format: Kode status yang telah ditentukan
Contoh: PROCESSING, SUCCESS, FAILED
Lihat Model Status
Content-type: application/json
X-TIMESTAMP: 2020-12-17T10:55:00+07:00

Notifikasi/Callback

Permintaan HTTP

FieldRequiredTypeDescription
Content-TypeMStringSpesifikasi tipe konten notifikasi HTTP
Nilai tetap: application/json
Menunjukkan format payload JSON
X-TIMESTAMPMStringFormat datetime ISO 8601 dengan offset timezone
Format: yyyy-MM-ddTHH:mm:ss±HH:mm
Contoh: 2020-12-17T10:55:00+07:00
X-SIGNATUREMStringTanda tangan digital untuk verifikasi notifikasi
Format: Tanda tangan yang dikodekan Base64
Digunakan untuk memverifikasi keaslian notifikasi
Lihat cara memeriksa nilai ini

Parameter Body

FieldRequiredTypeDescription
orderNoMStringPengidentifikasi transaksi pedagang asli untuk referensi
Format: Sama dengan orderNo permintaan
Digunakan untuk rekonsiliasi dan pelacakan transaksi
tradeNoMStringNomor referensi transaksi internal untuk pelacakan sistem
Format: String alfanumerik yang dibuat sistem
Digunakan untuk manajemen transaksi internal dan dukungan
merchantIdMStringPengidentifikasi pedagang utama untuk routing transaksi
Format: String alfanumerik
Digunakan untuk identifikasi pedagang dan pemrosesan penyelesaian
merchantNameMStringNama bisnis pedagang terdaftar untuk tampilan
Format: String yang dikodekan UTF-8
Ditampilkan dalam catatan transaksi dan laporan
subMerchantIdOStringPengidentifikasi sub-pedagang untuk struktur multi-level
Format: String alfanumerik
Disertakan ketika sub-pedagang terlibat dalam transaksi
subMerchantNameOStringNama bisnis sub-pedagang untuk tujuan tampilan
Format: String yang dikodekan UTF-8
Disertakan ketika sub-pedagang terlibat dalam transaksi
paymentMethodMStringMetode pembayaran yang digunakan untuk pemrosesan transaksi
Format: Kode metode pembayaran yang telah ditentukan
Contoh: BCA, QRIS, DANA, CIMB
Menunjukkan saluran pembayaran aktual yang digunakan
transactionTimeMStringFormat datetime ISO 8601 (yyyy-MM-ddTHH:mm:ss±HH:mm)
Timestamp ketika transaksi selesai oleh penyedia pembayaran
statusMStringStatus pemrosesan transaksi akhir
Format: Kode status yang telah ditentukan
Contoh: SUCCESS, FAILED
Menunjukkan hasil akhir dari transaksi
Lihat Model Status
moneyMObjectDetail jumlah transaksi akhir dengan mata uang
Berisi jumlah pembayaran yang dikonfirmasi dan mata uang
Mungkin berbeda dari jumlah permintaan karena biaya atau penyesuaian
Lihat Model Uang
    currencyMStringSpesifikasi kode mata uang ISO 4217
Nilai tetap: IDR (Rupiah Indonesia)
Menentukan aturan pemrosesan pembayaran dan mata uang penyelesaian
    amountMNumberJumlah transaksi dalam unit mata uang terkecil
Format: Nilai integer
Contoh: 20000 mewakili IDR 20000
Rentang: 10000-999999999
payerOStringInformasi pelanggan yang disediakan selama pembayaran
Format: Objek data pelanggan
Berisi detail pembayar ketika tersedia
Lihat Model Pembayar

Kembalian

Penting

Notifikasi silakan kembalikan hanya string SUCCESS

{
  "merchantId": "20001",
  "merchantName": "test",
  "money": {
    "amount": 100000,
    "currency": "IDR"
  },
  "orderNo": "2000102900000000000001",
  "paymentMethod": "QRIS",
  "status": "SUCCESS",
  "tradeNo": "101200012410241325417215",
  "transactionTime": "2020-12-17T10:55:00+07:00"
}
Terakhir diperbarui: