Native Deposit
Native API üzerinden yatırım işlemi oluşturur.
Bu endpoint, belirtilen banka veya banka hesabı üzerinden yatırım talebi oluşturur. Sistem, limit ve uygunluk kontrollerini otomatik olarak gerçekleştirir.
Base URL
https://new.galaxypay.dev
Endpoint
POST /payment/native/deposit
Full URL
https://new.galaxypay.dev/payment/native/deposit
Headers
| Header | Zorunlu | Açıklama |
|---|
| Content-Type | Evet | application/json |
| Accept | Evet | application/json |
Request Parameters
| Parametre | Zorunlu | Tip | Açıklama |
|---|
| api_id | Evet | integer | Siteye ait API ID |
| api_key | Evet | string | Siteye ait API Key |
| user_id | Evet | integer/string | Site tarafındaki kullanıcı ID |
| username | Evet | string | Kullanıcı adı |
| first_name | Hayır | string | Kullanıcı adı |
| last_name | Hayır | string | Kullanıcı soyadı |
| email | Hayır | string | Kullanıcı e-posta adresi |
| phone_number | Hayır | string | Telefon numarası |
| external_transaction_id | Hayır | string | Site tarafındaki benzersiz işlem ID |
| amount | Evet | numeric | Yatırım tutarı |
| bank_id | Evet | integer | Banka ID |
| bank_account_id | Hayır | integer | Belirli banka hesabı ID |
| lang | Hayır | string | `tr` veya `en` |
| currency | Hayır | string | `TRY`, `USD`, `EUR` |
Example Request
{
"api_id": 621,
"api_key": "SITE_API_KEY",
"user_id": 1001,
"username": "testuser",
"first_name": "Test",
"last_name": "User",
"email": "[email protected]",
"phone_number": "905551112233",
"external_transaction_id": "TX-123456",
"amount": 6000,
"bank_id": 9,
"bank_account_id": 532,
"lang": "tr",
"currency": "TRY"
}
cURL Example
curl --location 'https://new.galaxypay.dev/payment/native/deposit' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data '{
"api_id": 621,
"api_key": "SITE_API_KEY",
"user_id": 1001,
"username": "testuser",
"first_name": "Test",
"last_name": "User",
"email": "[email protected]",
"phone_number": "905551112233",
"external_transaction_id": "TX-123456",
"amount": 6000,
"bank_id": 9,
"bank_account_id": 532,
"lang": "tr",
"currency": "TRY"
}'
Success Response
{
"code": 200,
"type": "success",
"message": "Talebiniz Alınmıştır.",
"transaction_id": 12345,
"hash": "transaction_hash",
"amount": 6000,
"bank_id": 9,
"status": "pending",
"bank_account": {
"id": 532,
"bank_id": 9,
"account_owner": "AHMET AKÇARA",
"iban": "TR720001009010623120505015",
"account_number": "998998989",
"branch_code": "778768",
"deposit_range": {
"id": 81,
"min": 5001,
"max": 10000
},
"limits": {
"process_limit": 10,
"process_used": 2,
"process_remaining": 8,
"daily_limit": 100000,
"daily_used": 25000,
"daily_remaining": 75000,
"total_limit": 500000,
"total_used": 120000,
"total_remaining": 380000,
"pending_amount": 10000
}
}
}
Response Fields
Main Response
| Alan | Tip | Açıklama |
|---|
| code | integer | İşlem durum kodu |
| type | string | `success` veya `error` |
| message | string | İşlem mesajı |
| transaction_id | integer | Sistem transaction ID |
| hash | string | İşlem hash değeri |
| amount | numeric | İşlem tutarı |
| bank_id | integer | Banka ID |
| status | string | İşlem durumu |
| bank_account | object | Kullanılan banka hesabı |
Bank Account Object
| Alan | Tip | Açıklama |
|---|
| id | integer | Banka hesap ID |
| bank_id | integer | Banka ID |
| account_owner | string | Hesap sahibi |
| iban | string/null | IBAN bilgisi |
| account_number | string/null | Hesap numarası |
| branch_code | string/null | Şube kodu |
| deposit_range | object/null | Yatırım aralığı |
| limits | object | Hesap limit bilgileri |
Deposit Range Object
| Alan | Tip | Açıklama |
|---|
| id | integer | Yatırım aralığı ID |
| min | numeric | Minimum yatırım tutarı |
| max | numeric | Maksimum yatırım tutarı |
Limits Object
| Alan | Tip | Açıklama |
|---|
| process_limit | numeric/null | İşlem limiti |
| process_used | numeric | Kullanılan işlem sayısı |
| process_remaining | numeric/null | Kalan işlem limiti |
| daily_limit | numeric/null | Günlük limit |
| daily_used | numeric | Günlük kullanılan tutar |
| daily_remaining | numeric/null | Günlük kalan limit |
| total_limit | numeric/null | Toplam limit |
| total_used | numeric | Kullanılan toplam tutar |
| total_remaining | numeric/null | Kalan toplam limit |
| pending_amount | numeric | Bekleyen işlem tutarı |
Error Response - Validation Error
{
"code": 1001,
"type": "error",
"message": "Geçersiz istek.",
"errors": {
"amount": [
"Amount alanı zorunludur."
],
"bank_id": [
"Bank ID alanı zorunludur."
]
}
}
Error Response - Invalid API Credentials
{
"code": 1002,
"type": "error",
"message": "API bilgileri hatalı."
}
Error Response - Site Not Found
{
"code": 1003,
"type": "error",
"message": "Site bulunamadı."
}
Error Response - Pending Transaction Exists
{
"code": 1007,
"type": "error",
"message": "Kullanıcının bekleyen işlemi bulunmaktadır.",
"transaction_id": 12345,
"hash": "transaction_hash"
}
Error Response - Duplicate External Transaction
{
"code": 1009,
"type": "error",
"message": "Bu işlem daha önce oluşturulmuş."
}
Error Response - Invalid Bank
{
"code": 1010,
"type": "error",
"message": "Geçersiz banka seçimi."
}
Error Response - Invalid Bank Account
{
"code": 1011,
"type": "error",
"message": "Geçersiz banka hesabı."
}
Error Response - Account Not Available
{
"code": 1012,
"type": "error",
"message": "Seçilen banka hesabı şu anda uygun değil."
}
Error Response - No Available Account
{
"code": 1013,
"type": "error",
"message": "Bu API için kullanılabilir banka hesabı bulunamadı."
}
Error Response - Amount Range Error
{
"code": 1014,
"type": "error",
"message": "Yatırım tutarı hesap limitleri dışında."
}
Error Response - Routing Failed
{
"code": 1015,
"type": "error",
"message": "Uygun hesap bulunamadı.",
"debug": []
}
Notes
- `bank_account_id` gönderilmezse sistem otomatik uygun hesap seçer.
- `external_transaction_id` benzersiz olmalıdır.
- Aynı kullanıcı için bekleyen işlem varsa yeni işlem oluşturulamaz.
- İşlem oluşturulduktan sonra status başlangıçta `pending` olur.
- Sistem otomatik olarak:
- Günlük limit
- Toplam limit
- İşlem limiti
- Bekleyen işlem tutarı
- Yatırım aralığı
kontrollerini gerçekleştirir.
- Kullanılabilir hesap bulunamazsa hata döner.
- `hash` değeri işlem sorgulama işlemlerinde kullanılabilir.
- `bank_account` nesnesi, işlemin yönlendirildiği gerçek hesabı içerir.