Ana içeriğe geç

Juzdan ile Ödeme Alma

Juzdan ile ödeme almak için ilk adım olarak Craftgate'de ödeme başlatılması gerekir. Bu servisin dönüşünde gelen QR url'i üye işyeri browser'da açar. Sonrasında kullanıcı Juzdan mobil uygulaması üzerinden bu QR kodu okutarak, kayıtlı kartlarından birisini seçerek ödeme işlemini tamamlar. Kullanıcı, ödeme başlatma isteği içerisinde verilmiş olan üye işyeri callback URL adresine referenceId parametresi ile birlikte yönlendirilir. Sonrasında üye işyeri craftgate'in ödeme sorgulama servisini çağırıp ödeme durumunu doğrular.

Juzdan ile Ödeme Başlatma

URL

Juzdan ile QR url'i oluşturmak için gerekli olan parametreler aşağıda verilmiştir.

POST/payment/v1/juzdan-payments/init

Ödeme Başlatma İsteği Parametreleri

callbackUrl
string
zorunlu

Tamamlanan ödeme sonucunda referans ID'yi üye işyerine iletmek için kullanılacak adres.

clientType
string

Ödeme web tarafından yapılacak ise "W" mobil tarafından yapılacak ise "M" şeklinde gönderilmelidir.

loanCampaignId
string

Kampanya ID'si

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.

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.

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

Dönüş Parametreleri

Juzdan ile ödeme başlatma işleminin sonucunda dönen parametreler 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:

referenceId
string

Ödemenin unique id bilgisi

juzdanQrUrl
string

Juzdan tarafından oluşturulmuş olan QR URl'i

Callback URL'e İletilen Parametreler

Aşağıdaki parametreler form variable olarak HTTP POST metodu kullanılarak iletilir. Doğrulama sonrası Craftgate tarafından callbackUrl'e yapılacak istekte yer alan parametreler aşağıdaki gibidir:

referenceId
string

Ödemenin unique id bilgisi

Ödeme Sorgulama

Ödeme sonucu üye işyerinin callback url'ine iletildikten sonra, üye işyeri craftgate'in ödeme sorgulama servisi çağırarak ödemenin statüsunu ve diğer bilgilerini görüntüleyebilir.

URL

Juzdan ödemesini sorgulamak için aşağaki url'e parametre olarak referenceId verilerek sorgulama gerçekleştirebilirsiniz.

GET/payment/v1/juzdan-payments/{referenceId}

Ödeme Sorgulama Sonucu Dönen Parametreler

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.