Desired values are posted and transactions are redirected to Nkolay Hosted Payment page. Card information goes directly to Nkolay servers, security is provided by Nkolay. iFrame integration can be done within the site.
Payment link is sent to the card user via SMS or email. User clicks the link and is redirected to Nkolay Hosted Payment page, transactions are performed here.
Merchant collects card information on their own page and processes transactions via Nkolay API. In this structure, since card information is collected by the merchant, PCI DSS requirements belong to the merchant.
The parameters you can POST to the service are as follows. All parameters must be sent in the request body using standard HTML Form Post method.
Application Flow:
Validity check is performed on the information you send in the form, if there is missing or incorrect information, an error message is returned and the flow ends.
The information you send in the form is checked. If it is not correct, the flow ends with an error message.
If the information you send in the form is correct, the form where credit card information will be entered is displayed.
After entering credit card information in the form, installment options are displayed when leaving this field. Single payment is selected as default.
After entering all credit card information and selecting the appropriate installment option, the payment transaction is performed by pressing the “Complete Payment” button.
If the payment transaction will be 3D, the flow is redirected to the 3D page, if not 3D, it is directly concluded.
If the payment transaction is successfully concluded, successful result values are posted to the “successUrl” page and redirected.
If the transaction fails, failed transaction information is posted to the “failURL” page.
Name
Type
Description
Required
Example Value
sx
string
Login code required for Web Service. Required parameters are encrypted within the code. This field will be provided to you by the Payment organization. (Also referred to as Token value)
*Required
114488219
amount
decimal
Payment amount. Decimal separator should be . (dot).
*Required
1280.10 (dot should be used as decimal separator)
clientRefCode
string
Your own reference number. (Should not contain Turkish characters. Can be up to 1024 characters.)
*Required
Example: 5231As-FE2A36
successUrl
string
We post the result of successful transactions to this page.
If you want to show the remaining time in your cart (session timeout period) in the Virtual POS, you can post the remaining seconds. We show the remaining seconds for your cart as a countdown on our page. When time expires, we disable the payment button.
Optional
600
cardcampaign
string
If desired, you can run campaigns for Visa, Master Cards. You need to send parameter 4 for Visa cards, 5 for MasterCard. If the customer’s credit card number is not the relevant digit, the customer is warned and only cards starting with the card number you want are allowed for payment.
Optional
4 (Visa) or 5 (Master Card)
bin
string
If desired, you can only accept transactions from specific card bins. (First 6 digits of the card.) You can send a single card bin, or multiple bins separated by pipe
sign.
Optional
language
string
For language option, “en” for English, “ru” for Russian should be entered. If no parameter is sent, the language is Turkish.
Optional
en
detail
string
If sent as “true” to the hosted payment page, input fields that you can get from your customer (Name Surname (inputNamesurname), TC Identity No (inputTckn), Mobile Phone (inputPhone), Email Address (inputEmail), Description (inputDescription) and Address (inputAddress)) will appear on the hosted payment page. If you POST these input fields to us with other variables, we automatically fill the Description fields. If you send this information via API, parameter names should be as follows: (tckn,email,address,phone,namesurname,description) It is not mandatory to send these fields filled. You can access the information sent via API from your panel.
Optional
true
agentCode
string
If the transaction is made through a sub-dealer, you can send your sub-dealer’s code with this value.
Optional
7683323
use3D
string
If “true” is sent, it performs the transaction as 3D secure regardless of the 3D secure limit. If sent empty, the current 3D transaction limit is applied.
*Required
true
transactionType
string
You can process as “sales” or “presales” provision.
*Required
sales
rnd
string
You need to send us the transaction date with the DateTime.Now function. (This value will be posted back to you in the transaction result.)
*Required
09-08-2021 15:24:22
instalments
string
If installments are entered, the payment transaction will be made with that number of installments. For example: entering 2 is 2 installments. If 1 is entered, payment transactions will be made as single payment (no installments) If left empty, installments will come according to default payment settings.
Optional
hashData
string
With PHP: $hashstr = $sx . $clientRefCode . $amount . $successUrl . $failUrl . $rnd . $merchantSecretKey; $hashData = base64_encode(pack(‘H*‘,sha1($hashstr))); .net calculation is given in Hash Request and Response pages in the left menu.
*Required
BH51O7coM4dtd/WoRMNg4o8H2XPI=
hashDataV2
string
With PHP: $hashstr = $sx . "
" . $clientRefCode . "
" . $amount . "
MerchantCustomerNo
string
With MerchantCustomerNo you can send your dealer or sub-member merchant number to the virtual pos. You can search your transactions by this number under the Customer Number heading from your Pay N Kolay panel. (It is useful to use when clientRefCode is long and complex.)
Optional
93423410
customerKey
string
This value must be sent to enable card storage with the hosted payment page. If the cardholder makes their transaction with “Pay and Save Card”, the card is saved and the tranId value is given in the service response.
Optional
13813813813
ECOMM_PLATFORM
string
If you are developing software as B2B, you can write the name of your own platform.
Optional
Cetvel Software
pIsCommissionPaidByCustomer
string
If 0 is sent, bank commission is reflected to the customer, if 1 is sent, it is reflected to the merchant.
Optional
1
currencyCode
string
If this value is not sent, the transaction is performed in Turkish Lira (TL) by default. If you want to accept payment in foreign currency, you can send ‘840’ for USD, ‘978’ for EUR. The default currency code is ‘949’ for TL. To process in foreign currency, you must have a foreign currency account with Aktif Bank.