Banka Havalesi ile para yatırma
BankoPay sistemindeki Banka Havalesi yatırım yöntemi işleyişi aşağıdaki şekildedir:
- Müşteri bahis sitesindeki BankoPay Banka Havalesi yatırım formuna girer.
- Karşısına çıkan “İşleme Başla” butonuna tıklar ve aşağıdaki linke yönlendirilir:
https://bankopay.co/deposit/bank-transfer?site_id=_SITEID_&username=_USERNAME_&user_id=_USERID_&fullname=_FULLNAME_&amount=_DEPOSITAMOUNT_&trx=_TRANSACTIONID_&return_url=_RETURNURL_
- İşlemin geriye kalan kısmı BankoPay sitesinden yapılır.
- Bu yöntemde kullanılabilecek tüm GET parametreleri aşağıdaki tabloda belirtilmiştir.
GET parametreleri:
| Parametre |
Gereklilik |
Açıklama |
| site_id |
required |
BankoPay tarafından siteye özel verilir. |
| username |
required |
Müşterinin kullanıcı adı. |
| user_id |
required |
Müşterinin ID’si. |
| fullname |
required |
Müşterinin tam ismi (İlk adı İkinci adı Soyadı) |
| amount |
required |
Para yatırma miktarı.
25000.00 veya 25000, 25 Bin TL’yi temsil eder.
|
| trx |
required |
İşlemin Merchant sistemindeki ID’si. |
| return_url |
required |
Merchant sitesinin mevcut URL’i. |
Banka Havalesi ile para çekme
Müşterinin yazdığı bilgiler BankoPay API servisi kullanılarak bize iletilmelidir...
BankoPay sistemindeki Banka Havalesi çekim yöntemi işleyişi aşağıdaki şekildedir:
- Müşteri Merchant sitesindeki Banka Havalesi ile para çekme formuna girer.
- Bu alandan para çekme form doldurulur;
Para çekme formunda olması gereken bilgiler:
- Banka (select ile eklenmelidir. Lütfen inceleyin)
- IBAN
- Miktar
- TC kimlik numarası
- Doğum tarihi
Form bilgilerin yanısıra callback yaparken aşağıdaki bilgilerin de gönderilmesi gerekmektedir:
- Merchant site_id
- Merchant site_key
- Kullanıcı ID
- Kullanıcı adı
- Kullanıcı tam ismi
- Çekim talebi merchant sitenin yönetim panelinden kontrol edildikten sonra işlem “Geçerli” olarak işaretlendiği zaman BankoPay /withdraw/bank-transfer API servisine bilgiler post edilir.
- Response içerisindeki code parametresi baz alınarak eğer;
- code == 200 ise müşterinin talebi bize ulaşmıştır. (Servis sağlayıcısı sisteminde para çekme talebinin durumu “Beklemede” olarak değiştirilmelidir.)
- code != 200 ise çekim talebi kabul edilmez ve servis sağlayıcısının sisteminde doğrudan redd edilmelidir. Red etme nedenine ise response içerisindeki message yazılmalıdır.
Servis: /api/withdraw/bank-transfer
POST: https://bankopay.co/api/withdraw/bank-transfer
Request içeriği:
| Parametre |
Gereklilik |
Tür |
Açıklama |
| site_id |
required |
integer |
BankoPay tarafından siteye özel verilir. |
| site_key |
required |
string |
BankoPay tarafından siteye özel verilir. |
| user_id |
required |
string |
Müşterinin ID’si. |
| username |
required |
string |
Müşterinin kullanıcı adı. |
| trx |
required |
string |
Çekimin Merchant sistemindeki ID’si. |
| fullname |
required |
string |
Müşterinin tam adı. |
| amount |
required |
string |
Para çekme miktarı.
25000.00 veya 25000, 25 Bin TL’yi temsil eder.
|
| account_number |
required |
string |
IBAN. |
| provider_id |
required |
integer |
Çekim yapılacak Bankanın ID’si. Lütfen inceleyin. |
| identity |
required |
string |
TC kimlik numarası. |
| birth_date |
required |
string |
Doğum tarihi. |
Response içeriği:
Örnek:
POST: https://bankopay.co/api/withdraw/bank-transfer
Accept: application/json
Content-Type: application/json
Request:
{
"site_id": 1001,
"site_key": "k62FdW0BaEXn3iUrzuDXcwiNQIYqmorU",
"user_id": "1254137",
"username": "demo123",
"trx": "456454646",
"fullname": "Ahmet Demir",
"amount": 250.00,
"account_number": "TR123445678945613245645",
"identity": "12345678910",
"birth_date": "16.09.1990",
"provider_id": 1
}
Response (Başarılı işlem için)
{
"message": "Çekim Talebi oluşturuldu",
"code": 200,
"type": "success",
"data": {
"site_id": 1,
"user_id": "1254137",
"username": "demo123",
"trx": "456454646",
"fullname": "Ahmet Demir",
"amount": 250,
"account_number": "TR123445678945613245645",
"identity": "12345678910",
"birth_date": "16.09.1990",
"provider_id": 1,
"callback_data": "{\"site_id\":1,\"site_key\":\"abc\",\"user_id\":\"1254137\",\"username\":\"demo123\",\"trx\":\"456454646\",\"fullname\":\"Ahmet Demir\",\"amount\":250,\"account_number\":\"TR123445678945613245645\",\"identity\":\"12345678910\",\"birth_date\":\"16.09.1990\",\"provider_id\":1}",
"updated_at": "17.02.2024 00:28:46",
"created_at": "17.02.2024 00:28:46",
"id": 2
}
}
Response (Hatalı işlem için)
{
"code": 20014,
"message": "API credentials hatalıdır!",
"type": "error"
}
Not: Eğer code 200 değil ise çekim talebi kabul edilmemeli ve panele message bilgisi redd etme nedeni olarak kaydedilmelidir.
Servis: /api/bank-list/
POST: https://bankopay.co/api/bank-list/
Accept: application/json
Content-Type: application/json
Request:
{
"site_id": 1001,
"site_key": "k62FdW0BaEXn3iUrzuDXcwiNQIYqmorU"
}
Response (Başarılı işlem için)
{
"message": "Banka Listesi",
"code": 200,
"type": "success",
"data": [
{
"provider_name": "Test - Garanti Bankası",
"id": "1"
},
{
"provider_name": "Test - İş Bankası",
"id": "2"
}
]
}
Response (Hatalı işlem için)
{
"code": 20014,
"message": "API credentials hatalıdır!",
"type": "error"
}
Response Kodları
Response bilgisi:
| Code |
Message |
| 200 |
Çekim/Withdraw talebi oluşturuldu! |
| 20014 |
API credentials hatalıdır! |
Callback Servis: info
Request içeriği:
| Parametre |
Gereklilik |
Tür |
Açıklama |
| site_id |
required |
integer |
BankoPay tarafından siteye özel verilir. |
| site_key |
required |
string |
BankoPay tarafından siteye özel verilir. |
| service |
required |
string |
Transferin türü: "info", deposit", "withdraw" |
| user_id |
required |
string |
Müşterinin ID’si. |
| username |
required |
string |
Müşterinin kullanıcı adı. |
| data |
optional |
string |
Yatırım işleminin başında, eğer müşteriyi BankoPay sayfasına yönlendirirken bu parametreyi göndermişseniz, biz bu servise callback yaparken bu parametrenin içerisindeki veriyi size geri ileteceğiz. |
| trx |
required |
string |
Yatırım işleminin başında, eğer müşteriyi BankoPay sayfasına yönlendirirken bu parametreyi göndermişseniz, biz bu servise callback yaparken bu parametrenin içerisindeki veriyi size geri ileteceğiz. |
| hash |
required |
string |
Hash için neye ihtiyacınız var?
site_id|user_id|trx|site_key bu kombinasyon ile hash oluşturabilirsiniz.
Hash için BCRYPT paketini kullanıyoruz. https://github.com/pyca/bcrypt
|
Response içeriği:
| Parametre |
Tür |
Açıklama |
| code |
integer |
Durum kodu. |
| message |
string |
Durum mesajı. |
Örnek:
POST: https://yourdomain.com/api/BankoPay/info/
Accept: application/json
Content-Type: application/json
Request:
{
"site_id": 1001,
"site_key": "k62FdW0BaEXn3iUrzuDXcwiNQIYqmorU",
"service": "info",
"user_id": "44843155",
"username": "demo123",
"trx": "9164088",
"hash": "$2a$12$gnZ3y0PcBIrKlk7lLCOZK.V5nnggrA2Vg2pyUMlpE24m3QAU30rmS"
}
Response (Başarılı işlem için)
{
"code": 200,
"message": "Yatırım gerçekleştirelebilir!"
}
Response (Hatalı işlem için)
{
"code": 999,
"message": "HATA MESAJI"
}
Not: Biz sadece code : 200 durumunda işleme devam ederiz. Eğer code : 200 değil ise işlemi sonlandırırız.
Callback Servis: deposit
Request içeriği:
| Parametre |
Gereklilik |
Tür |
Açıklama |
| site_id |
required |
integer |
BankoPay tarafından siteye özel verilir. |
| site_key |
required |
string |
BankoPay tarafından siteye özel verilir. |
| service |
required |
string |
Transferin türü: "info", deposit", "withdraw" |
| method |
required |
string |
“BankTransfer”, “Papara”, “Parazula”, “Popypara”, “mefete”, “PayCo” olarak gönderilir. |
| user_id |
required |
string |
Müşterinin ID’si. |
| username |
required |
string |
Müşterinin kullanıcı adı. |
| amount |
required |
string |
Müşteri bakiyesine eklenecek miktar. |
| currency |
required |
string |
“TRY” olarak gönderilir. |
| transaction_id |
required |
string |
İşleminin bizim sistemdeki ID’si. |
| status |
required |
string |
Status "approved" veya "reject" olarak işlem durumuna göre gönderilir.
-
"approved" : başarılı bir şekilde onaylandı.
-
"reject" : red edildi
|
| trx |
required |
string |
Yatırım işleminin başında, eğer müşteriyi BankoPay sayfasına yönlendirirken bu parametreyi göndermişseniz, biz bu servise callback yaparken bu parametrenin içerisindeki veriyi size geri ileteceğiz. |
| hash |
required |
string |
Hash için neye ihtiyacınız var?
site_id|user_id|trx|site_key bu kombinasyon ile hash oluşturabilirsiniz.
Hash için BCRYPT paketini kullanıyoruz. https://github.com/pyca/bcrypt
|
Response içeriği:
| Parametre |
Tür |
Açıklama |
| code |
integer |
Durum kodu. |
| message |
string |
Durum mesajı. |
Örnek:
POST: https://yourdomain.com/api/BankoPay/deposit/
Accept: application/json
Content-Type: application/json
Request:
{
"site_id": 1001,
"site_key": "k62FdW0BaEXn3iUrzuDXcwiNQIYqmorU",
"service": "deposit",
"method": "BankTransfer",
"user_id": "44843155",
"username": "demo123",
"amount": "200.00",
"currency": "TRY",
"transaction_id": "MD10001",
"status": "approved",
"trx": "9164088",
"hash": "$2a$12$gnZ3y0PcBIrKlk7lLCOZK.V5nnggrA2Vg2pyUMlpE24m3QAU30rmS"
}
Response (Başarılı işlem için)
{
"code": 200,
"message": "Hesaba bakiye eklendi!"
}
Response (Hatalı işlem için)
{
"code": 999,
"message": "HATA MESAJI"
}
Not: Biz sadece code : 200 durumunda işleme devam ederiz. Eğer code : 200 değil ise işlemi sonlandırırız.
Callback Servis: withdraw
Request içeriği:
| Parametre |
Gereklilik |
Tür |
Açıklama |
| site_id |
required |
integer |
BankoPay tarafından siteye özel verilir. |
| site_key |
required |
string |
BankoPay tarafından siteye özel verilir. |
| service |
required |
string |
Transferin türü: "info", deposit", "withdraw" |
| method |
required |
string |
“BankTransfer”, “Papara”, “Parazula”, “Popypara”, “mefete”, “PayCo” olarak gönderilir. |
| user_id |
required |
string |
Müşterinin ID’si. |
| username |
required |
string |
Müşterinin kullanıcı adı. |
| amount |
required |
string |
Çekim miktarı.
25000.00 veya 25000, 25 Bin TL’yi temsil eder.
|
| currency |
required |
string |
“TRY” olarak gönderilir. |
| transaction_id |
required |
string |
İşleminin bizim sistemdeki ID’si. |
| trx |
required |
string |
Çekim işleminin Merchant sistemindeki ID’si. |
| status |
required |
string |
Status "approved" veya "reject" olarak işlem durumuna göre gönderilir.
-
"approved" : başarılı bir şekilde onaylandı.
-
"reject" : red edildi
|
| message |
required |
string |
Çekim işleminin sonucuna dair not. C durumunda Tamamlandı, R durumunda ise redd etme nedeni yazar. |
| hash |
required |
string |
Hash için neye ihtiyacınız var?
site_id|user_id|trx|site_key bu kombinasyon ile hash oluşturabilirsiniz.
Hash için BCRYPT paketini kullanıyoruz. https://github.com/pyca/bcrypt
|
Response içeriği:
| Parametre |
Tür |
Açıklama |
| code |
integer |
Durum kodu. |
| message |
string |
Durum mesajı. |
Örnek:
POST: https://yourdomain.com/api/BankoPay/withdraw/
Accept: application/json
Content-Type: application/json
Request:
{
"site_id": 1001,
"site_key": "k62FdW0BaEXn3iUrzuDXcwiNQIYqmorU",
"service": "withdraw",
"method": "BankTransfer",
"user_id": "44843155",
"username": "demo123",
"amount": "200.00",
"currency": "TRY",
"transaction_id": "MW10001",
"trx": "451474562",
"status": "approved",
"message": "Tamamlandı!",
"hash": "$2a$12$gnZ3y0PcBIrKlk7lLCOZK.V5nnggrA2Vg2pyUMlpE24m3QAU30rmS"
}
Response (Başarılı işlem için)
{
"code": 200,
"message": "Hesaba bakiye eklendi!"
}
Response (Hatalı işlem için)
{
"code": 999,
"message": "HATA MESAJI"
}
Not: Biz sadece code : 200 durumunda işleme devam ederiz. Eğer code : 200 değil ise işlemi sonlandırırız.