MFatura API Entegrasyon
E-Fatura Oluşturma (PHP)
<?php
//MFatura API Sürüm 1.0.1 (25.09.2025)
$apikey = "API_KEY"; //MFatura tarafından verilen API Anahtarı (Zorunlu)
$fatura_siparisno = "YSIP1234"; //Benzersiz Sipariş Numaranız (Min. 8 Zorunlu)
$fatura_unvan = "FİRMA ÜNVANINI"; //Müşteri Firma Ünvanı (Zorunlu)
$fatura_vd = "VERGİ DAİRESİ ADI"; //Müşteri Vergi Dairesi Adı (Zorunlu)
$fatura_vn = "11111111111"; //Müşteri Vergi Numarası (Zorunlu - Yok ise 11 adet 1)
$fatura_adres = "Örnek Mh. Örnek Cd. No:1 K:1 D:1"; //Müşteri Adresi (Zorunlu)
$fatura_ilce = "İlçe"; //Müşteri İlçe (Zorunlu)
$fatura_sehir = "Şehir"; //Müşteri Şehir (Zorunlu)
$fatura_eposta = "info@ornekfirma.com"; //Müşteri E-Psta (Zorunlu)
$fatura_tel = "08501234567"; //Müşteri Telefon (Zorunlu)
$fatura_toplam = "30.00"; //KDV Dahil Fatura Toplam Tutarı (Zorunlu)
//Yardımcı Fonksiyon Değiştirmeyiniz
function BirimTanim($gelen) {
switch($gelen) {
case "Adet": return "C62";
case "Koli": return "C62";
case "Metre": return "MTR";
case "M2": return "B32";
case "Kg": return "KGM";
case "Litre": return "LTR";
default: return "C62";
}
}
//Yardımcı Fonksiyon Değiştirmeyiniz
function UTF8Donustur($gelen) {
if ($gelen === null) return null;
if (function_exists('mb_detect_encoding')) {
$enc = mb_detect_encoding($gelen, array('UTF-8','ISO-8859-9','windows-1254','ISO-8859-1'), true);
if ($enc && $enc !== 'UTF-8') {
$out = @iconv($enc, "UTF-8//IGNORE", $gelen);
if ($out !== false) return $out;
}
}
return $gelen;
}
//Ürünler
$malHizmet = array();
$malHizmet[] = array(
"isim" => UTF8Donustur("Örnek Ürün 1"),
"adet" => "1",
"birim" => BirimTanim("Adet"),
"birimfiyat" => "8.3333",
"kdv" => "20",
"allowanceCharge" => array("rate" => "0", "amount" => "0")
);
$malHizmet[] = array(
"isim" => UTF8Donustur("Örnek Ürün 2"),
"adet" => "2",
"birim" => BirimTanim("Adet"),
"birimfiyat" => "8.3333",
"kdv" => "20",
"allowanceCharge" => array("rate" => "0", "amount" => "0")
);
$urunlerJson = json_encode($malHizmet);
//POST Edilecek Parametreler
$post = array(
"apikey" => $apikey,
"tarih" => date('Y-m-d'),
"saat" => date('H:i:s'),
"vergiNo" => $fatura_vn,
"vergiDairesi" => UTF8Donustur($fatura_vd),
"faturaNotu" => "", //Boş ise otomatik fatura tutarını yazı ile yazar
"isim" => UTF8Donustur($fatura_unvan),
"sehir" => UTF8Donustur($fatura_sehir),
"mahalleSemtIlce" => UTF8Donustur($fatura_ilce),
"adres" => UTF8Donustur($fatura_adres),
"eposta" => $fatura_eposta,
"tel1" => $fatura_tel,
"tel2" => "0",
"urunler" => $urunlerJson,
"sipno" => UTF8Donustur($fatura_siparisno),
"otomatiknotolustur" => "1",
"faturatoplam" => $fatura_toplam,
"faturaImza" => "1"
);
$body = http_build_query($post, '', '&');
//Gönderim
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.mfatura.com/api/efatura/e-fatura-servis.php");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 45);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/x-www-form-urlencoded; charset=UTF-8',
'Accept: application/json',
'Expect:',
'Connection: close',
'User-Agent: PHP/5.3 cURL'
));
$response = curl_exec($ch);
$errno = curl_errno($ch);
$error = curl_error($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($errno) {
$sonuc = "Hata - " . $errno . " " . $error;
} else {
$sonuc = $response;
}
//Sonuç
echo $sonuc;
?>
cURL ile Gönderim (Terminal)
curl -X POST "https://www.mfatura.com/api/efatura/e-fatura-servis.php" \
-H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" \
-H "Accept: application/json" \
--data-urlencode "apikey=API_KEY" \
--data-urlencode "tarih=2025-09-25" \
--data-urlencode "saat=12:34:56" \
--data-urlencode "vergiNo=1111111111" \
--data-urlencode "vergiDairesi=VERGİ DAİRESİ ADI" \
--data-urlencode "isim=FİRMA ÜNVANINIZ" \
--data-urlencode "sehir=Şehir" \
--data-urlencode "mahalleSemtIlce=İlçe" \
--data-urlencode "adres=Örnek Mh. Örnek Cd. No:1 K:1 D:1" \
--data-urlencode "eposta=info@ornekfirma.com" \
--data-urlencode "tel1=08501234567" \
--data-urlencode "tel2=0" \
--data-urlencode "sipno=YSIP1234" \
--data-urlencode "otomatiknotolustur=1" \
--data-urlencode "faturatoplam=30.00" \
--data-urlencode "faturaImza=1" \
--data-urlencode "urunler=[{\"isim\":\"Örnek Ürün 1\",\"adet\":\"1\",\"birim\":\"C62\",\"birimfiyat\":\"8.3333\",\"kdv\":\"20\",\"allowanceCharge\":{\"rate\":\"0\",\"amount\":\"0\"}},{\"isim\":\"Örnek Ürün 2\",\"adet\":\"2\",\"birim\":\"C62\",\"birimfiyat\":\"8.3333\",\"kdv\":\"20\",\"allowanceCharge\":{\"rate\":\"0\",\"amount\":\"0\"}}]"
Örnek Başarılı Yanıt
https://www.mfatura.com/api/efatura/efatura.php?k=ETTN_No //Oluşan Fatura URL
Örnek Başarısız Yanıt
Hata - hata kodu hata mesajı


MFatura ile şimdi tanışın!
Uygulamamızı indirip ücretsiz deneyebilirsiniz...