Skip to content

Taksit Bilgisi Alma ​

Kullanıcı ödeme sayfasında kart numarasının ilk 6 hanesini (BIN kodu) girdiğinde, karta uygun taksit seçeneklerini ve komisyon oranlarını listelemek için bu servis kullanılır.

1. POS Bilgisi Sorgulama ​

Bu servis, girilen kartın hangi bankaya/şemaya ait olduğunu analiz eder ve geçerli taksit yapılandırmasını döner.

İstek Bilgileri ​

  • Metot: POST
  • URL: https://staging.halkode.com.tr/ccpayment/api/getpos
  • CANLI URL: https://app.halkode.com.tr/ccpayment/api/getpos
  • Yetkilendirme: Bearer {token} Token Alma servisinden alınan değer

İstek Parametreleri (Body) ​

ParametreTipKoşulAçıklama
credit_cardstringZorunluKart numarasının ilk 6 hanesi. (Tarım kartları için tamamı).
amountfloatZorunluİşlem tutarı (Örn: 100.50).
currency_codestringZorunluPara birimi. Varsayılan: TRY
merchant_keystringZorunluÜye işyeri anahtarınız.

Örnek İstek (Request) ​

json
{
    "credit_card": "444444",
    "amount": 100.00,
    "currency_code": "TRY",
    "merchant_key": "$2y$10$..."
}

Başarılı Yanıt ​

json
{
    "status_code": 100,
    "status_description": "Successfull",
    "data": [
        {
            "pos_id": 44,
            "installments_number": 1,
            "card_type": "CREDIT CARD",
            "card_program": "MAXIMUM",
            "card_scheme": "visa",
            "payable_amount": 100,
            "hash_key": "314eab2fb0186d7f:da9a:lQOYJS2fhxchQ98UwGtfxb0...",
            "amount_to_be_paid": "100.00",
            "currency_code": "TRY",
            "title": "Single payment"
        },
        {
            "pos_id": 45,
            "installments_number": 2,
            "card_type": "CREDIT CARD",
            "card_program": "MAXIMUM",
            "card_scheme": "visa",
            "payable_amount": 100,
            "hash_key": "60a79e80cb994417:fac9:T7B7FJOaflC574iDN4IzAo...",
            "amount_to_be_paid": "100.00",
            "currency_code": "TRY",
            "title": 2
        }
        // ... Diğer taksit seçenekleri (3 - 12) benzer yapıda döner
    ]
}

Başarısız Yanıt ​

json
{

    "status_code": 40,
    "status_description": "Para Birimi İzni Yok"
}

Kod Örnekleri ​

PHP Örnek Kodu
PHP

<?php

function sendRequest( $data, $token) {
    $baseUrl = "https://staging.halkode.com.tr/ccpayment/api/getpos"
    $url = $baseUrl . $endpoint;
    
    $ch = curl_init($url);
    $payload = json_encode($data);
    
    $headers = [
        'Content-Type: application/json',
        'Accept: application/json',
        'Authorization: Bearer ' . $token
    ];
    
   
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    
    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    
    return json_decode($response, true);
}

//Token get token servisinden alınır. 

$authData = [
    "credit_card": "444444",
    "amount": 100.00,
    "currency_code": "TRY",
    "merchant_key": "$2y$10$..."
];

$authResult = sendRequest($authData,$token);
print_r($authResult);
?>
C# /.NET Örnek Kodu
C#

using System.Text;
using System.Text.Json;
using System.Net.Http.Headers;

public class HalkodeClient
{
    private static readonly HttpClient client = new HttpClient();

    public async Task<string> GetPos(string creditCard, string amount, string currencyCode, string merchantKey, string token)
    {
        var url = "https://staging.halkode.com.tr/ccpayment/api/getpos";
        
        var requestBody = new { 
            credit_card = creditCard,
            amount = amount,
            currency_code = currencyCode
            merchant_key = merchantKey 
        };
        var json = JsonSerializer.Serialize(requestBody);
        var content = new StringContent(json, Encoding.UTF8, "application/json");

        client.DefaultRequestHeaders.Clear();
        client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        var response = await client.PostAsync(url, content);
        return await response.Content.ReadAsStringAsync();
    }
}

// Token get token servisinden alınır. 

var halkode = new HalkodeClient();
var result = await halkode.GetPos("444444", 100.00, "TRY", "$2y$10$...", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9...");
JavaScript / NodeJs Örnek Kodu
JavaScript

const axios = require('axios');

async function getPos(creditCard, amount,currencyCode,merchantKey, token) {
    try {
        const config = {
            method: 'post',
            // URL doğrudan tam yol olarak belirtilmiştir
            url: 'https://staging.halkode.com.tr/ccpayment/api/getpos',
            headers: { 
                'Content-Type': 'application/json', 
                'Accept': 'application/json',
                'Authorization': 'Bearer' . token
            },
            data: {
               "credit_card": creditCard,
               "amount": amount,
               "currency_code": currencyCode,
               "merchant_key": merchantKey
            }
        };

        const response = await axios(config);
        return response.data;
    } catch (error) {
        console.error('Hata:', error.response ? error.response.data : error.message);
    }
}

// Token get token servisinden alınır. 

getPos("444444", 100,"TRY","$2y$10$...","eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9...").then(console.log);