18

Integrasi Pihak Ketiga & Payment Gateway

Updated: Sep 2026Oleh: SystemModul Potensi Desa, Lahan & Crowdfunding

Integrasi Sistem & API Pihak Ketiga: Unit Potensi Desa (UNT-POTENSI)

1. Integrasi Spasial WebGIS (Leaflet & GeoJSON Boundary Engine)#

Untuk menyajikan peta digital tanah kas desa secara interaktif kepada publik dan calon penyewa, sistem menggunakan pustaka Leaflet.js dengan layer peta satelit OpenStreetMap.

Contoh Struktur Data Payload GeoJSON Poligon Lahan

json
{
 "type": "Feature",
 "geometry": {
 "type": "Polygon",
 "coordinates": [
 [
 [110.370521, -7.782341],
 [110.371842, -7.782415],
 [110.371755, -7.783890],
 [110.370410, -7.783799],
 [110.370521, -7.782341]
 ]
 ]
 },
 "properties": {
 "parcel_code": "LHN-BLG-001",
 "name": "Blok Sawah Bengkok Selatan",
 "area_sqm": 15420.50,
 "soil_class": "Kelas A Irigasi Teknis",
 "status": "available",
 "annual_rate_rp": 23130750
 }
}

2. Integrasi Payment Gateway Rekening Escrow (Midtrans / Xendit)#

Seluruh pembayaran saham crowdfunding warga melalui kanal digital diproses melalui agregator payment gateway yang langsung diarahkan ke rekening penampungan escrow terikat.

[ APLIKASI WARGA ] ---> [ PAYMENT GATEWAY ] ---> [ BANK PERSEPSI ESCROW ]
 | | |
 | v Webhook Signature |
 +----------------- [ BUMDES BACKEND RPC ] <------------+

Penanganan Webhook Pembayaran Escrow Terverifikasi

typescript
// pages/api/webhooks/crowdfunding-escrow.ts
export default async function handler(req, res) {
 const { event, data } = req.body;
 
 if (event === 'payment.succeeded' && data.metadata.type === 'crowdfunding_share') {
 const { campaign_id, investor_nik, investor_name, share_count, payment_ref } = data.metadata;
 
 // Panggil Stored Procedure Atomik BUMDes
 const { error } = await supabase.rpc('process_crowdfunding_investment', {
 p_tenant_id: data.metadata.tenant_id,
 p_campaign_id: campaign_id,
 p_investor_nik: investor_nik,
 p_investor_name: investor_name,
 p_share_count: parseInt(share_count),
 p_escrow_ref: payment_ref
 });

 if (error) return res.status(500).json({ error: error.message });
 return res.status(200).json({ received: true });
 }
 return res.status(400).json({ message: 'Event ignored' });
}

3. Integrasi Notifikasi WhatsApp Sentinel Investor#

Sistem mengirimkan pesan otomatis terenkripsi kepada warga investor untuk setiap peristiwa penting investasi.

Pemicu NotifikasiFormat Isi Pesan WhatsApp Sentinel
Pembelian Saham Berhasil"Yth. Bapak/Ibu [Nama], pembelian [X] lembar saham proyek [Nama Proyek] senilai Rp [Total] berhasil diverifikasi. Sertifikat kepemilikan digital telah terbit di akun Portal Warga Anda. Terima kasih atas partisipasi membangun desa!"
Laporan Progres Fisik"Update Progres Proyek [Nama Proyek] Minggu ke-4: Konstruksi green house telah mencapai 65%. Foto dan log pekerjaan dapat dilihat di menu Investasi Desa."
Pencairan Dividen Tunai"Kabar Gembira! Dividen proyek [Nama Proyek] siklus ke-1 sebesar Rp [Nominal] telah cair dan dikreditkan ke Saldo Dompet Desa Anda. Silakan cek di aplikasi Portal Warga."

Apakah panduan ini membantu Anda?