Payment Gateway Integration
API Base URL:
Authentication: Tüm istekler için API anahtarı gereklidir. Header'da WebApiKey
olarak gönderilmelidir.
Response Format: JSON
Encoding: UTF-8
Müşteri hesabına para yatırma işlemi başlatır. İşlem sonucunda kullanıcıyı yönlendireceğiniz bir URL döner.
Parametre | Değer | Açıklama |
---|---|---|
WebApiKey | string | Size verilen API anahtarı |
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
amount | decimal | Evet | Yatırılacak miktar (integer veya decimal gönderilebilir) |
userId | string | Evet | Müşteri kullanıcı ID'si |
name | string | Evet | Müşteri adı ve soyadı (Örn: Louie Anderson) |
userName | string | Evet | Müşteri kullanıcı adı |
processId | string | Evet | Sizin tarafınızdan oluşturulan benzersiz işlem ID'si |
IslemTuru | string | Evet | İşlem yöntemi (havale, papara, kredikarti, mefete, pep, payco, crypto vb.) |
SuccessRedirectUrl | string | Hayır* | Başarılı işlem sonrası yönlendirme (*Sadece kredikarti için) |
ErrorRedirectUrl | string | Hayır* | Başarısız işlem sonrası yönlendirme (*Sadece kredikarti için) |
RedirectUrl | string | Hayır | Genel yönlendirme URL'i |
{ "amount": 500, "userId": "customer-123", "name": "Louie Anderson", "userName": "louie_a", "processId": "TRX-2024-001", "IslemTuru": "havale", "SuccessRedirectUrl": "https://example.com/success", "ErrorRedirectUrl": "https://example.com/error", "RedirectUrl": "https://example.com/redirect" }
{ "status": "successful", "url": "https://vevopay.io/iFrame/HavaleOtoBack?trackingID=96baf381-f727-4bcd-b9bb-03422e1211af", "hashcode": "98344483d494a0ed8a69120b8cde3b24", "trackingId": "96baf381-f727-4bcd-b9bb-03422e1211af", "iban": "TR12 3456 7890 1234 5678 9012 34", "ibanname": "ABC ÖDEME HİZMETLERİ A.Ş." }
{ "status": "failed", "hataMesaj": "Aynı tutarda bekleyen yatırım talebiniz bulunmaktadır", "hashcode": "98344483d494a0ed8a69120b8cde3b24", "trackingId": "96baf381-f727-4bcd-b9bb-03422e1211af" }
Müşteri hesabından para çekme işlemi gerçekleştirir. İsim ve soyisim kontrolü yapılır, yanlış bilgi durumunda işlem reddedilir.
Parametre | Değer | Açıklama |
---|---|---|
WebApiKey | string | Size verilen API anahtarı |
Content-Type | application/json | İstek içerik tipi |
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
userId | string | Evet | Müşteri kullanıcı ID'si |
name | string | Evet | Müşteri adı soyadı (Kontrol edilir!) |
username | string | Evet | Müşteri kullanıcı adı |
amount | decimal | Evet | Çekilecek miktar (integer gönderilebilir) |
IslemTuru | string | Evet | Çekim yöntemi (havale, papara, crypto vb.) |
processId | string | Evet | Sizin tarafınızdan oluşturulan benzersiz işlem ID'si |
iban | string | Evet | Alıcı IBAN veya cüzdan adresi (yönteme göre değişir) |
currency | string | Hayır* | Para birimi (*Sadece crypto işlemleri için zorunlu) |
currencyamount | decimal | Hayır | Crypto işlemlerinde amount=0 ise kullanılır |
{ "userId": "12.1223", "name": "Louie Anderson", "username": "tes653111", "amount": 10000, "IslemTuru": "havale", "processId": "process-2024-001", "iban": "TR12 3456 7890 1234 5678 9012 34" }
{ "status": "successful" }
İşlem durumunu kontrol eder. TrackingId parametresi ile sorgulama yapılır.
Parametre | Değer | Açıklama |
---|---|---|
WebApiKey | string | Size verilen API anahtarı |
Parametre | Tip | Zorunlu | Açıklama |
---|---|---|---|
trackingId | string (GUID) | Evet | İşlem takip numarası |
POST /api/vevo/checkstatus?trackingId=328bcca3-434e-4c01-99df-b973ee412377 Headers: WebApiKey: Your-API-Key
{ "success": true, "data": { "TrackingID": "328bcca3-434e-4c01-99df-b973ee412377", "ProcessID": "test!3proc322722223ses2s-1s22ss32323222225452", "StatusLabel": "unsuccessful", "IslemSekli": "Deposit", "Yontem": "havale", "EklenmeZamani": "2025-04-22 12:24:59,540", "OdemeZamani": null } }
İşlem durumu değiştiğinde veya tamamlandığında belirttiğiniz callback URL'e POST isteği gönderilir. Form-urlencoded formatında gönderilir.
Parametre | Tip | Açıklama |
---|---|---|
transactionId | string | İşlem kimlik numarası |
amount | string | İşlem tutarı |
userId | string | Kullanıcı ID'si |
name | string | Kullanıcı adı soyadı |
userName | string | Kullanıcı adı |
processId | string | Sizin gönderdiğiniz işlem ID'si |
status | string | 'pending', 'successful' veya 'unsuccessful' |
type | string | 'Deposit' veya 'withdrawal' |
Dekont | string | Dekont bilgisi (varsa) |
durumMesaj | string | Durum açıklama mesajı |
IslemTuru | string | İşlem yöntemi |
hashcode | string | MD5 hash kodu (FirmaID-ApiKey-amount-processId) |
POST /your-callback-url Content-Type: application/x-www-form-urlencoded transactionId=TRX123456&amount=500&userId=customer-123&name=Louie+Anderson&userName=louie_a&processId=TRX-2024-001&status=successful&type=deposit&Dekont=&durumMesaj=İşlem+başarılı&IslemTuru=havale&hashcode=98344483d494a0ed8a69120b8cde3b24
Gelen callback'in güvenliğini sağlamak için hashcode doğrulaması yapmanız önerilir:
// PHP Örneği $firma_id = "YOUR_FIRMA_ID"; $api_key = "YOUR_API_KEY"; $amount = $_POST['amount']; $process_id = $_POST['processId']; // G2W firmalar için ondalık format kullanılır $formatted_amount = number_format($amount, 2, '.', ''); $hash_string = $firma_id . $api_key . $formatted_amount . $process_id; // Normal firmalar için integer format kullanılır // $hash_string = $firma_id . $api_key . intval($amount) . $process_id; $expected_hash = md5($hash_string); if ($expected_hash === $_POST['hashcode']) { // Callback geçerli, işlemi tamamla http_response_code(200); echo "OK"; // Başarılı yanıt - MUTLAKA 200 OK dönün! } else { // Hash uyuşmazlığı http_response_code(400); echo "Invalid hash"; }