@extends('frontend.layouts.frontend') @inject('constant', "\App\Util\Constant") @section('metaTitle', @$page->metaTitle) @section('metaDescription', @$page->metaDescription) @section('metaKeywords', @$page->metaKeywords) @section('cssCustom') @endsection @section('content')

API Documentation

Intro

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
Simulasi

Menampilkan simulasi cicilan berdasarkan dari tipe transaksi

URL POST - {{ url('/') . '/api/transaction/installment-simulation' }}
Request
                                                
                                                    {
                                                        "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

Response - Success
                                                
                                                    [
                                                        {
                                                            "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
                                                        }
                                                    ]
                                                
                                            
Registrasi

Mendaftarkan aplikasi baru sesuai dengan type transaksi yang akan di lakukan

URL POST - {{ url('/') . '/api/creditapplication/register' }}
Request
Using Content Type : Form Data
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
email 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

Response - Success
                                                
                                                    {
                                                        "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"
                                                    }
                                                
                                            
Transaksi

Membuat transaksi di DuhaSyariah sesuai spesifikasi dari Merchant

URL POST - {{ url('/') . '/api/transaction/create' }}
Request
                                                
                                                    {
                                                        "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

Response - Success
                                                
                                                    {
                                                        "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

URL POST - {{ url('/') . '/api/transaction/check-status' }}
Request
                                                
                                                    {
                                                        "transactionNumber":"45-2019"
                                                    }
                                                
                                            
Name Type Mandatory Description
transactionNumber String Yes Nomor transaksi yang diberikan oleh DuhaSyariah setelah pembuatan transaksi

Response - Success
                                                
                                                    {
                                                        "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

URL POST - DEFINED BY MERCHANT
Request
                                                
                                                    {
                                                        "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
@endsection