3D olmayan işlemlerin dönüş parametreleri:
"RESPONSE_CODE=2&RESPONSE_DATA=İşlem Başarılı&USE_3D=false&RND=1630051651137&MERCHANT_NO=400000001&AUTH_CODE=S00586&REFERENCE_CODE=IKSIRPF102168&CLIENT_REFERENCE_CODE=42794212&TIMESTAMP=2021-08-27&TRANSACTION_AMOUNT=1.00&AUTHORIZATION_AMOUNT=1.00&COMMISION=0.00000000&COMMISION_RATE=null&INSTALLMENT=1&hashData=bjb49lGdnE2D/D5Jze2/sn7Xfk0="
3D Ön Onay

3D onayından sonra, size bankadan gelen ilk onayı gönderiyoruz. Bu onay para çekildiği anlamına gelmemektedir, bankadan gelen ön onaydır.

Başarılı ön onay successUrl olarak girdiğiniz linke post edilir. İşlem başarısız olursa failUrl olarak girdiğiniz linke dönüş yapılacaktır.

Örnek ön onay ( Urldecode edilmelidir. Urldecode hali aşağıdaki gibidir. ):

3D Ön Onay Parametreleri

RESPONSE_CODE : 2
RESPONSE_DATA : İşlem Başarılı.
REFERENCE_CODE : YPsvysCzU936bJ8AnntVMvGEbjOfODCEzdkB5QrTAb2R7LmscfXcctEcbnceJiSorYOb3ipBGRK6aSpbeib1nXM3U48=
USE_3D : true
MERCHANT_NO : 400000002
AUTH_CODE :
CLIENT_REFERENCE_CODE : 24809740
TIMESTAMP : 2022-02-24 13:58:36.353
TRANSACTION_AMOUNT : 1.00
AUTHORIZATION_AMOUNT : 1.00
COMMISION : 0.00
COMMISION_RATE : 0.0000
INSTALLMENT : 1
RND : 1645700316156
hashData : +wDy2xeI1hOCnwaatSqylWhtj9E=

Burada size RESPONSE_CODE= 2 dönülmüşse ön onay işlemi başarılı demektir. ( Ön onay alınmıştır) Ödeme işlemini tamamlamak için sx değerinizle birlikte REFERENCE_CODE’u aşağıdaki linke form datası olarak body’de post etmeniz gerekmektedir.

TEST linki : https://paynkolaytest.nkolayislem.com.tr/Vpos/Payment/CompletePayment
PROD linki : https://paynkolay.nkolayislem.com.tr/Vpos/Payment/CompletePayment

'REFERENCE_CODE'u para çekme işlemini tamamlamak için şu şekilde post edebilirsiniz.

PHP ile İşlemi Tamamlama (CompletePayment Metodu)

echo "REFERENCE_CODE: " . $REFERENCE_CODE = $_POST['REFERENCE_CODE'];
$ch = curl_init();
$arrData = array(
  "sx" => "114488219|SjEH1wb6qoqWtN2X9/5Y6sVy/JxniIbR01EKWRcHxPl0iAjkadGNaNAEV5l6O3tjzcPEiFOO8OwCSb6dzo/fN/2zyv7sVbweqJvgKr7cWnMwPIgqipXBk+B7Z4bFqmeD1LlUgNMXdstufUNxmCHIfb3nT0NDrfScCxlQX8H1YYPvcNE+oTtci3fB+X/fpYec0Gu2JPAIzG74pQN07MmdHq+GSR73+RkAjMi0cP4pfjNf6C/0Igc6qcnTtYH9YIJIpRxySQ==",
  "referenceCode" => $REFERENCE_CODE
);
curl_setopt($ch, CURLOPT_URL,"https://paynkolaytest.nkolayislem.com.tr/Vpos/Payment/CompletePayment");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $arrData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec($ch);
var_dump($server_output);
.NET ile İşlemi Tamamlama (CompletePayment Metodu)

var refCode = formCollection["REFERENCE_CODE"];
var formContent = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("sx", SxDegeri),
new KeyValuePair<string, string>("referenceCode", refCode)
});
var client = new HttpClient();
var response = await client.PostAsync(PaymentConfirmUrl, formContent);
string responseJson = await response.Content.ReadAsStringAsync();
  
PHP ile İşlemi Tamamlama (CompletePayment Metodu)

Başarılı post işlemi sonrası ödeme alınır ve sonuç yine aynı sayfaya Json formatında dönülür. RESPONSE_CODE = 2 olması işlemin başarılı olduğu anlamına gelir fakat AUTH_CODE boş olmamalıdır. İşlemin başarılı olup olmadığı kontrol edilirken AUTH_CODE kontrolü de mutlaka yapılmalıdır. ( Bankadan gelen onay kodudur.)

Son Dönüş Parametreleri JSON Decode Hali

array(1) { ["result"]=> string(1624) "{"REFERENCE_CODE":"IKSIRPF100943140","AUTH_CODE":"28397","COMMISION":"0.0200","COMMISION_RATE":"1.6600","INSTALLMENT":"1","AUTHORIZATION_AMOUNT":"1.00","BANK_CODE":"062","TRANSACTION_AMOUNT":"1.00","CLIENT_REFERENCE_CODE":"24809740","BANK_RESULT":"PROVAUTPROVAUT10164904446845212.115.7.3IKSIRPF1009431401EPOST ELEKTRONİKHOST0000Approved20550121050402839700242100270620220224 13:58:37413252******3232ÖM* ÇI*YIKKBB5491A642542BC2BF6788316EA6D3352CA90BECN","TDSECURE_TYPE":"true","BANK_MESSAGE":"Approved","BANK_CARD_HOLDER_NAME":"ÖM* ÇI*","RESPONSE_CODE":2,"ERROR_CODE":null,"RESPONSE_DATA":"İşlem Başarılı","sessionId":"53e05285-756e-49b8-a6fd-4f326c6476f8","CORE_TRX_ID_RESERVED":"4F351A07-D97F-48D9-864B-5F004F864618","ERROR_MESSAGE":""}" }

PHP İşlem Dönüş Parametrelerine Erişim


$server_output = curl_exec($ch);
$obj = json_decode($server_output);
$sub_obj = json_decode($obj->result);
echo "<br>RESPONSE_CODE:  " . $RESPONSE_CODE= ($sub_obj->RESPONSE_CODE);
echo "<br>RESPONSE_DATA:  " . $RESPONSE_DATA= ($sub_obj->RESPONSE_DATA);
echo "<br>REFERENCE_CODE:  " . $REFERENCE_CODE= ($sub_obj->REFERENCE_CODE);
echo "<br>COMMISION:  " . $COMMISION= ($sub_obj->COMMISION);
echo "<br>COMMISION_RATE:  " . $COMMISION_RATE= ($sub_obj->COMMISION_RATE);
echo "<br>AUTHORIZATION_AMOUNT:  " . $AUTHORIZATION_AMOUNT= ($sub_obj->AUTHORIZATION_AMOUNT);
echo "<br>TRANSACTION_AMOUNT:  " . $TRANSACTION_AMOUNT= ($sub_obj->TRANSACTION_AMOUNT);
echo "<br>BANK_CODE:  " . $BANK_CODE= ($sub_obj->BANK_CODE);
echo "<br>CLIENT_REFERENCE_CODE:  " . $CLIENT_REFERENCE_CODE= ($sub_obj->CLIENT_REFERENCE_CODE);
echo "<br>BANK_RESULT:  " . $BANK_RESULT= ($sub_obj->BANK_RESULT);
echo "<br>ERROR_MESSAGE:  " . $ERROR_MESSAGE= ($sub_obj->ERROR_MESSAGE);
echo "<br>BANK_MESSAGE:  " . $BANK_MESSAGE= ($sub_obj->BANK_MESSAGE);