{"id":13615043,"url":"https://github.com/crocodic-studio/dokularavel","last_synced_at":"2025-04-13T20:32:54.926Z","repository":{"id":56959387,"uuid":"66667762","full_name":"crocodic-studio/dokularavel","owner":"crocodic-studio","description":"This package is DOKU Payment Gateway Library for Laravel","archived":true,"fork":false,"pushed_at":"2017-10-25T04:45:37.000Z","size":106,"stargazers_count":40,"open_issues_count":7,"forks_count":40,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-09-24T08:18:39.408Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crocodic-studio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-08-26T17:47:21.000Z","updated_at":"2023-04-14T16:14:34.000Z","dependencies_parsed_at":"2022-08-21T09:50:44.950Z","dependency_job_id":null,"html_url":"https://github.com/crocodic-studio/dokularavel","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crocodic-studio%2Fdokularavel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crocodic-studio%2Fdokularavel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crocodic-studio%2Fdokularavel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crocodic-studio%2Fdokularavel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crocodic-studio","download_url":"https://codeload.github.com/crocodic-studio/dokularavel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248777969,"owners_count":21160065,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T20:01:08.620Z","updated_at":"2025-04-13T20:32:54.916Z","avatar_url":"https://github.com/crocodic-studio.png","language":"PHP","funding_links":[],"categories":["Laravel"],"sub_categories":[],"readme":"# DokuLaravel - DOKU Payment Gateway Library For Laravel\n[![Total Downloads](https://poser.pugx.org/crocodicstudio/dokularavel/downloads)](https://packagist.org/packages/crocodicstudio/dokularavel) [![Latest Unstable Version](https://poser.pugx.org/crocodicstudio/dokularavel/v/unstable)](https://packagist.org/packages/crocodicstudio/dokularavel) [![License](https://poser.pugx.org/crocodicstudio/dokularavel/license)](https://packagist.org/packages/crocodicstudio/dokularavel) [![Monthly Downloads](https://poser.pugx.org/crocodicstudio/dokularavel/d/monthly)](https://packagist.org/packages/crocodicstudio/dokularavel)\n\n![Doku Laravel](http://crudbooster.com/dokularavel_screenshot.png)\n\nIni 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.\n\n## Kebutuhan Dasar\n1. **SHARED_KEY** , didapat dari DOKU, silahkan hubungi [DOKU](http://doku.com)\n2. **MALL_ID**, didapat dari DOKU, silahkan hubungi [DOKU](http://doku.com)\n3. **PERMATA_CODE**, didapat dari DOKU, kode ini dibutuhkan jika opsi pembayaran Permata Bank diaktifkan\n4. **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**\n\n## 1. Instalasi untuk Laravel 5.x\n```\ncomposer require crocodicstudio/dokularavel\n```\n## 2. Tambahkan ke Service Provider (config/app.php)\n```\ncrocodicstudio\\dokularavel\\DokuLaravelServiceProvider::class,\n```\n## 3. Publikasi File Konfigurasi\n```\nphp artisan vendor:publish --provider=\"crocodicstudio\\dokularavel\\DokuLaravelServiceProvider\"\n```\n## 4. Pengaturan Konfigurasi Dasar\nPada folder config/ akan terdapat file baru bernama **dokularavel.php** yang isinya adalah :  \n**Yang wajib diisi atau disesuaikan yakni SHARED_KEY,MALL_ID, dan pengaturan TABLE**\n```\nreturn [\n\t/*\n\t| ---------------------------------------------------------\n\t| Setting the payment mode is Sandbox Mode or Live Mode\n\t| ---------------------------------------------------------\n\t| if set false it means sandbox mode, else it means live mode \n\t| ** PLEASE BE CAREFULL ABOUT CHANGE THE LIVE MODE\n\t|\n\t*/\n\t'LIVE_MODE' =\u003e FALSE,\n\t\n\t/*\n\t| ---------------------------------------------------------\n\t| Setting the payment route in PAYMENT_PATH, SHARED_KEY \u0026 MALL_ID is code that you get from DOKU Merchant Page.\n\t| ---------------------------------------------------------\n\t|\n\t*/\n\t'PAYMENT_PATH' =\u003e 'dokularavel',\n\t'SHARED_KEY'   =\u003e NULL, \n\t'MALL_ID'      =\u003e NULL,\n\t'PERMATA_CODE' =\u003e NULL,\n\t'CURRENCY'     =\u003e 360,\n\t'NOTIFY_SCREET_CODE'=\u003e'123456',\n\n\t/* \n\t| ---------------------------------------------------------\n\t| Define your table of order and the fields\n\t| ---------------------------------------------------------\n\t| \n\t*/\n\t'TABLE_ORDER'                  =\u003e NULL,\n\t'TABLE_FIELD_NO_ORDER'         =\u003e NULL,\n\t'TABLE_FIELD_AMOUNT'           =\u003e NULL,\n\t'TABLE_FIELD_CUSTOMER_NAME'    =\u003e NULL,\n\t'TABLE_FIELD_CUSTOMER_PHONE'   =\u003e NULL,\n\t'TABLE_FIELD_CUSTOMER_EMAIL'   =\u003e NULL,\n\t'TABLE_FIELD_CUSTOMER_ADDRESS' =\u003e NULL,\n\t'TABLE_FIELD_PAYMENT_DATE'     =\u003e NULL,\n\t'TABLE_FIELD_PAYMENT_STATUS'   =\u003e NULL,\n\t'TABLE_FIELD_PAYMENT_CHANNEL'  =\u003e NULL,\n\t'TABLE_FIELD_PAYMENT_APPROVAL_CODE' =\u003e NULL,\n\t'TABLE_FIELD_PAYMENT_SESSION_ID' =\u003e NULL,\n\n\n\t/*\n\t| ---------------------------------------------------------\n\t| DOKU PAYMENT AVAILABLE CHANNEL \n\t| ---------------------------------------------------------\n\t| 15 = Credit Card\n\t| 04 = Doku Wallet\n\t| 02 = Mandiri Clickpay\n\t| 05 = Permata Bank / ATM Bersama\t\n\t|\n\t| This setting is for default payment channel otherwise you can set the payment channel on the fly by url parameter \"payment_channel\"\n\t*/\t\n\t'AVAILABLE_PAYMENT_CHANNEL'=\u003e ['15','04','02','05'],\n\t'DEFAULT_PAYMENT_CHANNEL'=\u003e '15', \t\t\t\n\n\n\t/* \n\t| ---------------------------------------------------------\n\t| This setting is for set the product name in doku transaction\n\t| Basicly \"DOKULARAVEL\" package only send 1 basket to DOKU, that is global invoice. \n\t| ---------------------------------------------------------\n\t| Alias that you can use : \n\t| [invoice_no] to generate your invoice number / trans_id \n\t| \n\t*/\n\t'PRODUCT_NAME_FORMAT' =\u003e 'Invoice For Order No. [invoice_no]',\n\n\n\n\n\t/* \n\t| ---------------------------------------------------------\n\t| Set redirect page DOKU \n\t| ---------------------------------------------------------\n\t| [Default] or SHOW_DOKU_SUCCESS_PAGE set TRUE, SHOW_FINISH_PAGE set TRUE, YOUR_OWN_FINISH_PAGE set NULL\n\t| - Payment Flow : USER DATA -\u003e PROCESSING -\u003e DOKU SUCCESS PAGE -\u003e FINISH PAGE\n\t|\n\t| If SHOW_DOKU_SUCCESS_PAGE set TRUE, SHOW_FINISH_PAGE set FALSE, YOUR_OWN_FINISH_PAGE set NULL\n\t| - Payment Flow : USER DATA -\u003e PROCESSING -\u003e DOKU SUCCESS PAGE\n\t| \n\t| If SHOW_DOKU_SUCCESS_PAGE set FALSE, SHOW_FINISH_PAGE set TRUE, YOUR_OWN_FINISH_PAGE set NULL\n\t| - Payment Flow : USER DATA -\u003e PROCESSING -\u003e FINISH PAGE\n\t| \n\t| If SHOW_DOKU_SUCCESS_PAGE set FALSE, SHOW_FINISH_PAGE set TRUE, YOUR_OWN_FINISH_PAGE set not NULL / set your own URL PAGE\n\t| - Payment Flow : USER DATA -\u003e PROCESSING -\u003e YOUR OWN FINISH PAGE\n\t| \n\t*/\n\t'SHOW_DOKU_SUCCESS_PAGE' =\u003e TRUE, //it means the page that generated from DOKU\n\t'SHOW_FINISH_PAGE'       =\u003e TRUE, //it means the page that generated from \"dokularavel\" package.\n\t'YOUR_OWN_FINISH_PAGE'   =\u003e NULL, //it means the page that generated by your self\n\n\n\t/* \n\t| ---------------------------------------------------------\n\t| This setting is for Develope Mode only, you can view DOKULARAVEL Session, also doPrePayment, or doPayment response\n\t| ---------------------------------------------------------\n\t| Access the debug url at /debug\n\t| \n\t| will be available if DEBUG_MODE set TRUE\n\t|\n\t*/\n\t'DEBUG_MODE' =\u003e FALSE,\n];\n```\nSilahkan anda atur terlebih dahulu konfigurasi diatas sesuai dengan penjelasan yang ada diatas :) .\n## 5. Uji coba\nUntuk mengakses halaman DokuLaravel ini ada 2 parameter yang harus anda lengkapi pada paramete URL .   \nBase URL : /dokularavel (ini default PAYMENT_PATH bisa anda ganti di konfigurasi)  \nParameter 1 : trans_id (ini adalah nomor transaksi pada table anda sendiri)  \nParameter 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)    \n**Contoh URL :**  \n```\nhttp://localhost/projek_anda/public/dokularavel?trans_id=INV0001\n```\nAtau anda ingin memilih payment_channel secara langsung, tinggal tambahkan parameter payment_channel, contoh : \n```\nhttp://localhost/projek_anda/public/dokularavel?trans_id=INV0001\u0026payment_channel=04\n```\n\n## 6. Fungsi HOOK\nPada 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**.  \n### 1. **beforePayment($data)**  \nAnda 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.  \n### 2. **afterPayment($status,$dataPayment)**  \nAnda 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.\n## URL Notify\nURL 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\" :\n```\nhttp://yourdomain.com/dokularavel/notify/[NOTIFY_SCREET_CODE]\n```\n[NOTIFY_SCREET_CODE] dapat anda atur pada file konfigurasi. Digunakan untuk alasan keamanan aktifitas tidak diinginkan.\n## Jenis Pembayaran Yang Tersedia (Payment Channel)\nAdapun jenis - jenis pembayaran yang tersedia saat ini di DOKU dan yang terintegrasi pada \"DokuLaravel\" package ini yakni :   \n- 15 = Credit Card\n- 04 = Doku Wallet\n- 02 = Mandiri Clickpay\n- 05 = Permata Bank / ATM Bersama\n\n## Studi Kasus Penggunaan\n1. Mobile Apps, Bagi anda yang membutuhkan dalam penggunaan Aplikasi Mobile, anda tinggal membuat **WebView** dan memasukkan URL DokuLaravel diatas\n2. Website, Bagi anda yang membutuhkan dalam penggunaan Website, anda tinggal memberikan **link** dan diarahkan ke URL DokuLaravel diatas\n\n## Mengenai Doku - http://doku.com\nBerdiri 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrocodic-studio%2Fdokularavel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrocodic-studio%2Fdokularavel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrocodic-studio%2Fdokularavel/lists"}