Ana içeriğe geç

Ödeme Alma

URL

Ödeme almak için kullanılan endpoint ve http metod bilgisi aşağıda verilmiştir.

POST/payment/v1/card-payments

İstek Parametreleri

Ödeme gerçekleştirmek için yapılacak isteklerde gönderilmesi beklenen parametreler aşağıdaki tablo ve alt başlıklar altında listelenmiştir.

conversationId
string

İstekle beraber gönderilip, cevapla birlikte alınabilecek, "bumerang" değer. Farklı istekleri birbirleriyle ilişkilendirmek için kullanılabilir. Genellikle üye işyerinin ödemeye ilişkin sipariş numarası kullanılır. Sipariş numarası ile kullanmanız sonradan işlemleri incelemenize yardımcı olacaktır.
Veri içinde güvenlik sorunu yaratabilecek özel karakterler kullanılmamalıdır. Veri + veya - karakteri ile başlayamaz, ancak içerisinde kullanılabilir.

externalId
string

Genellikle üye işyeri tarafındaki, ödemeye ilişkin sipariş numarası veya sepet numarası olarak kullanılır. Daha sonradan sorgulama servislerinde bu id ile sorgulama yapabilirsiniz.
Veri içinde güvenlik sorunu yaratabilecek özel karakterler kullanılmamalıdır. Veri + veya - karakteri ile başlayamaz, ancak içerisinde kullanılabilir.

price
decimal
zorunlu

Toplam ödeme tutarı. Sepetteki ürün/hizmet tutarları toplamının bu tutara eşit olması gerekmektedir

paidPrice
decimal
zorunlu

Komisyon ve indirim gibi farklar dahil edilerek hesaplanan, karttan çekilecek nihai tutar. Tamamı ya da bir kısmı cüzdandan tahsil edilen ödemelerde cüzdandan tahsil edilecek tutar da bu tutara dahildir. İşlemde vade farkı var ise vade farkı eklenmiş tutar bu parametreye girilmelidir.

walletPrice
decimal
zorunlu

buyerMemberId parametresinde belirtilen alıcının cüzdanından tahsil edilecek tutar. Kısmen ya da tamamen cüzdandan tahsil edilecek ödemelerde gönderilmesi zorunludur. Tamamı karttan tahsil edilecek ödemelerde ya da bir buyerMemberId bulunmadığı durumda 0 olarak gönderilebilir.
(Varsayılan: 0)

installment
number
zorunlu

Ödemenin tahsil edileceği taksit sayısı. Tek çekim için 1 olarak gönderilebilir.

buyerMemberId
number

Ödemenin ilişkilendirildiği alıcı ID'si. Üye işyerinin kendi sistemlerindeki ID değerini değil, Craftgate sistemlerindeki ID değerini ifade eder

currency
Currency
zorunlu

bkz: Para Birimleri Ödemenin tahsil edileceği para birimi

Değerler:
TRY
USD
EUR
GBP
CNY
ARS
BRL
AED
IQD
AZN
KZT
KWD
SAR
BHD
RUB
JPY
EGP
paymentGroup
PaymentGroup
Değerler:
PRODUCT
LISTING_OR_SUBSCRIPTION
paymentPhase
PaymentPhase
Değerler:
AUTH
PRE_AUTH
POST_AUTH
paymentChannel
string

Genellikle üye işyeri tarafındaki, ödemenin alındığı kanal veya ödemeye özel bir bilgi tutmak için kullanılır. Daha sonradan sorgulama servislerini kullanarak bu değer ile sorgulama yapabilirsiniz.

bankOrderId
string

Ödeme alınırken bankaya iletilecek orderId parametresi. Opsiyonel olduğu için gönderilmemesi ve orderId değerinin Craftgate tarafından üretilmesi önerilir.

clientIp
string

Ödeme yapan alıcının IP adresi.

card
Card

(bkz. Kart Bilgileri) Tahsilatın gerçekleştirileceği kart bilgileri. Ödeme yöntemine göre ileteceğiniz zorunlu alanlar değişkenlik gösterebilir. Tamamı cüzdandan tahsil edilecek ödemelerde (yani paidPrice'in walletPrice'a eşit olduğu ödemeler) gönderilmemelidir

posAlias
string

Ödemeyi geçirmek istediğiniz pos'un alias değeri. Ödemenin geçeceği pos'a kendiniz karar verdiyseniz bu parametre ile ilgili posdan ödeme alabilirsiniz.

retry
boolean

Bazı ödeme hatalarından(invalid transaction, do not honour vs) sonra otomatik olarak ikinci bir pos ile denenip denenmeyeceğine karar verebilirsiniz.

Varsayılan:
true
fraudParams
FraudCheckParameters

Fraud kontrolü için gönderilebilecek ek parametreler

items
PaymentItem[]
zorunlu

Ödemeye ilişkin kırılım bilgileri. En az bir kırılım gönderilmesi ve gönderilen kırılımların tutarlarının toplamının price alanına eşit olması zorunludur

additionalParams
map<string, object>

Ödemeye ait gönderilmek istenen ek parametreler. bkz: Ödeme Ek Parametreleri

Kart Bilgileri

Tamamı ya da bir kısmı kartla yapılan ödemelerde kart bilgisi gönderilmesi zorunludur. Bu bilgiler bir kredi kartı, debit kart ya da prepaid kartın bilgileri olabileceği gibi, daha önceden saklanmış bir karta ilişkin tanımlayıcı bilgiler de olabilir.

Gönderilen kart bilgilerindeki cardUserKey alanı doluysa Saklı Kart Bilgileri bölümündeki alanlar geçerlidir, diğer durumlar için bkz. Kredi Kartı, Debit Kart ya da Prepaid Kart Bilgileri.

Kredi Kartı, Debit Kart ya da Prepaid Kart Bilgileri

cardAlias
string

Başarılı ödemeden sonra kart kaydedilecekse karta verilecek isim

cardHolderName
string
zorunlu

Kart sahibinin adı/soyadı

cardNumber
string
zorunlu

Kart numarası

expireYear
string
zorunlu

Kartın son kullanım tarihinin yılı

expireMonth
string
zorunlu

Kartın son kullanım tarihinin ayı

cvc
string
zorunlu

Kart güvenlik kodu

storeCardAfterSuccessPayment
boolean

Ödeme sonrası kart kaydedilsin mi? (Varsayılan: false)

cardUserKey
string

Daha önceden kart sakladıysanız, Craftgate tarafından üretilip size dönülen kart kullanıcı anahtarını bu parametrede göndermelisiniz. İlk defa kart saklanıyor ise bu alan gönderilmemelidir.

loyalty
Loyalty

Ödeme esnasında kullanılmak istenen ödül bilgileri. Detaylı bilgilere Ödül ve Puan Kullanımı adresinden ulaşabilirsiniz.

Saklı Kart Bilgileri

cardUserKey
string
zorunlu

Kart kullanıcı anahtarı. Craftgate tarafından üretilir ve kart saklama isteği sonrası üye işyerine dönülür.
Kişi bazlı özeldir. Örneğin; Alican kişisi cardUserKey ile ifade edilir.

cardToken
string
zorunlu

Kart anahtarı. Craftgate tarafından üretilir ve kart saklama isteği sonrası üye işyerine dönülür. Kart bazlı özeldir.
CardUserKey ile birlikte kullanılır. Örneğin; Alican(cardUserKey) kişisinin Garanti Kredi kartı(cardToken) gibi.

loyalty
Loyalty

Ödeme esnasında kullanılmak istenen ödül bilgileri. Detaylı bilgilere Ödül ve Puan Kullanımı adresinden ulaşabilirsiniz.

Ödeme Ek Parametreleri

msisdn
String

Paycell ile ödeme gerçekleştirebilmek için gönderilecek olan telefon numarası bilgisidir.

Dönüş Parametreleri

Ödeme işleminin sonucunda dönen parametreler de API dokümantasyonu giriş sayfasındaki Dönüş Formatları bölümünde belirtilen kurallara tabidir. Sistemsel ya da kurgusal bir hata bulunmadığı durumda data parametresinde dönen objenin alt parametreleri aşağıdaki gibidir:

id
number

Ödemenin ID'si. Bu değer ödeme isteği için Craftgate tarafından belirlenen eşsiz değerdir. Veritabanınızda sipariş bilgileri ile eşleştirip saklamayı unutmayınız.

createdDate
date

Ödemenin gerçekleştirildiği tarih

price
decimal

Ödemenin toplam sepet tutarı

paidPrice
decimal

Müşterinin ödediği toplam tahsilat tutarı. Tamamı ya da bir kısmı cüzdandan tahsil edilen ödemelerde cüzdandan tahsil edilecek tutar da bu tutara dahildir

walletPrice
decimal

Cüzdandan tahsil edilen tutar

currency
Currency

Ödemeye ilişkin para birimi. bkz: Para Birimleri

Değerler:
TRY
USD
EUR
GBP
CNY
ARS
BRL
AED
IQD
AZN
KZT
KWD
SAR
BHD
RUB
JPY
EGP
buyerMemberId
number

Alıcı üyeyle ilişkilendirilmiş ödemelerde yer alan, ilgili üyenin ID'sini belirten değer

installment
number

Ödemenin taksit sayısı

conversationId
string

Üye işyeri tarafından ödeme isteği içerisinde gönderilen conversationId değeri

externalId
string

Üye işyeri tarafından ödeme isteği içerisinde gönderilen externalId değeri

paymentType
PaymentType
Değerler:
CARD_PAYMENT
DEPOSIT_PAYMENT
WALLET_PAYMENT
CARD_AND_WALLET_PAYMENT
BANK_TRANSFER
APM
paymentGroup
PaymentGroup
Değerler:
PRODUCT
LISTING_OR_SUBSCRIPTION
paymentSource
PaymentSource
Değerler:
API
CHECKOUT_FORM
PAY_BY_LINK
paymentStatus
PaymentStatus
Değerler:
FAILURE
SUCCESS
INIT_THREEDS
CALLBACK_THREEDS
WAITING
paymentPhase
PaymentPhase
Değerler:
AUTH
PRE_AUTH
POST_AUTH
paymentChannel
string

Üye işyeri tarafından ödeme isteği içerisinde gönderilen paymentChannel değeri

isThreeDS
boolean

Ödemenin 3D Secure ile gerçekleştirilip gerçekleştirilmediği

merchantCommissionRate
decimal

Son kullanıcıya yansıtılan vade farkı oranı

merchantCommissionRateAmount
decimal

Son kullanıcıya yansıtılan vade farkı tutarı. paidPrice ile price arasındaki farka eşittir

bankCommissionRate
decimal

Banka komisyon oranı

bankCommissionRateAmount
decimal

Banka komisyon tutarı

cardUserKey
string

Ödeme esnasında kart saklanmak istenmiş ise kart saklanır ve bu alan dolu gelir. Başarılı ödeme sonrası kaydedilen kartın saklı kart kullanıcı anahtarını ifade eder. Üye işyeri tarafından müşteriyle ilişkilendirilerek saklanmalıdır

cardToken
string

Ödeme esnasında kart saklanmak istenmiş ise kart saklanır ve bu alan dolu gelir. Başarılı ödeme sonrası kaydedilen kartın saklı kart anahtarını ifade eder. Üye işyeri tarafından müşteriyle ilişkilendirilerek saklanmalıdır

paidWithStoredCard
boolean

Ödemenin saklı kartla gerçekleştirilip gerçekleştirilmediğini belirtir

binNumber
string

Kartın ilk 8 hanesini belirtir. Tamamı cüzdan ile ödenen ödemelerde boş gelir.

lastFourDigits
string

Kartın son 4 hanesini belirtir. Tamamı cüzdan ile ödenen ödemelerde boş gelir

cardHolderName
string

Kart sahibinin adı/soyadı

bankCardHolderName
string

Bankada kayıtlı olan kart sahibi adı/soyadı. Bazı durumlarda PF poslarında dönüş null olabilir

authCode
string

Ödemeye ilişkin banka tarafından verilen authCode değeri. Tamamı cüzdan ile ödenen ödemelerde boş gelir. Bazı durumlarda PF poslarında dönüş null olabilir

hostReference
string

Ödemeye ilişkin banka tarafından verilen hostReference değeri. Tamamı cüzdan ile ödenen ödemelerde boş gelir

transId
string

Ödemeye ilişkin banka tarafından verilen transId değeri. Tamamı cüzdan ile ödenen ödemelerde boş gelir. Bazı durumlarda PF poslarında dönüş null olabilir

orderId
string

Ödemeye ilişkin banka tarafından verilen orderId değeri

cardType
CardType

(bkz: Kart Tipleri) Kartın tipini ifade eder. Tamamı cüzdan ile ödenen ödemelerde boş gelir

Değerler:
CREDIT_CARD
DEBIT_CARD
PREPAID_CARD
cardAssociation
CardAssociation

Kartı sağlayan kart kuruluşuunu ifade eder. Tamamı cüzdan ile ödenen ödemelerde boş gelir

Değerler:
VISA
MASTER_CARD
AMEX
TROY
JCB
UNION_PAY
MAESTRO
DISCOVER
DINERS_CLUB
cardBrand
string

Ödemenin alındığı kartın ailesini belirtir. Tamamı cüzdan ile ödenen ödemelerde boş gelir

requestedPosAlias
string

Üye işyeri tarafından ödeme isteği içerisinde gönderilen posAlias değeri

pos
MerchantPos

Ödemenin alındığı pos bilgileri

loyalty
Loyalty

Ödemede kullanılmış olan ödül bilgileri (bkz: Ödül ve Puan Kullanımı)

fraudId
number

Şüpheli işlem olarak belirlenmesi durumunda şüpheli işlem kaydına ait id bilgisi (bkz: Şüpheli İşlem Yönetimi)

fraudAction
FraudAction

Şüpheli işlem olarak belirlenmesi durumunda şüpheli işlem kaydına ait aksiyon bilgisi (bkz: Şüpheli İşlem Aksiyonları)

Değerler:
BLOCK
REVIEW
paymentTransactions
PaymentTransaction[]

Ödeme isteği yapılırken gönderilen kırılım bilgileri ile, ödemenin bu kırılımlar bazındaki fiyatlama ve para gönderimi bilgilerini içerir

additionalData
map<string, map>

Ödeme sonucuna ilişkim ek bilgiler.

Örnek Kodlar

Açık kaynak kodlu Craftgate API client'larındaki örnek kodları inceleyebilirsiniz.

Loading..