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
