Anlık Havale API V2 Başlangıç
Entegrasyon başlamadan önce API isteklerini gönderecek sabit çıkış IP adreslerini ve callback adresinizi teknik ekibe iletin.
Canlı API adresi https://panel.anlik.vip/api/v2, hosted ödeme adresi https://pay.anlik.vip şeklindedir.
Her iş ortağına özel siteId, API token ve private key verilir. Her trader için tek aktif ödeme yöntemi Anlık Havale tarafından otomatik seçilir. API V2 istekleri application/x-www-form-urlencoded veya JSON gövdesiyle gönderilebilir. Private key yalnızca sunucuda tutulmalı, loglara veya istemci uygulamalarına yazılmamalıdır.
Tüm API istekleri HTTPS üzerinden gönderilir. Para alanları küsuratsız integer olarak kuruş cinsindedir: 1000,00 TL = 100000.
POSTMAN TEST PAKETİ
V2 Postman koleksiyonunu ve sandbox ortam dosyasını içe aktarın. Ortamda yalnız token, privateKey ve siteId değerlerini doldurun. Koleksiyon benzersiz işlem ID'lerini ve withdrawal HMAC değerini otomatik üretir; cevapları otomatik test eder.
Hosted ödeme bağlantısı oluşturma
# Güvenli Havale Yatırım Bağlantısı Örneği
$siteId = 1;
$userId = 'uye-1';
$transactionId = 'islem-1';
$returnUrl = 'https://siteadresi105.com/odeme-sonucu';
$expires = time() + 900;
$signature = hash_hmac(
'sha256',
implode('|', [$siteId, $userId, $transactionId, $expires]),
$privateKey
);
$url = 'https://pay.anlik.vip/pay?'.http_build_query([
'siteId' => $siteId,
'userId' => $userId,
'transactionId' => $transactionId,
'fullname' => 'Mehmet Yılmaz',
'return_url' => $returnUrl,
'expires' => $expires,
'signature' => $signature,
]);
Müşteri iş ortağı sitesindeki yatırım formuna girer.
Karşısına çıkan “Ödeme Ekranına Git” butonuna tıklar ve aşağıdaki örnekteki gibi bir linke yönlendirilir:
Bağlantı sunucu tarafında oluşturulmalı; private key hiçbir zaman tarayıcıya veya mobil uygulamaya gönderilmemelidir. İmza 15 dakika geçerlidir.
Yatırım yalnızca bu hosted ödeme akışıyla oluşturulur. API üzerinden doğrudan yatırım oluşturma ve yöntem listeleme uçları sunulmaz; trader'a tanımlı tek aktif yöntem otomatik seçilir.
transactionId her trader için benzersiz olmalıdır. Daha önce kullanılan bir işlem numarasıyla hosted akış tekrar başlatılamaz.
İşlemin kalan kısmı güvenli Anlık Havale ödeme ekranında tamamlanır.
Üye bizim tarafımızda işlemi tamamladıktan sonra açılan pencere return_url değeri var ise oraya geri yönlendirilir. Yok ise pencereyi kapatıp sitenize geri dönüş yapabilir.
KULLANILABİLİR GET PARAMETRELERİ
| Parametre | Tip | Açıklama |
|---|---|---|
| siteId | integer | Sistemimizde size açılan siteye ait id, tarafımızdan iletilecektir (gerekli) |
| userId | string | Sitenizde işlem başlatan üyenin sizdeki id'si (harf,rakam, tire ve alt tire kullanılabilir) (gerekli) |
| transactionId | string | Sitenizde başlayan işlemin id'si (harf,rakam, tire ve alt tire kullanılabilir) (gerekli) |
| fullname | string | Sitenizde işlem başlatan üyenin sizdeki tam adı (ad ikinci ad soyad) (isteğe bağlı) |
| return_url | string | Geçerli bir HTTPS dönüş adresi (isteğe bağlı) |
| expires | integer | Bağlantının Unix bitiş zamanı; en fazla 15 dakika sonrası (gerekli) |
| signature | string | hash_hmac('sha256', "siteId|userId|transactionId|expires", private_key) ile üretilen hex imza (gerekli) |
Çekim talebi oluşturma
# Çekim Talebi Request Örneği (1000,00 TL Çekim talebi oluşturur)
$siteId = 1;
$userId = '250a1';
$transactionId = 'withdraw-2026-0001';
$amount = 100000;
$privateKey = 'YOUR_PRIVATE_KEY';
$hash = base64_encode(hash_hmac(
'sha256',
implode('|', [$siteId, $userId, $privateKey, $transactionId, $amount]),
$privateKey,
true
));
$parameters = [
'token' => 'YOUR_PUBLIC_API_TOKEN',
'hash' => $hash,
'siteId' => $siteId,
'userId' => $userId,
'transactionId' => $transactionId,
'fullname' => 'Mehmet Yılmaz',
'IDNumber' => 123456789,
'accountNumber' => '3243554868',
'amount' => $amount
];
$url = 'https://panel.anlik.vip/api/v2/withdrawal';
$fields_string = http_build_query($parameters);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
$response = curl_exec($ch);
curl_close($ch);
$json = json_decode($response);
if ($json->code == 200) {
echo 'Withdrawal request was received.';
print_r($json);
} else {
echo 'Withdrawal request was rejected.';
}
# Response - Hatalı İşlem İçin
{
"status": 0,
"code": 1082,
"title": "API credentials hatalıdır!",
"message": "API credentials hatalıdır!",
"type": "error"
}
# Response - Başarılı İşlem İçin
{
"status": 1,
"code": 200,
"title": "Çekim talebi oluşturuldu",
"message": "Çekim talebi oluşturuldu",
"type": "success"
}
Çekim talebi aşağıdaki adrese POST methodu ile request atılarak işleme alınır.
POST https://panel.anlik.vip/api/v2/withdrawal
methodId gönderilmez. Trader'a tanımlı tek aktif ödeme yöntemi Anlık Havale tarafından otomatik seçilir.
ÇEKİM TALEBİ OLUŞTURMA POST PARAMETRELERİ
| Parametre | Tip | Açıklama |
|---|---|---|
| token | string | Tarafınıza ileteceğimiz 32 karakterli public key (gerekli) |
| hash | string | Bize iletilen verilerin güvenilirliği için, hashlenmiş veriler. Bu verilerin şifreleme yöntemi şöyledir: base64_encode(hash_hmac('sha256', "siteId|userId|private_key|transactionId|amount", private_key, true)); (gerekli) |
| siteId | integer | Sistemimizde size açılan siteye ait id, tarafımızdan iletilecektir (gerekli) |
| userId | string | Sitenizden çekim yapacak üyenin sizdeki id'si (harf,rakam, tire ve alt tire kullanılabilir) (gerekli) |
| transactionId | string | Sitenizde başlayan çekim işleminin id'si (harf,rakam, tire ve alt tire kullanılabilir) (gerekli) |
| fullname | string | Sitenizden çekim yapacak üyenin sizdeki tam adı (ad ikinci ad soyad) (gerekli) |
| IDNumber | integer | Sitenizden çekim yapacak üyenin kimlik numarası |
| accountNumber | string | Sitenizden çekim yapacak üyenin ödeme yöntemindeki hesap numarası (gerekli) |
| amount | integer | Sitenizden çekim yapacak üyenin yapacağı çekim tutarının 100 ile çarpılmış hali. Örneğin 1000 TL çekim için 100000 gönderilmesi, 800,25 TL çekim için 80025 gönderilmesi gerekmektedir. (gerekli) |
Request atıldıktan sonra bizden bir response alacaksınız. Biz yalnızca "code": 200 durumunda işleme devam ederiz. "code": 200 dışındaki her yanıtta işlem bizim tarafımızda iptal edilmiş demektir. Bu durumda çekim işlemini göndermiş olduğumuz açıklama metniyle redleyebilir veya yeni statüsünde bırakabilirsiniz. "code": 200 durumunda ise işleme alınmış olarak işaretlemeniz, talebin üye tarafından iptal edilmemesini sağlamanız gerekmektedir.
Ardışık aynı istek 1086 döndürür. İlk istek hâlâ işlenirken gelen eşzamanlı tekrar HTTP 409 ve API 4091 döndürebilir.
ÇEKİM TALEBİ RESPONSE KODLARI
| code | açıklama |
|---|---|
| 200 | Çekim talebi oluşturuldu. |
| 1081 | Tüm alanların doldurulması zorunludur! |
| 1082 | API credentials hatalıdır! |
| 1091 | Hash hatalıdır! |
| 1092 | Trader için tam olarak bir aktif ödeme yöntemi tanımlanmamıştır. |
| 1083 | Bu site işleme kapatılmıştır! |
| 1084 | Bu sitenin seçili yöntemi kullanma izni yoktur! |
| 1085 | Bu müşterinin işlem yapması engellenmiştir! |
| 1086 | Bu işlem daha önce gönderilmiş! |
| 1087 | Çekim tutarı site için izin verilen çekim alt limitinden düşüktür! |
| 1088 | Çekim tutarı site için izin verilen çekim üst limitinden yüksektir! |
| 1089 | Ödeme yöntemi geçici olarak kapalıdır! |
| 1090 | Sistem çalışması sebebiyle servisimiz deaktif durumdadır! |
Yatırım Talebi İşlem Sonucu Callback
# Yatırım Sonucu Callback - Onay Callback Örneği (Tutar: 500 TL)
{
"token": null,
"hash": "GENERATED_HMAC_BASE64",
"type": "d",
"siteId": 1,
"userId": "1",
"transactionId": "1",
"fullname": "Mehmet Yılmaz",
"megapayId": 14,
"methodName": "Papara",
"methodId": 2,
"status": 1,
"amount": 50000
}
# Yatırım Sonucu Callback - Farklı Tutarla Onay Callback Örneği (Tutar: 300 TL)
{
"token": null,
"hash": "GENERATED_HMAC_BASE64",
"type": "d",
"siteId": 1,
"userId": "1",
"transactionId": "1",
"fullname": "Mehmet Yılmaz",
"megapayId": 15,
"methodName": "Papara",
"methodId": 2,
"status": 2,
"amount": 30000
}
# Yatırım Sonucu Callback - İptal Callback Örneği (Tutar: 127,50 TL)
{
"token": null,
"hash": "GENERATED_HMAC_BASE64",
"type": "d",
"siteId": 1,
"userId": "1",
"transactionId": "1",
"fullname": "Mehmet Yılmaz",
"megapayId": 16,
"methodName": "Papara",
"methodId": 2,
"status": 0,
"amount": 12750
}
Yatırım işlemi tarafımızdan kontrol edildikten sonra sonuçlandırılacak ve tarafınıza POST methodu ile callback iletilecektir.
GÖNDERİLECEK CALLBACK PARAMETRELERİ (method: Post)
| Parametre | Tip | Açıklama |
|---|---|---|
| api credentials | Kurulum sırasında belirlenen callback token değeri gönderilir; tanımlanmamışsa boş olabilir. | |
| hash | string | Tarafınıza iletilen verilerin güvenilirliği için, hashlenmiş veriler. Bu verilerin şifreleme yöntemi şöyledir: base64_encode(hash_hmac('sha256', "siteId|userId|private_key|transactionId|megapayId|amount", private_key, true)); |
| type | string | yatırım callback için 'd', çekim callback için 'w' |
| siteId | integer | Sistemimizde size açılan siteye ait id, tarafımızdan iletilecektir |
| userId | string | Sitenizde işlem başlatan üyenin sizdeki id'si |
| transactionId | string | Sitenizde başlayan işlemin id'si |
| fullname | string | Sitenizde işlem başlatan üyenin sizdeki tam adı (ad ikinci ad soyad) (tarafınızdan gönderilmemişse boş dönecektir) |
| megapayId | integer | İşlemin bizdeki id'si |
| methodName | string | Ödeme yöntemi ismi (Ör: Papara) |
| methodId | integer | Ödeme yöntemine ait id, önceki aşamalarda belirtilmiştir |
| status | integer | İşlem sonucu (1=onay, 2=farkli tutarla onay, 0=iptal) |
| amount | integer | İşlem sonucunda onaylanan tutar. Bu tutar, hesaplarımıza gelen tutarın 100 ile çarpılmış halidir. Farklı tutarla onay statusunde gönderilen callbacklerde işlemin bizden onay aldığı tutar tarafınıza iletilir. |
ÖNEMLİ:
İşlem bizden ilk seferde iptal alırsa ve sonradan onay olduğu anlaşılırsa ikinci bir callback gönderilebilir. Bu ikinci callback onay veya farklı tutarla onay içerir. Ayrıca iletişim kopukluğu olması durumunda (callback response alamadığında) aynı içerikli callback tekrar gönderilebilir, sonuçlandırılmış işleme farklı callback gönderilmez.
Callback alıcısı işlemi idempotent işlemeli ve başarılı kabul için HTTP 200 döndürmelidir. Ağ veya sunucu hatalarında aynı callback tekrar gelebilir.
Sandbox sırasında geçici bir webhook görüntüleyici kullanılabilir; yalnız sahte isim, hesap ve işlem verileri gönderin. Gönderilen callback gövdesi, hedef URL ve alınan HTTP cevabı ayrıca panelde ilgili işlemin detayındaki callback loglarında görülebilir.
Çekim Talebi İşlem Sonucu Callback
# Çekim Sonucu Callback - Onay Callback Örneği (Tutar: 800 TL)
{
"token": null,
"hash": "GENERATED_HMAC_BASE64",
"type": "w",
"siteId": 1,
"userId": "32432dsrtw32",
"transactionId": "32as234dsf3c",
"fullname": "Mehmet Yılmaz",
"megapayId": 16,
"methodName": "Papara",
"methodId": 2,
"status": 1,
"amount": 80000,
"note": ""
}
# Çekim Sonucu Callback - İptal Callback Örneği (Tutar: 800,70 TL)
{
"token": null,
"hash": "GENERATED_HMAC_BASE64",
"type": "w",
"siteId": 1,
"userId": "32432dsrtw32",
"transactionId": "32as234dsf3a",
"fullname": "Mehmet Yılmaz",
"megapayId": 14,
"methodName": "Papara",
"methodId": 2,
"status": 0,
"amount": 80070,
"note": "Hesap Numarası Hatalıdır"
}
Çekim işlemi tarafımızdan kontrol edildikten sonra sonuçlandırılacak ve tarafınıza POST methodu ile callback iletilecektir.
GÖNDERİLECEK CALLBACK PARAMETRELERİ (method: Post)
| Parametre | Tip | Açıklama |
|---|---|---|
| api credentials | Kurulum sırasında belirlenen callback token değeri gönderilir; tanımlanmamışsa boş olabilir. | |
| hash | string | Tarafınıza iletilen verilerin güvenilirliği için HMAC. Üretim biçimi: base64_encode(hash_hmac('sha256', "siteId|userId|private_key|transactionId|megapayId|amount", private_key, true)); |
| type | string | yatırım callback için 'd', çekim callback için 'w' |
| siteId | integer | Sistemimizde size açılan siteye ait id, tarafımızdan iletilecektir |
| userId | string | Sitenizde işlem başlatan üyenin sizdeki id'si |
| transactionId | string | Sitenizde başlayan işlemin id'si |
| fullname | string | Sitenizde işlem başlatan üyenin sizdeki tam adı (ad ikinci ad soyad) |
| megapayId | integer | İşlemin bizdeki id'si |
| methodName | string | Ödeme yöntemi ismi (Ör: Papara) |
| methodId | integer | Ödeme yöntemine ait id, önceki aşamalarda belirtilmiştir |
| status | integer | İşlem sonucu (1=onay,0=iptal) |
| amount | integer | İşlem sonucunda onaylanan çekim tutarının 100 ile çarpılmış hali. |
| note | string | İptal edilen işlemler için iptal sebebi. Onay durumunda boş gönderilecektir. |
ÖNEMLİ:
Çekim talebi callbacklerinde, yalnızca iletişim kopukluğu olması durumunda (callback response alamadığında) aynı içerikli callback tekrar gönderilebilir, sonuçlandırılmış işleme farklı callback gönderilmez.
Callback alıcısı işlemi idempotent işlemeli ve başarılı kabul için HTTP 200 döndürmelidir.
İşlem durumu sorgulama
POST https://panel.anlik.vip/api/v2/transaction/status
{
"token": "YOUR_PUBLIC_API_TOKEN",
"siteId": 1,
"type": "deposit",
"transactionId": "deposit-2026-0001",
"userId": "2501"
}
# Başarılı response özeti
{
"status": 1,
"code": 200,
"type": "success",
"data": {
"kind": "deposit",
"transactionId": "deposit-2026-0001",
"userId": "2501",
"status": 8,
"statusLabel": "yeni",
"amount": 100000,
"methodId": 1
}
}
type alanı deposit veya withdrawal olmalıdır. userId isteğe bağlıdır ancak aynı transaction kimliğinin yanlış kullanıcıyla eşleşmesini önlemek için gönderilmesi önerilir.
Bulunamayan işlem code: 4040, hatalı token code: 1082, whitelist dışı IP ise code: 1083 döndürür.
İŞLEM DURUMLARI
| status | statusLabel | Açıklama |
|---|---|---|
| 0 | iptal | İşlem reddedildi veya iptal edildi. |
| 1 | onay | İşlem onaylandı. |
| 5 | isleme_alindi | İşlem müşteri tarafından ilerletildi. |
| 7 | beklemede | Operasyon sonucu bekleniyor. |
| 8 | yeni | Yeni işlem. |
| 10 | eslesme_bekliyor | Ödeme eşleşmesi bekleniyor. |
Logo & Görsel
Güncel Anlık Havale logo dosyalarını aşağıdan indirebilirsiniz. Harici bir alan adına bağlı eski logo URL'lerini uygulamanıza sabitlemeyin.
Açık zemin logosu (SVG) · Koyu zemin logosu (SVG) · İkon (SVG)