MaviPay Başlangıç

Servis sağlayıcıları MaviPay API'lerini kullanmadan önce isteklerin gönerileceği IP adreslerini MaviPay developerlarına iletmelidir.

Servis sağlayıcısının whitelist etmesi gereken ip adresi: 66.29.138.36,66.29.138.72

MaviPay anlaşma sağladığı sitelere özel credentials (siteId, methodId, public key ve private key) iletmektedir. Siteler bu credentials bilgilerini servis sağlayıcısına ileterek sisteme entegre olacaktır.

yatırım talebi oluşturma


# Havale Yatırım Bağlantısı Örneği
https://pay.mavipay.vip/pay?siteId=1&methodId=1&userId=1&transactionId=1&fullname=Mehmet Yılmaz&return_url=https://siteadresi105.com

Müşteri bahis sitesindeki MaviPay Methodu 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:

https://pay.mavipay.vip/pay?siteId=1&methodId=1&userId=1&transactionId=1&fullname=Mehmet Yılmaz&return_url=https://siteadresi105.com

İşlemin geriye kalan kısmı MaviPay sitesinden yapılı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)
methodId integer Sistemimizde size açılan ödeme yöntemine ait id (gerekli)
Havale: methodId=1
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 Sitenin güncel url'si (isteğe bağlı)

çekim talebi oluşturma


# Çekim Talebi Request Örneği (1000,00 TL Çekim talebi oluşturur)
$parameters = [
    'token' => 'YnVVMmmoTXzjlSppqGpW5ODhgLRANTYy',
    "hash": "t5Kny+Ko9swU1tD4rmLkhmi4eXv1IKEPKyVFLMtafa4=",
    'siteId' => 1,
    'userId' => '250a1',
    'transactionId' => '1d-34_dj20',
    'fullname' => 'Mehmet Yılmaz',
    'IDNumber' => 123456789,
    'methodId' => 2,
    'accountNumber' => '3243554868',
    'amount' => 100000
];

$url = 'https://panel.mavipay.vip/api/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.

https://panel.mavipay.vip/api/withdrawal

Ç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)
methodId integer Sitenizden çekim yapacak üyenin çekim yapmak istediği yöntem id'si, yöntemler için gerekli id önceki aşamalarda verilmiştir (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.

Ç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!
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": "kZcpJR+97B2F3wQZVyvLXttyv0ep4fV9FIyg6gswApM=",
    "type": "d",
    "siteId": 1,
    "userId": "1",
    "transactionId": "1",
    "fullname": "Mehmet Yılmaz",
    "mavipayId": 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": "u3mxdFfefveQbkO4k2Eo7OYHJ/oL8Ws/CkVyvntTLRw=",
    "type": "d",
    "siteId": 1,
    "userId": "1",
    "transactionId": "1",
    "fullname": "Mehmet Yılmaz",
    "mavipayId": 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": "hSzqdKnbXWEWwiFNZzVn7fU7khN55A4W1hJcMJTENXY=",
    "type": "d",
    "siteId": 1,
    "userId": "1",
    "transactionId": "1",
    "fullname": "Mehmet Yılmaz",
    "mavipayId": 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 Tarafımıza ileteceğiniz tüm api credentials bilgileri verdiğiniz türlerde iletilecektir. Örnekte 'token' değişkeni kullanılmıştır. Bir talep yoksa boş dönecektir.
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|mavipayId|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)
mavipayId 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.

Çekim Talebi İşlem Sonucu Callback


 # Çekim Sonucu Callback - Onay Callback Örneği (Tutar: 800 TL)
 {
    "token": null,
    "hash": "4dDhTVXiVqEsN5Cxy5oMVyrp0YxemgQY4seHCtr/fp0=",
    "type": "w",
    "siteId": 1,
    "userId": "32432dsrtw32",
    "transactionId": "32as234dsf3c",
    "fullname": "Mehmet Yılmaz",
    "mavipayId": 16,
    "methodName": "Papara",
    "methodId": 2,
    "status": 1,
    "amount": 80000,
    "note": ""
}
 
 # Çekim Sonucu Callback - İptal Callback Örneği (Tutar: 800,70 TL)
 {
    "token": null,
    "hash": "z7nu6HKUAQB43Jo2i9cOrtMMzLgpr5CgNFQH66CUJX0=",
    "type": "w",
    "siteId": 1,
    "userId": "32432dsrtw32",
    "transactionId": "32as234dsf3a",
    "fullname": "Mehmet Yılmaz",
    "mavipayId": 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 Tarafımıza ileteceğiniz tüm api credentials bilgileri verdiğiniz türlerde iletilecektir. Örnekte 'token' değişkeni kullanılmıştır. Bir talep yoksa boş dönecektir.
hash string Tarafınıza iletilen verilen 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));
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)
mavipayId 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.

Logo & Görsel

Mavi Pay

https://pay.mavipay.vip/images/mavipay.png

Mavi Pay Havale

https://pay.mavipay.vip/images/mavipay-havale.png