Dokumentasi Merchant API

Selamat datang di dokumentasi resmi PunyaKios Merchant API. Dengan API ini, Anda dapat menerima pembayaran QRIS secara otomatis di aplikasi atau website Anda.

Kami menyediakan SDK (Software Development Kit) untuk mempercepat integrasi Anda. Anda dapat mengunduh library lengkapnya di GitHub kami.

Download SDK & Plugins (WP, PHP, Node.js)
BASE URL https://v1.maktopup.com/api/merchant

Autentikasi

Setiap request ke Merchant API wajib menyertakan API Key Anda di dalam header HTTP.

X-API-Key: YOUR_MERCHANT_API_KEY
Content-Type: application/json
Accept: application/json

Profil Merchant

Mengambil data profil merchant yang terdaftar di PunyaKios.

POST /profile

Contoh Request

curl -X POST https://v1.maktopup.com/api/merchant/profile \
  -H "X-API-Key: YOUR_API_KEY"

Format Respon

{
  "status": true,
  "message": "Merchant profile retrieved successfully",
  "data": {
    "id": 123,
    "name": "Budi Santoso",
    "username": "budi_merchant",
    "email": "[email protected]",
    "phone": "08123456789",
    "business_name": "Toko Budi Digital",
    "created_at": "2026-05-13T02:00:00.000000Z",
    "updated_at": "2026-05-13T02:00:00.000000Z"
  }
}

Membuat QRIS (Payment Request)

Gunakan endpoint ini untuk membuat tagihan QRIS baru.

POST /payment-request

Request Body

{
  "external_id": "ORD-12345",
  "amount": 10000,
  "description": "Pembayaran Kopi Susu",
  "callback_url": "https://websitemu.com/callback"
}

Respon Sukses

{
  "status": "success",
  "data": {
    "checkout_url": "https://v1.maktopup.com/pay/8kR2mN9p...",
    "external_id": "ORD-12345",
    "qris_string": "00020101021226650013...",
    "amount": 10000
  }
}

Riwayat Transaksi

Mengambil daftar transaksi terakhir yang dilakukan melalui akun Merchant Anda.

POST /transactions

Contoh Request

curl -X POST https://v1.maktopup.com/api/merchant/transactions \
  -H "X-API-Key: YOUR_API_KEY"

Format Respon

{
  "status": "success",
  "data": [
    {
      "external_id": "ORD-101",
      "slug": "8kR2mN9pLwXz4qYt",
      "amount": 10000,
      "status": "success",
      "created_at": "2026-05-13 03:00:00"
    }
  ],
  "pagination": {
    "total": 1,
    "current_page": 1,
    "last_page": 1
  }
}

Cek Status Transaksi

Mengecek status pembayaran untuk satu order spesifik menggunakan external_id.

POST /check-status

Contoh Request

curl -X POST https://v1.maktopup.com/api/merchant/check-status \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "external_id": "ORD-101" }'

Format Respon

{
  "status": "success",
  "data": {
    "external_id": "ORD-101",
    "amount": 10000,
    "status": "success",
    "paid_at": "2026-05-13 03:05:00",
    "qris_string": "00020101021226650013..."
  }
}

Integrasi PHP (SDK)

Gunakan library PHP resmi kami untuk integrasi yang lebih cepat.

use PunyaKios\PunyaKios;

$sdk = new PunyaKios('YOUR_API_KEY');
$response = $sdk->createPaymentRequest([
    'external_id' => 'ORD-101',
    'amount' => 10000,
    'description' => 'Pembayaran Kopi',
    'callback_url' => 'https://websitemu.com/callback.php'
]);

echo "Bayar di sini: " . $response['data']['checkout_url'];

Integrasi Node.js (SDK)

SDK untuk Node.js menggunakan sistem Fetch API.

const PunyaKios = require('./lib/nodejs/PunyaKios');
const sdk = new PunyaKios('YOUR_API_KEY');

// Membuat Pembayaran
const response = await sdk.createPaymentRequest({
    external_id: 'ORD-102',
    amount: 15000,
    description: 'Beli Diamond ML'
});

// Cek Profil
const profile = await sdk.getProfile();

// Cek Riwayat
const history = await sdk.getTransactions();

Integrasi JavaScript (Client-side)

Cocok untuk integrasi langsung di dashboard website Anda.

<script src="js/punyakios-sdk.js"></script>
<script>
    const sdk = new PunyaKios('YOUR_API_KEY');
    
    // Cek Profil
    sdk.getProfile().then(res => console.log(res));

    sdk.getTransactionStatus('ORD-101').then(res => {
        if(res.data.status === 'success') {
            alert('Pembayaran Berhasil!');
        }
    });
</script>

WordPress: WooCommerce

Terima pembayaran QRIS otomatis di toko WooCommerce Anda menggunakan plugin resmi PunyaKios.

Cara Instalasi:

  1. Unduh plugin punyakios-woocommerce.zip.
  2. Upload ke dashboard WordPress Anda (Plugins > Add New > Upload Plugin).
  3. Aktifkan plugin.
  4. Buka WooCommerce > Settings > Payments.
  5. Klik Manage pada metode pembayaran PunyaKios (QRIS).
  6. Masukkan Merchant API Key Anda dan simpan.
Repository GitHub

WordPress: Easy Digital Downloads

Integrasi PunyaKios untuk penjualan produk digital melalui Easy Digital Downloads (EDD).

Cara Instalasi:

  1. Install dan aktifkan plugin punyakios-edd.
  2. Buka Downloads > Settings > Payments > Gateways.
  3. Centang PunyaKios (QRIS) sebagai gateway aktif.
  4. Klik tab PunyaKios di bawah menu Payments.
  5. Masukkan API Key Anda.
Repository GitHub

WordPress: Fluent Forms

Terima donasi atau pembayaran jasa melalui formulir Fluent Forms.

Cara Instalasi:

  1. Aktifkan plugin punyakios-fluent.
  2. Buka Fluent Forms > Settings > Payment Settings.
  3. Pilih PunyaKios dari daftar provider.
  4. Konfigurasikan API Key dan simpan pengaturan.
Repository GitHub

Menerima Callback

PunyaKios akan mengirimkan POST request ke callback_url Anda saat pembayaran berhasil.

{
  "external_id": "ORD-123",
  "status": "PAID",
  "amount": 10000,
  "payment_method": "QRIS",
  "timestamp": "2026-05-13T03:10:00Z"
}