PHPackages                             ndradev/okeconnect-php-client - 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. [API Development](/categories/api)
4. /
5. ndradev/okeconnect-php-client

ActiveLibrary[API Development](/categories/api)

ndradev/okeconnect-php-client
=============================

PHP Client untuk OkeConnect H2H API - Parsing lengkap untuk transaksi, webhook, dan price list

4.0.0(2mo ago)06MITPHPPHP &gt;=8.2

Since Feb 19Pushed 2mo agoCompare

[ Source](https://github.com/NdraDev/okeconnect-php-client)[ Packagist](https://packagist.org/packages/ndradev/okeconnect-php-client)[ RSS](/packages/ndradev-okeconnect-php-client/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (2)Versions (8)Used By (0)

OkeConnect PHP Client
=====================

[](#okeconnect-php-client)

Package PHP untuk integrasi API OkeConnect H2H dengan parsing lengkap untuk semua response.

**Requirement:** PHP 8.2 atau lebih baru

**Developer:** NdraDeveloper

---

Instalasi
---------

[](#instalasi)

```
composer require ndradev/okeconnect-php-client
```

---

Daftar Contoh Penggunaan
------------------------

[](#daftar-contoh-penggunaan)

Tersedia 10 file contoh penggunaan lengkap di folder `examples/`:

FileDeskripsi`01_transaction.php`Transaksi pulsa/data (fixed denom)`02_transaction_open_denom.php`Transaksi e-wallet (open denom/bebas nominal)`03_check_status.php`Cek status transaksi`04_parse_webhook.php`Parse webhook callback`05_get_price_list.php`Ambil semua daftar harga`06_get_price.php`Ambil harga satu produk`07_find_product_by_code.php`Cari produk berdasarkan kode`08_find_product_by_category.php`Cari produk berdasarkan kategori`09_find_product_by_keterangan.php`Cari produk berdasarkan keterangan`10_find_product_by_status.php`Cari produk berdasarkan status`webhook.php`Handler webhook untuk callback---

Cara Penggunaan
---------------

[](#cara-penggunaan)

### 1. Inisialisasi Client

[](#1-inisialisasi-client)

```
use OkeConnect\OkeConnect;

$oke = new OkeConnect(
    memberId: 'OK00123',
    pin: '123456',
    password: 'secret'
);

OkeConnect::setInstance($oke);
```

### 2. Menggunakan Helper Function

[](#2-menggunakan-helper-function)

```
oke_connect('OK00123', '123456', 'secret');

$response = oke_transaction('T1', '089660522887', 'REF123');
```

---

Fitur Transaksi
---------------

[](#fitur-transaksi)

### Transaksi Fixed Denom (Pulsa/Data)

[](#transaksi-fixed-denom-pulsadata)

```
use OkeConnect\OkeConnectException;

try {
    $response = $oke->transaction('T1', '089660522887', 'TRX123');

    echo $response->transactionId;
    echo $response->refId;
    echo $response->provider;
    echo $response->nominal;
    echo $response->destination;

    if ($response->isSuccessful()) {
        echo "Berhasil";
        echo $response->serialNumber;
    }

    if ($response->isFailed()) {
        echo "Gagal: " . $response->failureReason;
    }

} catch (OkeConnectException $e) {
    echo "Error: " . $e->getUserMessage();
}
```

### Transaksi Open Denom (E-Wallet)

[](#transaksi-open-denom-e-wallet)

```
try {
    $response = $oke->transactionOpenDenom('BBSDN', '085736044280', 50000, 'EW123');

    echo $response->nominal;
    echo $response->transactionId;

} catch (OkeConnectException $e) {
    if ($e->getCode() === OkeConnectException::INVALID_PARAMETER) {
        echo "Nominal harus antara 10.000 - 10.000.000";
    }
}
```

---

Cek Status Transaksi
--------------------

[](#cek-status-transaksi)

```
try {
    $status = $oke->checkStatus('T5', '08980204060', 'REF123');

    echo $status->getStatusText();

    if ($status->isSuccessful()) {
        echo $status->serialNumber;
        echo $status->price;
    }

    if ($status->isFailed()) {
        echo $status->failureReason;
    }

    if ($status->isPending()) {
        echo "Transaksi masih pending";
    }

    if ($status->isNoData()) {
        echo "Data tidak ditemukan";
    }

} catch (OkeConnectException $e) {
    echo "Error: " . $e->getUserMessage();
}
```

---

Parse Webhook Callback
----------------------

[](#parse-webhook-callback)

```
try {
    $callback = $oke->parseWebhook($_GET);

    echo $callback->transactionId;
    echo $callback->refId;
    echo $callback->getStatusText();

    if ($callback->isSuccessful()) {
        echo $callback->serialNumber;
        echo $callback->date;
        echo $callback->time;
    }

    if ($callback->isFailed()) {
        echo $callback->failureReason;
    }

} catch (OkeConnectException $e) {
    echo "Error: " . $e->getUserMessage();
}
```

---

Price List dan Pencarian Produk
-------------------------------

[](#price-list-dan-pencarian-produk)

### Ambil Semua Price List

[](#ambil-semua-price-list)

```
try {
    $products = $oke->getPriceList();

    foreach ($products as $product) {
        echo $product->code;
        echo $product->description;
        echo $product->getFormattedPrice();

        if ($product->isAvailable()) {
            echo "Tersedia";
        }
    }

} catch (OkeConnectException $e) {
    echo "Error: " . $e->getUserMessage();
}
```

### Cari Produk Berdasarkan Kode

[](#cari-produk-berdasarkan-kode)

```
$produk = $oke->findProductByCode('SMDC150');
if ($produk) {
    echo $produk->description;
    echo $produk->getFormattedPrice();
}
```

### Cari Produk Berdasarkan Kategori

[](#cari-produk-berdasarkan-kategori)

```
$products = $oke->findProductByCategory('SMARTFREN');
foreach ($products as $product) {
    echo $product->code . ": " . $product->description;
}
```

### Cari Produk Berdasarkan Keterangan

[](#cari-produk-berdasarkan-keterangan)

```
$products = $oke->findProductByKeterangan('30GB');
foreach ($products as $product) {
    echo $product->code . ": " . $product->description;
}
```

### Cari Produk Berdasarkan Status

[](#cari-produk-berdasarkan-status)

```
$available = $oke->findProductByStatus('1');
$unavailable = $oke->findProductByStatus('0');
```

### Ambil Harga Produk

[](#ambil-harga-produk)

```
$harga = $oke->getPrice('SMDC150');
```

---

Helper Functions
----------------

[](#helper-functions)

```
$response = oke_transaction('T1', '089660522887', 'REF123');
$response = oke_topup('BBSDN', '085736044280', 50000, 'REF123');
$status = oke_check_status('T5', '08980204060', 'REF123');
$callback = oke_webhook($_GET);
$products = oke_products();
$product = oke_product('SMDC150');
$price = oke_price('SMDC150');
$product = oke_find_product_by_code('SMDC150');
$products = oke_find_product_by_category('SMARTFREN');
$products = oke_find_product_by_keterangan('30GB');
$products = oke_find_product_by_status('1');
```

---

Webhook Handler
---------------

[](#webhook-handler)

```
