Kod Örnekleri
Farklı programlama dillerinde OdemeNet API entegrasyon örnekleri
Kategoriler
Kimlik Doğrulama Örnekleri
API Token Alma
API'ye erişim için JWT token alınması örneği. Token 1 saat geçerlidir.
C#
PHP
Python
Node.js
using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
public class OdemeNetAuth
{
private readonly HttpClient _httpClient;
private const string BaseUrl = "https://api.odemenet.com";
public OdemeNetAuth()
{
_httpClient = new HttpClient();
}
public async Task<string> GetTokenAsync(string apiKey, string apiSecret)
{
var loginData = new
{
apiKey = apiKey,
apiSecret = apiSecret
};
var json = JsonSerializer.Serialize(loginData);
var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await _httpClient.PostAsync($"{BaseUrl}/api/auth/login", content);
if (response.IsSuccessStatusCode)
{
var responseData = await response.Content.ReadAsStringAsync();
var result = JsonSerializer.Deserialize<LoginResponse>(responseData);
return result.Token;
}
throw new Exception($"Token alınamadı: {response.StatusCode}");
}
}
<?php
class OdemeNetAuth
{
private const BASE_URL = 'https://api.odemenet.com';
public function getToken($apiKey, $apiSecret)
{
$data = [
'apiKey' => $apiKey,
'apiSecret' => $apiSecret
];
$ch = curl_init(self::BASE_URL . '/api/auth/login');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json'
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($httpCode === 200) {
$result = json_decode($response, true);
return $result['token'];
}
throw new Exception("Token alınamadı: $httpCode");
}
}
?>
import requests
class OdemeNetAuth:
BASE_URL = "https://api.odemenet.com"
def get_token(self, api_key, api_secret):
"""API token alır"""
url = f"{self.BASE_URL}/api/auth/login"
payload = {
"apiKey": api_key,
"apiSecret": api_secret
}
response = requests.post(url, json=payload)
if response.status_code == 200:
data = response.json()
return data["token"]
raise Exception(f"Token alınamadı: {response.status_code}")
const axios = require('axios');
class OdemeNetAuth {
constructor() {
this.baseUrl = 'https://api.odemenet.com';
}
async getToken(apiKey, apiSecret) {
try {
const response = await axios.post(
`${this.baseUrl}/api/auth/login`,
{ apiKey, apiSecret }
);
if (response.data.success) {
return response.data.token;
}
throw new Error('Token alınamadı');
} catch (error) {
throw new Error(`API Hatası: ${error.message}`);
}
}
}
Ödeme İşlemi Örnekleri
Not:
Tüm ödeme isteklerinde Authorization header'ına Bearer token eklenmelidir.
3D Secure Ödeme
3D Secure doğrulama ile güvenli ödeme işlemi başlatma örneği.
C#
PHP
Python
public async Task<PaymentResult> Process3DSecurePayment(
string token, decimal amount, string cardNumber)
{
var paymentData = new
{
amount = amount,
cardNumber = cardNumber,
cardHolderName = "JOHN DOE",
expireMonth = "12",
expireYear = "2025",
cvv = "123",
orderId = "ORD-123456",
installment = 1
};
var json = JsonSerializer.Serialize(paymentData);
var content = new StringContent(json, Encoding.UTF8, "application/json");
_httpClient.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", token);
var response = await _httpClient.PostAsync(
$"{BaseUrl}/api/payment/3dsecure", content);
var responseData = await response.Content.ReadAsStringAsync();
return JsonSerializer.Deserialize<PaymentResult>(responseData);
}
<?php
function process3DSecurePayment($token, $amount, $cardNumber) {
$data = [
'amount' => $amount,
'cardNumber' => $cardNumber,
'cardHolderName' => 'JOHN DOE',
'expireMonth' => '12',
'expireYear' => '2025',
'cvv' => '123',
'orderId' => 'ORD-123456',
'installment' => 1
];
$ch = curl_init('https://api.odemenet.com/api/payment/3dsecure');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Authorization: Bearer ' . $token
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
?>
def process_3d_secure_payment(token, amount, card_number):
"""3D Secure ödeme işlemi başlatır"""
url = "https://api.odemenet.com/api/payment/3dsecure"
payload = {
"amount": amount,
"cardNumber": card_number,
"cardHolderName": "JOHN DOE",
"expireMonth": "12",
"expireYear": "2025",
"cvv": "123",
"orderId": "ORD-123456",
"installment": 1
}
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
return response.json()
Kart Yönetimi Örnekleri
Kayıtlı Kartları Listeleme
C#
Node.js
public async Task<List<SavedCard>> GetSavedCards(string token, string customerId)
{
_httpClient.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", token);
var response = await _httpClient.GetAsync(
$"{BaseUrl}/api/card/list/{customerId}");
if (response.IsSuccessStatusCode)
{
var json = await response.Content.ReadAsStringAsync();
return JsonSerializer.Deserialize<List<SavedCard>>(json);
}
return new List<SavedCard>();
}
async getSavedCards(token, customerId) {
try {
const response = await axios.get(
`${this.baseUrl}/api/card/list/${customerId}`,
{
headers: {
'Authorization': `Bearer ${token}`
}
}
);
return response.data;
} catch (error) {
console.error('Kart listesi alınamadı:', error.message);
return [];
}
}
Sorgulama İşlemleri
İşlem Durumu Sorgulama
PHP
Python
<?php
function queryTransaction($token, $transactionId) {
$ch = curl_init(
'https://api.odemenet.com/api/transaction/' . $transactionId
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $token
]);
$response = curl_exec($ch);
curl_close($ch);
return json_decode($response, true);
}
?>
def query_transaction(token, transaction_id):
"""İşlem durumunu sorgular"""
url = f"https://api.odemenet.com/api/transaction/{transaction_id}"
headers = {
"Authorization": f"Bearer {token}"
}
response = requests.get(url, headers=headers)
return response.json()