Ana içeriğe geç

BKM Express ile Ödeme Alma

Öncelikle Yapılması Gerekenler

BKM Express ile ödeme almak için şu adımları tamamlamış olmalısınız.

  1. Üye İşyeri Paneli > Yönetim > Üye İşyeri Ayarları > Craftgate Özellikleri listesinde BKM Express Açık olmalıdır.

    Craftgate özellikleri listesinde BKM Express
  2. Üye İşyeri Paneli > Yönetim > Üye İşyeri Ayarları > BKM Express Ayarları bölümüne BKM Express tarafından size iletilmiş bilgileri giriniz.

    BKM Express Ayarları
  3. Üye İşyeri Paneli > Yönetim > Üye İşyeri Ayarları >Webhook Ayarları bölümünden BKM_EXPRESS_PAYMENT_NOTIFICATION etkinleştirilmelidir.

    BKM Express Ayarları
  4. Üye İşyeri Paneli > Yönetim > POS Yönetimi ekranından ödeme almak istediğiniz Sanal Posunuzda BKM_EXPESS etiketini ekleyiniz.

    BKM Express Ayarları

BKM Express Ödeme Başlatma

BKM Express Ödeme Başlatma için kullanılan endpoint ve http metod bilgisi aşağıda verilmiştir. Oluşturulan token değerlerini BKM tarafından sağlanan Client SDK'ya ileterek BKM Express uygulamasını başlatabilirsiniz.

POSTpayment/v1/bkm-express/init

İstek Parametreleri

Ödeme başlatmak 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.

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
paymentGroup
PaymentGroup
zorunlu
Değerler:
PRODUCT
LISTING_OR_SUBSCRIPTION
paymentPhase
PaymentPhase
Değerler:
AUTH
enabledInstallments
number[]

Eğer yollanırsa kullanıcıya bu değerlere ait taksit olanakları ödeme ekranında gösterilir. Eğer ilgili pos üzerinde bu taksit seçenekleri aktif değilse taksit seçenekleri gösterilmez. Tek taksit seçeneği her zaman varmış gibi kabul edilir. Yollanmadığı durumda tek taksit seçeneği geçerlidir.

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

Ödeme başlatma sonucunda dönen parametreler de aşağıdaki gibidir:

id
string

Ticket id

token
string

BKM token değeri

path
string

BKM token path'i.

Ödeme Tamamlama

BKM Express uygulamasında kullanıcı OTP doğrulaması yaptıktan sonra Craftgate tarafından callbackUrl'e siparişe ait detaylar iletilir. Gerekli kontrolleri yaptıktan sonra tamamlama isteği gönderilerek sürecin tamamlanması beklenir.

POSTpayment/v1/bkm-express/complete

İstek Parametreleri

Ödemeyi tamamlamak için yapılacak isteklerde gönderilmesi beklenen parametreler aşağıda listelenmiştir.

status
boolean
zorunlu

Ödemenin başarılı olarak tamamlanmasını istiyorsanız true; aksi durumda false gönderilmelidir

message
string

Ödemeye ait gönderilmek istenen mesaj

ticketId
string
zorunlu

Ödemeye ait ticket id değeri

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

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
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ı

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

pos
MerchantPos

Ödemenin alındığı pos bilgileri

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

BKM Express Ödeme Başlatma

Loading..

BKM Express Ödeme Tamamlama

Loading..