Skip to main content

Payment with BKM Express

Things to do first

In order to use the BKM Express integration, you must have completed the following steps.

  1. BKM Express must be On on Merchant Panel > Administration > Merchant Settings > Craftgate Features list.

    Craftgate özellikleri listesinde BKM Express
  2. Enter the information sent to you by BKM Express on Merchant Panel > Management > Merchant Settings > BKM Express Settings section.

    Masterpass Entegrasyon Ayarları
  3. Activate BKM_EXPRESS_PAYMENT_NOTIFICATION flag on Merchant Panel > Management > Merchant Settings > Webhook Settings

    Masterpass Entegrasyon Ayarları
  4. Add the BKM_EXPESS tag to your virtual POS which you want to receive payment on Merchant Panel > Management > POS Management

    Masterpass Entegrasyon Ayarları

Payment Initiation with BKM Express

The endpoint and http method information used for BKM Express Payment Initiation is given below. You can start the BKM Express application by transmitting the created token values to the Client SDK provided by BKM.

POSTpayment/v1/bkm-express/init

Request Parameters

In this context, the parameters required to initiate a payment with BKM Express are as follows.

conversationId
string

"boomerang" value that can be sent with the request and received with the response. It can be used to associate different requests with each other. Usually, the order number is used that is stored in merchant own system.

price
decimal
required

Total basket price. The sum of the item prices in the basket must be equal to total basket price.

paidPrice
decimal
required

The final amount to be paid from the card by calculating differences such as commissions and discounts. The amount to be collected from the wallet is also included in this amount. If there is an interest in the transaction, the amount with the interest added should be entered in this parameter.

buyerMemberId
number

ID of the buyer that is returned from member creation.

currency
Currency
required
Values:
TRY
USD
EUR
GBP
CNY
ARS
BRL
AED
IQD
AZN
KZT
KWD
SAR
BHD
RUB
JPY
EGP
paymentGroup
PaymentGroup
Values:
PRODUCT
LISTING_OR_SUBSCRIPTION
paymentPhase
PaymentPhase
Values:
AUTH
PRE_AUTH
POST_AUTH
enabledInstallments
number[]

Indicates the installments to be shown in the payment step. If these installment options are not active on the pos, the installment options will not be displayed. If not sent, all installment options are returned.

bankOrderId
string

Order id parameter to be transmitted to the bank when receiving the payment. Since it is optional, it is recommended not to send it and the orderId value is generated by Craftgate.

items
PaymentItem[]
required

Payment items related to payment. You must send at least one payment item and the sum of prices must be equal to the price field.

Response Parameters

In this context, the parameters returned as a result of a payment with BKM Express are as follows.

id
string

Ticket id

token
string

BKM token value

path
string

BKM token path.

Complete Payment

After the user verifies the OTP in the BKM Express application, the order details are sent to callbackUrl by Craftgate. After making the necessary checks, a completion request is sent and the process is expected to be completed.

POSTpayment/v1/bkm-express/complete

Payment Complete Request Parameters

In this context, the parameters required to complete a payment with BKM Express are as follows.

status
boolean
required

If you want the payment to be completed successfully, true is sent; otherwise false should be sent

message
string

The message to be sent regarding the payment

ticketId
string
required

Ticket ID value of the payment

Response Parameters

Parameters returned as a result of payment are also subject to the rules specified in the Response Formats section of the API documentation home page. In the absence of a systematic or fictional error, the sub-parameters of the object returned in the data parameter are as follows:

id
number

ID of the payment.

createdDate
date

The date that payment is created

price
decimal

Basket price of the payment

paidPrice
decimal

Paid price of the payment

walletPrice
decimal

Wallet price of the payment

currency
Currency
Values:
TRY
USD
EUR
GBP
CNY
ARS
BRL
AED
IQD
AZN
KZT
KWD
SAR
BHD
RUB
JPY
EGP
buyerMemberId
number

Buyer member ID of the payment

installment
number

Installment number

conversationId
string

Value of theconversationId parameter sent in the payment request

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

paymentChannel value sent by the merchant in the payment request

isThreeDS
boolean

Indicates whether the payment is 3D Secure payment

merchantCommissionRate
decimal

Interest rate to calculate paid price that buyer will pay

merchantCommissionRateAmount
decimal

Interest amount. Equal to the difference between paidPrice and price values

bankCommissionRate
decimal

Bank commission rate

bankCommissionRateAmount
decimal

Bank commission rate amount

paidWithStoredCard
boolean

Indicates whether the payment was made with a stored card

binNumber
string

Exist for the payments fully or partially collected from the card. First 8 digits of the card

lastFourDigits
string

Exist for the payments fully or partially collected from the card. Last 4 digits of the card

cardHolderName
string

Card holder name surname

bankCardHolderName
string

Card holder name surname retrieved from bank. The return value might be null for PF poses

authCode
string

authCode value retrieved from bank related to the payment. The return value might be null for PF poses

hostReference
string

hostReference value retrieved from bank related to the payment

transId
string

transId value retrieved from bank related to the payment. The return value might be null for PF poses

orderId
string

orderId value retrieved from bank related to the payment

cardType
CardType

(See: Card Types)

Values:
CREDIT_CARD
DEBIT_CARD
PREPAID_CARD
cardAssociation
CardAssociation

Card Association

Values:
VISA
MASTER_CARD
AMEX
TROY
JCB
UNION_PAY
MAESTRO
DISCOVER
DINERS_CLUB
cardBrand
string

Brand of card. Exist for the payments fully or partially collected from the card

pos
MerchantPos

POS info that payment is received

paymentTransactions
PaymentTransaction[]

It includes the transaction information sent when making the payment request, and the pricing and money transfer information of the payment based on these transactions

Sample Codes

You can review the sample codes in the open source Craftgate API clients.

BKM Express Payment Initiation

Loading..

BKM Express Payment Complete

Loading..