Sebelum dapat menggunakan API DuhaSyariah, Merchant diwajibkan untuk mendaftarkan dirinya terlebih dahulu untuk mendapatkan API Key dan Code.
API Key dan Code tersebut kemudian akan selalu digunakan dalam setiap request sebagai header untuk proses otentikasi.
Merchant dimohon untuk tidak menyebarluaskan akses API Key dan Code yang diberikan.
Semua API end-point mewajibkan penggunaan Request Headers seperti yang didefinisikan dibawah ini.
Name | Type | Mandatory | Description |
---|---|---|---|
merchantCode | String | Yes | Merchant Code yang akan diberikan oleh DuhaSyariah setelah pendaftaran |
merchantKey | String | Yes | Merchant API Key yang akan diberikan oleh DuhaSyariah setelah pendaftaran |
Menampilkan simulasi cicilan berdasarkan dari tipe transaksi
POST - {{ url('/') . '/api/transaction/installment-simulation' }}
{
"type":"SHOPPING",
"price":"5000000",
}
Name | Type | Mandatory | Description |
---|---|---|---|
type | String | Yes | Jenis transaksi, harus diisi dengan SHOPPING atau TRAVEL |
price | String | Yes | Total harga produk |
[
{
"period": 1,
"downPaymentAmount": 0,
"installmentAmount": 5100000
},
{
"period": 2,
"downPaymentAmount": 0,
"installmentAmount": 2600000
},
{
"period": 3,
"downPaymentAmount": 0,
"installmentAmount": 1766667
},
{
"period": 6,
"downPaymentAmount": 0,
"installmentAmount": 933334
},
{
"period": 9,
"downPaymentAmount": 0,
"installmentAmount": 655556
},
{
"period": 12,
"downPaymentAmount": 0,
"installmentAmount": 516667
},
{
"period": 18,
"downPaymentAmount": 0,
"installmentAmount": 377778
},
{
"period": 24,
"downPaymentAmount": 0,
"installmentAmount": 308334
}
]
Mendaftarkan aplikasi baru sesuai dengan type transaksi yang akan di lakukan
POST - {{ url('/') . '/api/creditapplication/register' }}
Name | Type | Mandatory | Description |
---|---|---|---|
type | String | Yes | Jenis transaksi, harus diisi dengan SHOPPING atau TRAVEL |
fullName | String | Yes | Nama Lengkap |
mobilePhone | String | Yes | Nomor Telepon |
password | String | Yes | Password |
passwordConfirmation | String | Yes | Password Konfirmasi |
String | Yes | Alamat Email | |
dateOfBirth | String | Yes | Tanggal Lahir, Format : YYYY-MM-DD |
religion | String | Yes | Agama, harus diisi dengan ISLAM, CHRISTIAN, HINDU, BUDDHISM, KHONGHUCU, atau OTHERS |
gender | String | Yes | Jenis Kelamin, harus diisi dengan MALE atau FEMALE |
idCardName | String | Yes | Nama Sesuai KTP |
idCardNumber | String | Yes | Nomor NIK sesuai KTP |
idCardImage | File - Image | Yes | Foto dari KTP |
profileImage | File - Image | Yes | Foto Selfie sambil memegang KTP |
motherName | String | Yes | Nama Ibu Kandung |
lastEducation | String | Yes | Pendidikan terakhir, harus diisi dengan ELEMENTARY_SCHOOL, SECONDARY_SCHOOL, HIGH_SCHOOL, DIPLOMA, BACHELOR, MASTER, atau DOCTORATE |
maritalCondition | String | Yes | Status Pernikahan, harus diisi dengan SINGLE, MARRIED, WIDOWED, atau DIVORCED |
childrenCount | String | Yes | Jumlah Anak |
emergencyContactName | String | Yes | Nama Kontak Darurat |
emergencyContactPhone | String | Yes | Telepon Kontak Darurat |
emergencyContactRelation | String | Yes | Hubungan Kontak Darurat |
emergencyContactAltName | String | Yes | Nama Kontak Darurat 2 |
emergencyContactAltPhone | String | Yes | Telepon Kontak Darurat 2 |
emergencyContactAltRelation | String | Yes | Hubungan Kontak Darurat 2 |
taxNumberImage | File - Image | No | Foto NPWP |
familyRegisterImage | File - Image | Yes | Foto Kartu Keluarga |
address | String | Yes | Alamat Tempat Tinggal |
province | String | Yes | Provinsi Tempat Tinggal |
city | String | Yes | Kota Tempat Tinggal |
subdistrict | String | Yes | Kecamatan Tempat Tinggal |
village | String | Yes | Kelurahan Tempat Tinggal |
postalCode | String | Yes | Kode Pos Tempat Tinggal |
addressType | String | Yes | Tipe Alamat, harus diisi dengan OWN, PARENT, WORK, CONTRACT, KOST, atau OTHER |
occupationType | String | Yes | Tipe Pekerjaan, harus diisi dengan GOVERNMENT, PRIVATE, PROFESSIONAL, HONORARY, ENTERPRENEUR, UNEMPLOYED, atau OTHER |
workplaceSelfieImage | File - Image | Yes | Foto Selfie di Tempat Kerja |
employmentType | String | Yes | Tipe Karyawan, harus diisi dengan EMPLOYEE atau CONTRACT |
companyContractExpiryDate | String | No | Tanggal berakhir Kontrak, Mandatory jika employmentType = CONTRACT, Format : YYYY-MM-DD |
companyName | String | Yes | Nama Perusahaan |
companyPhone | String | Yes | Telepon Perusahaan |
companyEmploymentTime | String | Yes | Lama Bekerja (Tahun) |
companyPosition | String | Yes | Jabatan |
companyAddress | String | Yes | Alamat Perusahaan |
companyProvince | String | Yes | Provinsi Perusahaan |
companyCity | String | Yes | Kota Perusahaan |
monthlyIncome | String | Yes | Pendapatan Per Bulan |
additionalDocPaySlipImage | File - Image | Yes | Foto Slip Gaji |
additionalDocBankStatementImage1 | File - Image | No | Foto rekening Koran 1 |
additionalDocBankStatementImage2 | File - Image | No | Foto rekening Koran 2 |
additionalDocBankStatementImage3 | File - Image | No | Foto rekening Koran 3 |
additionalDocBankStatementImage4 | File - Image | No | Foto rekening Koran 4 |
additionalDocBankStatementImage5 | File - Image | No | Foto rekening Koran 5 |
{
"applicationId": 499,
"type": "SHOPPING",
"fullName": "User Test via API",
"mobilePhone": "6281232141235",
"email": "test.1234@gmail.com",
"appUrl": "https://play.google.com/store/apps/details?id=com.duhasyariah.app&hl=en"
}
Membuat transaksi di DuhaSyariah sesuai spesifikasi dari Merchant
POST - {{ url('/') . '/api/transaction/create' }}
{
"type":"SHOPPING",
"orderNumber":"ORDER20190611001",
"orderDate":"2019-06-11 23:59:59",
"expiredDate":"2019-06-13 23:59:59",
"orderGrandTotal":100000,
"orderItems":[
{
"name":"Coklat Lezat",
"type":"ITEM",
"quantity":1.00,
"value":"100000"
},
{
"name":"Biaya Pengiriman",
"type":"SHIPPING",
"quantity":1.00,
"value":20000
},
{
"name":"Diskon Free Ongkir",
"type":"DISCOUNT",
"quantity":1.00,
"value":20000
}
]
}
Name | Type | Mandatory | Description |
---|---|---|---|
type | String | Yes | Jenis transaksi, harus diisi dengan SHOPPING atau TRAVEL |
orderNumber | String | Yes | Nomor transaksi dari Merchant |
orderDate | Timestamp | Yes | Tanggal transaksi dibuat, harus menggunakan format 24 jam dalam bentuk Y-m-d H:i:s |
expiredDate | Timestamp | Yes | Tanggal transaksi akan kadaluarsa, harus menggunakan format 24 jam dalam bentuk Y-m-d H:i:s |
orderGrandTotal | Integer | Yes | Total nominal yang harus dibayarkan oleh pelanggan kepada Merchant |
orderItems | Array | Yes | Detil barang yang dibeli oleh pelanggan dari Merchant |
orderItems[i].name | String | Yes | Nama barang atau jasa yang termasuk dalam pembelanjaan pelanggan |
orderItems[i].type | String | Yes | Jenis barang atau jasa, harus diisi dengan ITEM, SHIPPING, DISCOUNT, TAX, SERVICE, atau OTHER |
orderItems[i].quantity | Float | Yes | Jumlah barang atau jasa yang di beli, bila type bukan diisi dengan ITEM masukkan 1 |
orderItems[i].value | Integer | Yes | Nominal barang atau jasa yang dibeli, bila type adalah diskon maka akan dianggap nilai negatif |
{
"id":45,
"transactionNumber":"45-2019",
"orderNumber":"INV-2019-06-11-000270",
"url":"http:\/\/duhasyariah.stagingdevbox.com\/transaction\/login\/45-2019"
}
Mengecek status transaksi apakah sudah lunas atau belum
POST - {{ url('/') . '/api/transaction/check-status' }}
{
"transactionNumber":"45-2019"
}
Name | Type | Mandatory | Description |
---|---|---|---|
transactionNumber | String | Yes | Nomor transaksi yang diberikan oleh DuhaSyariah setelah pembuatan transaksi |
{
"transactionNumber":"45-2019",
"type":"SHOPPING",
"orderNumber":"ORDER20190611001",
"orderDate":"2019-06-11 23:59:59",
"orderItems":[
{
"name":"Coklat Lezat",
"type":"ITEM",
"quantity":1.00,
"value":"100000"
},
{
"name":"Biaya Pengiriman",
"type":"SHIPPING",
"quantity":1.00,
"value":20000
},
{
"name":"Diskon Free Ongkir",
"type":"DISCOUNT",
"quantity":1.00,
"value":20000
}
],
"orderGrandTotal":"100000.0000",
"url":"http:\/\/duhasyariah.stagingdevbox.com\/transaction\/login\/45-2019",
"status":"PENDING"
}
Memberi tahu Merchant bahwa status transaksi telah diubah
POST - DEFINED BY MERCHANT
{
"transactionNumber":"45-2019",
"type":"SHOPPING",
"orderNumber":"INV-2019-10-01-0001",
"orderDate":"2019-10-01 12:34:56",
"orderGrandTotal":2605500.0000,
"url":"http:\/\/duhasyariah.stagingdevbox.com\/transaction\/login\/45-2019",
"status":"PAID"
}
Name | Type | Description |
---|---|---|
transactionNumber | String | Nomor transaksi yang diberikan oleh DuhaSyariah setelah pembuatan transaksi |
type | String | Diisi dengan nilai {{ implode(', ', array_keys($constant::CREDIT_APPLICATION_TYPE_LABELS)) }} |
orderNumber | String | Nomor pesanan yang dibuat dari sisi Merchant |
orderDate | String | Tgl. pesanan yang dibuat dari sisi Merchant |
orderGrandTotal | Float | Nominal pesanan yang dibuat dari sisi Merchant |
url | String | Link untuk membuka detil pesanan di DuhaSyariah.com |
status | String | Diisi dengan PENDING, CANCELLED, PAID |