retrieve-saved-cards
POST /api/{team}/gateway/retrieve-saved-cards
Kayıtlı kartları döndürür; hiçbir şeyi değiştirmez. Bir müşterinin bütün kartlarını onun referansıyla sorarsınız; varsayılan kart önce, diğerleri eskiden yeniye gelir. Her kart, saklandığı müşterinin referansını taşır.
Kimlik doğrulama
X-Api-Key, X-Timestamp, X-Signature, Content-Type: application/json. Ayrıntılar: Kimlik Doğrulama ve İmza.
İstek
Kayıt üç yoldan biriyle adlandırılır; en fazla biri gönderilir:
{ "token": "3b7e1f20-5c4a-4d8e-9f1b-7a6c5d4e3f21" }
{ "customer_reference": "musteri-88" }
{ "created_from": "2026-09-26", "created_to": "2026-10-02" }
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
token | string (UUID) | hayır | Kaydın token'ı. customer_reference ya da tarih aralığıyla birlikte gönderilmez. |
customer_reference | string | hayır | Müşterinin sizdeki referansı; o müşterinin bütün kartları döner. Tarih aralığıyla birlikte gönderilmez. |
created_from | string | hayır | Başlangıç günü, YYYY-MM-DD. created_to ile birlikte gönderilir. |
created_to | string | hayır | Bitiş günü, YYYY-MM-DD. created_from ile birlikte gönderilir; ondan önce olamaz. Aralık iki gün dahil en fazla 7 gündür. |
Tarihler çalışma alanının saat dilimindedir. Hiçbir alan gönderilmezse ({}) bugün dahil son 7 gün listelenir. Yanıt her zaman bir listedir; eşleşen kayıt yoksa liste boştur. Başka bir çalışma alanının kaydı hiçbir zaman dönmez.
SDK örnekleri
Örneklerdeki $client / client nesnesinin kurulumu: İstemciyi Kurmak.
- PHP
- Node.js
- Python
- Java
- cURL
use Gurmehub\Odemehub\Request\RetrieveSavedCards;
$cards = $client->retrieveSavedCards(RetrieveSavedCards::byReference('musteri-88'));
$cards->default(); // varsayılan kart, varsa
$cards->savedCards[0]->customer?->reference;
const cards = await client.retrieveSavedCards({ customerReference: 'musteri-88' });
cards.default(); // varsayılan kart ya da null
cards.savedCards[0]?.customer?.reference;
from odemehub.request import RetrieveSavedCards
cards = client.retrieve_saved_cards(RetrieveSavedCards(reference="musteri-88")) # müşterinin referansı
cards.default() # varsayılan kart, varsa
import com.odemehub.request.RetrieveSavedCards;
var cards = client.retrieveSavedCards(RetrieveSavedCards.byReference("musteri-88"));
cards.defaultCard(); // varsayılan kart, varsa
URI_PATH="/api/$ODEMEHUB_TEAM/gateway/retrieve-saved-cards"
BODY='{"customer_reference":"musteri-88"}'
TIMESTAMP=$(date +%s)
SIGNATURE=$(printf '%s\n%s\n%s\n%s' "$TIMESTAMP" "POST" "$URI_PATH" "$BODY" | openssl dgst -sha256 -hmac "$ODEMEHUB_API_SECRET" | sed 's/^.* //')
curl -X POST "https://sandbox.odemehub.com$URI_PATH" \
-H "Content-Type: application/json" \
-H "X-Api-Key: $ODEMEHUB_API_KEY" \
-H "X-Timestamp: $TIMESTAMP" \
-H "X-Signature: $SIGNATURE" \
--data-raw "$BODY"
Yanıt
{
"result": { "successful": true, "message": null },
"saved_cards": [
{
"token": "2d4f6a8c-0e1b-4c3d-9f5e-7a9b1c3d5e6f",
"payment_provider_token": "8e0a2c4b-6d1f-4e3a-b5c7-9d1e3f5a7b2c",
"holder_name": "AHMET YILMAZ",
"scheme": "mastercard",
"first_digits": "54003600",
"last_four_digit": "0003",
"expiry_month": "12",
"expiry_year": "2030",
"is_default": true,
"created_at": "2026-10-02T09:40:00.000000Z",
"customer": { "reference": "musteri-88" }
}
]
}
| Alan | Tip | Açıklama |
|---|---|---|
created_from, created_to | string | Yalnızca tarih aralığıyla (ya da boş gövdeyle) sorulduğunda: listenin kapsadığı günler. |
saved_cards[] | array | Kart nesneleri, her biri customer alanıyla. Müşteri referansıyla sorulduğunda varsayılan kart önce gelir. |
Kart nesnesi
Kayıtlı kart uçlarında ve ödeme yanıtlarındaki saved_card alanında aynı nesne döner. Kart numarasının tamamı ve güvenlik kodu hiçbir yanıtta yer almaz.
| Alan | Tip | Açıklama |
|---|---|---|
token | string | Kartın token'ı. Ödemede transaction.saved_card_token olarak gönderilir. |
payment_provider_token | string | Kartın saklandığı ödeme hesabı. Kayıtlı kartla ödeme bu hesaptan alınır. |
holder_name | string | Kart sahibinin adı. |
scheme | string | null | visa, mastercard, american_express, troy, discover, diners_club, jcb, unionpay, maestro. |
first_digits | string | Kart numarasının ilk 6 ya da 8 hanesi. |
last_four_digit | string | Kart numarasının son 4 hanesi. |
expiry_month | string | "01"–"12". |
expiry_year | string | 4 hane. |
is_default | boolean | Müşterinin varsayılan kartıysa true. Müşterinin en son ödeme yaptığı ya da en son saklanan kart varsayılan olur; abonelik dönemleri varsayılan karttan çekilir. |
created_at | string | ISO 8601 UTC. |
Bu listede her kart, saklandığı müşteriyi customer.reference olarak taşır. Diğer kart uçlarının yanıtında customer kartın yanında, üst seviyede döner ve yalnızca reference taşır.
HTTP durum kodları
| Kod | Durum |
|---|---|
200 | Liste döndü; eşleşen kayıt yoksa boş. |
401 | API anahtarı ya da imza geçersiz. |
403 | Çalışma alanı işlem yapamıyor, planı kayıtlı kartları kapsamıyor ya da Kayıtlı Kartlar modülü kapalı. |
422 | Doğrulama hatası. |
429 | İstek sınırı aşıldı. |
Hatalar
| Alan | Mesaj |
|---|---|
token | Token ile birlikte referans ya da tarih aralığı gönderilmez. |
customer_reference | Referans ile birlikte tarih aralığı gönderilmez. |
created_to | Bitiş tarihi başlangıç tarihinden önce olamaz. / Tarih aralığı en fazla 7 gün olabilir. |