PHPackages                             crocodicstudio/dokularavel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. crocodicstudio/dokularavel

AbandonedArchivedLibrary[Payment Processing](/categories/payments)

crocodicstudio/dokularavel
==========================

This package is DOKU Payment Gateway Library for Laravel

v1.6.6(8y ago)333.8k38[7 issues](https://github.com/crocodic-studio/dokularavel/issues)MITPHP

Since Aug 28Pushed 8y ago7 watchersCompare

[ Source](https://github.com/crocodic-studio/dokularavel)[ Packagist](https://packagist.org/packages/crocodicstudio/dokularavel)[ RSS](/packages/crocodicstudio-dokularavel/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)DependenciesVersions (17)Used By (0)

DokuLaravel - DOKU Payment Gateway Library For Laravel
======================================================

[](#dokularavel---doku-payment-gateway-library-for-laravel)

[![Total Downloads](https://camo.githubusercontent.com/b53dcfe44b1f30d1f5e4a64c6c42fb0d5cb60de3964310778341a156ac4802be/68747470733a2f2f706f7365722e707567782e6f72672f63726f636f64696373747564696f2f646f6b756c61726176656c2f646f776e6c6f616473)](https://packagist.org/packages/crocodicstudio/dokularavel) [![Latest Unstable Version](https://camo.githubusercontent.com/2adcede42118315f032da25c113536c3d144f8dd3b50d0fab643d056ed6b9951/68747470733a2f2f706f7365722e707567782e6f72672f63726f636f64696373747564696f2f646f6b756c61726176656c2f762f756e737461626c65)](https://packagist.org/packages/crocodicstudio/dokularavel) [![License](https://camo.githubusercontent.com/c92761b27879d004496c9646e0aa2ea8cd2a23a31b22dc9712debd422ce6a9b5/68747470733a2f2f706f7365722e707567782e6f72672f63726f636f64696373747564696f2f646f6b756c61726176656c2f6c6963656e7365)](https://packagist.org/packages/crocodicstudio/dokularavel) [![Monthly Downloads](https://camo.githubusercontent.com/fc13d4844ecccc5d92ea12e995dcb0e43d9dcc929f590942da97cb7d44c76a7f/68747470733a2f2f706f7365722e707567782e6f72672f63726f636f64696373747564696f2f646f6b756c61726176656c2f642f6d6f6e74686c79)](https://packagist.org/packages/crocodicstudio/dokularavel)

[![Doku Laravel](https://camo.githubusercontent.com/f241c7ff0d085d2a44d88e4bd8d5b108f92d3c223b02e999b52442def0928018/687474703a2f2f63727564626f6f737465722e636f6d2f646f6b756c61726176656c5f73637265656e73686f742e706e67)](https://camo.githubusercontent.com/f241c7ff0d085d2a44d88e4bd8d5b108f92d3c223b02e999b52442def0928018/687474703a2f2f63727564626f6f737465722e636f6d2f646f6b756c61726176656c5f73637265656e73686f742e706e67)

Ini adalah DOKU Payment Gateway Library yang sudah di *compile* menjadi *Package* untuk Laravel. API DOKU ini merupakan API dari DOKU Resmi yang berjenis Merchant Hosted, artinya tetap menggunakan FORM Pembayaran yang digenerate dari DOKU melalui Javascript, dan bukan yang model redirect ke halaman DOKU melainkan Form DOKU ada di server kita dan pembayaran seolah dilakukan di server kita.

Kebutuhan Dasar
---------------

[](#kebutuhan-dasar)

1. **SHARED\_KEY** , didapat dari DOKU, silahkan hubungi [DOKU](http://doku.com)
2. **MALL\_ID**, didapat dari DOKU, silahkan hubungi [DOKU](http://doku.com)
3. **PERMATA\_CODE**, didapat dari DOKU, kode ini dibutuhkan jika opsi pembayaran Permata Bank diaktifkan
4. **TABLE\_ORDER**, table yang berkaitan Order/Invoice dan memilik field minimal **no\_invoice,customer\_name,customer\_phone,customer\_email,customer\_address,total,payment\_status,payment\_date,payment\_channel,payment\_approval\_code,payment\_session\_id**

1. Instalasi untuk Laravel 5.x
------------------------------

[](#1-instalasi-untuk-laravel-5x)

```
composer require crocodicstudio/dokularavel

```

2. Tambahkan ke Service Provider (config/app.php)
-------------------------------------------------

[](#2-tambahkan-ke-service-provider-configappphp)

```
crocodicstudio\dokularavel\DokuLaravelServiceProvider::class,

```

3. Publikasi File Konfigurasi
-----------------------------

[](#3-publikasi-file-konfigurasi)

```
php artisan vendor:publish --provider="crocodicstudio\dokularavel\DokuLaravelServiceProvider"

```

4. Pengaturan Konfigurasi Dasar
-------------------------------

[](#4-pengaturan-konfigurasi-dasar)

Pada folder config/ akan terdapat file baru bernama **dokularavel.php** yang isinya adalah :
**Yang wajib diisi atau disesuaikan yakni SHARED\_KEY,MALL\_ID, dan pengaturan TABLE**

```
return [
	/*
	| ---------------------------------------------------------
	| Setting the payment mode is Sandbox Mode or Live Mode
	| ---------------------------------------------------------
	| if set false it means sandbox mode, else it means live mode
	| ** PLEASE BE CAREFULL ABOUT CHANGE THE LIVE MODE
	|
	*/
	'LIVE_MODE' => FALSE,

	/*
	| ---------------------------------------------------------
	| Setting the payment route in PAYMENT_PATH, SHARED_KEY & MALL_ID is code that you get from DOKU Merchant Page.
	| ---------------------------------------------------------
	|
	*/
	'PAYMENT_PATH' => 'dokularavel',
	'SHARED_KEY'   => NULL,
	'MALL_ID'      => NULL,
	'PERMATA_CODE' => NULL,
	'CURRENCY'     => 360,
	'NOTIFY_SCREET_CODE'=>'123456',

	/*
	| ---------------------------------------------------------
	| Define your table of order and the fields
	| ---------------------------------------------------------
	|
	*/
	'TABLE_ORDER'                  => NULL,
	'TABLE_FIELD_NO_ORDER'         => NULL,
	'TABLE_FIELD_AMOUNT'           => NULL,
	'TABLE_FIELD_CUSTOMER_NAME'    => NULL,
	'TABLE_FIELD_CUSTOMER_PHONE'   => NULL,
	'TABLE_FIELD_CUSTOMER_EMAIL'   => NULL,
	'TABLE_FIELD_CUSTOMER_ADDRESS' => NULL,
	'TABLE_FIELD_PAYMENT_DATE'     => NULL,
	'TABLE_FIELD_PAYMENT_STATUS'   => NULL,
	'TABLE_FIELD_PAYMENT_CHANNEL'  => NULL,
	'TABLE_FIELD_PAYMENT_APPROVAL_CODE' => NULL,
	'TABLE_FIELD_PAYMENT_SESSION_ID' => NULL,

	/*
	| ---------------------------------------------------------
	| DOKU PAYMENT AVAILABLE CHANNEL
	| ---------------------------------------------------------
	| 15 = Credit Card
	| 04 = Doku Wallet
	| 02 = Mandiri Clickpay
	| 05 = Permata Bank / ATM Bersama
	|
	| This setting is for default payment channel otherwise you can set the payment channel on the fly by url parameter "payment_channel"
	*/
	'AVAILABLE_PAYMENT_CHANNEL'=> ['15','04','02','05'],
	'DEFAULT_PAYMENT_CHANNEL'=> '15',

	/*
	| ---------------------------------------------------------
	| This setting is for set the product name in doku transaction
	| Basicly "DOKULARAVEL" package only send 1 basket to DOKU, that is global invoice.
	| ---------------------------------------------------------
	| Alias that you can use :
	| [invoice_no] to generate your invoice number / trans_id
	|
	*/
	'PRODUCT_NAME_FORMAT' => 'Invoice For Order No. [invoice_no]',

	/*
	| ---------------------------------------------------------
	| Set redirect page DOKU
	| ---------------------------------------------------------
	| [Default] or SHOW_DOKU_SUCCESS_PAGE set TRUE, SHOW_FINISH_PAGE set TRUE, YOUR_OWN_FINISH_PAGE set NULL
	| - Payment Flow : USER DATA -> PROCESSING -> DOKU SUCCESS PAGE -> FINISH PAGE
	|
	| If SHOW_DOKU_SUCCESS_PAGE set TRUE, SHOW_FINISH_PAGE set FALSE, YOUR_OWN_FINISH_PAGE set NULL
	| - Payment Flow : USER DATA -> PROCESSING -> DOKU SUCCESS PAGE
	|
	| If SHOW_DOKU_SUCCESS_PAGE set FALSE, SHOW_FINISH_PAGE set TRUE, YOUR_OWN_FINISH_PAGE set NULL
	| - Payment Flow : USER DATA -> PROCESSING -> FINISH PAGE
	|
	| If SHOW_DOKU_SUCCESS_PAGE set FALSE, SHOW_FINISH_PAGE set TRUE, YOUR_OWN_FINISH_PAGE set not NULL / set your own URL PAGE
	| - Payment Flow : USER DATA -> PROCESSING -> YOUR OWN FINISH PAGE
	|
	*/
	'SHOW_DOKU_SUCCESS_PAGE' => TRUE, //it means the page that generated from DOKU
	'SHOW_FINISH_PAGE'       => TRUE, //it means the page that generated from "dokularavel" package.
	'YOUR_OWN_FINISH_PAGE'   => NULL, //it means the page that generated by your self

	/*
	| ---------------------------------------------------------
	| This setting is for Develope Mode only, you can view DOKULARAVEL Session, also doPrePayment, or doPayment response
	| ---------------------------------------------------------
	| Access the debug url at /debug
	|
	| will be available if DEBUG_MODE set TRUE
	|
	*/
	'DEBUG_MODE' => FALSE,
];

```

Silahkan anda atur terlebih dahulu konfigurasi diatas sesuai dengan penjelasan yang ada diatas :) .

5. Uji coba
-----------

[](#5-uji-coba)

Untuk mengakses halaman DokuLaravel ini ada 2 parameter yang harus anda lengkapi pada paramete URL .
Base URL : /dokularavel (ini default PAYMENT\_PATH bisa anda ganti di konfigurasi)
Parameter 1 : trans\_id (ini adalah nomor transaksi pada table anda sendiri)
Parameter 2 : payment\_channel (ini adalah jenis pembayaran, anda bisa pilih angka berapa sesuai penjelasan diatas, jika dikosongi atau param ini tidak disertakan, maka halaman pertama akan muncul pilihan jenis pembayaran)
**Contoh URL :**

```
http://localhost/projek_anda/public/dokularavel?trans_id=INV0001

```

Atau anda ingin memilih payment\_channel secara langsung, tinggal tambahkan parameter payment\_channel, contoh :

```
http://localhost/projek_anda/public/dokularavel?trans_id=INV0001&payment_channel=04

```

6. Fungsi HOOK
--------------

[](#6-fungsi-hook)

Pada package "DokuLaravel" ini disediakan fitur HOOK dimana anda bisa menjalankan perintah apapun ketika pembayaran selesai atau sebelum pembayaran. Ada sebuah controller bernama "DokuLaravelHookController.php" di directory controller laravel anda. Terdapat 2 method yakni **beforePayment** dan **afterPayment**.

### 1. **beforePayment($data)**

[](#1-beforepaymentdata)

Anda bisa menambahkan perintah di dalam method ini, akan dijalankan sebelum pembayaran dilakukan atau berada pada halaman index DokuLaravel. Variabel array **$data** dimana didalamnya terdapat *values* yang bisa anda manfaatkan. Keterangan lebih detail anda bisa buka file *HOOK* tersebut.

### 2. **afterPayment($status,$dataPayment)**

[](#2-afterpaymentstatusdatapayment)

Anda bisa menambahkan perintah didalam method ini, akan dijalankan sesudah pembayaran selesai dilakukan. **$status** merupakan variable *boolean* yang menandakan apakah pembayaran berhasil atau tidak. **$dataPayment** merupakan variable *array* yang berisi *values* yang bisa anda manfaatkan lebih lanjut buka file *HOOK* tersebut.

URL Notify
----------

[](#url-notify)

URL ini digunakan untuk memberikan akses DOKU untuk memberikan notifikasi ke Server kita biasanya untuk jenis pembayaran tertentu seperti Permata Bank, anda bisa menuliskan format URL berikut di dashboard Merchant Doku anda pada kolom "URL Notify" :

```
http://yourdomain.com/dokularavel/notify/[NOTIFY_SCREET_CODE]

```

\[NOTIFY\_SCREET\_CODE\] dapat anda atur pada file konfigurasi. Digunakan untuk alasan keamanan aktifitas tidak diinginkan.

Jenis Pembayaran Yang Tersedia (Payment Channel)
------------------------------------------------

[](#jenis-pembayaran-yang-tersedia-payment-channel)

Adapun jenis - jenis pembayaran yang tersedia saat ini di DOKU dan yang terintegrasi pada "DokuLaravel" package ini yakni :

- 15 = Credit Card
- 04 = Doku Wallet
- 02 = Mandiri Clickpay
- 05 = Permata Bank / ATM Bersama

Studi Kasus Penggunaan
----------------------

[](#studi-kasus-penggunaan)

1. Mobile Apps, Bagi anda yang membutuhkan dalam penggunaan Aplikasi Mobile, anda tinggal membuat **WebView** dan memasukkan URL DokuLaravel diatas
2. Website, Bagi anda yang membutuhkan dalam penggunaan Website, anda tinggal memberikan **link** dan diarahkan ke URL DokuLaravel diatas

Mengenai Doku -
---------------------------------

[](#mengenai-doku---httpdokucom)

Berdiri sejak tahun 2007, DOKU yang sebelumnya bernama PT. Nusa Satu Inti Artha dikenal sebagai perusahaan penyedia layanan pembayaran elektronik dan manajemen resiko pertama di Indonesia. Dengan semangat kerja keras dan totalitas dalam mendukung kebutuhan bisnis online para merchant, DOKU semakin dipercaya dan menjadi layanan pembayaran elektronik pilihan bagi merchant nasional maupun internasional.

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity35

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 98.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~28 days

Recently: every ~89 days

Total

15

Last Release

3152d ago

Major Versions

0.1.x-dev → v1.22016-08-28

### Community

Maintainers

![](https://www.gravatar.com/avatar/f1e2be98d1cc36d8a8816f2222682bd9496f112ec4b7a1df8e4512847a4e32f7?d=identicon)[ferdevelop15](/maintainers/ferdevelop15)

---

Top Contributors

[![fherryfherry](https://avatars.githubusercontent.com/u/6733315?v=4)](https://github.com/fherryfherry "fherryfherry (59 commits)")[![PetengDedet](https://avatars.githubusercontent.com/u/7235788?v=4)](https://github.com/PetengDedet "PetengDedet (1 commits)")

### Embed Badge

![Health badge](/badges/crocodicstudio-dokularavel/health.svg)

```
[![Health](https://phpackages.com/badges/crocodicstudio-dokularavel/health.svg)](https://phpackages.com/packages/crocodicstudio-dokularavel)
```

###  Alternatives

[omnipay/paypal

PayPal gateway for Omnipay payment processing library

3156.8M53](/packages/omnipay-paypal)[eduardokum/laravel-boleto

Biblioteca com boletos para o laravel

626351.9k2](/packages/eduardokum-laravel-boleto)[tbbc/money-bundle

This is a Symfony bundle that integrates moneyphp/money library (Fowler pattern): https://github.com/moneyphp/money.

1961.9M](/packages/tbbc-money-bundle)[2checkout/2checkout-php

2Checkout PHP Library

83740.3k2](/packages/2checkout-2checkout-php)[smhg/sepa-qr-data

Generate QR code data for SEPA payments

61717.2k5](/packages/smhg-sepa-qr-data)[omnipay/dummy

Dummy driver for the Omnipay payment processing library

271.2M33](/packages/omnipay-dummy)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
