3D Secure Ödeme Tamamlama

3D Secure Ödeme Başlatma

3D Model ile başlatmak için “payment_completed_by” : “merchant” olarak 3D Secure ile Ödeme servisine istek atılmalıdır.

3D Secure Ödeme Tamamlama

3D Secure ile Ödeme servisinden callback url'e dönüş parametrelerinde md_status değeri kontrol edilerek işlem başlatılmalıdır. “md_status” : 1 ise kart doğrulanmış veya “md_status” : 0 ise kart doğrulaması başarısız olduğu anlamına gelir ve tutarı karttan çekmek için /payment/complete apisini çağrılmalıdır. Bu istek yapılmadığı sürece ödeme gerçekleşmeyecektir. İşlem timeout süresine kadar beklemede kalacaktır.

Api'ye 15 dakika içerisinde sonuç iletilmez ise otomatik, "Başarısız" olarak sonuçlanır.


md_status = 1 ( Kart Doğrulandı )

md_status = 0 ( Kart Doğrulanmadı )

 

Enpoint, Headers(Başlıklar) ve Request(İstek) bilgileri aşağıda verilmiştir.

Method API Uç Noktası (Endpoint) İçerik-Türü
POST /payment/complete application/json

 

HASH KEY OLUŞTURMA

function generateConfrimPaymentHashKey($merchant_key, $invoice_id, $order_id,  $status, $app_secret)
{

    $data = $merchant_key . '|' . $invoice_id . '|' . $order_id . '|' . $status;

    $iv = substr(sha1(mt_rand()), 0, 16);
    $password = sha1($app_secret);

    $salt = substr(sha1(mt_rand()), 0, 4);
    $saltWithPassword = hash('sha256', $password . $salt);

    $encrypted = openssl_encrypt(
        "$data", 'aes-256-cbc', "$saltWithPassword", null, $iv
    );
    $msg_encrypted_bundle = "$iv:$salt:$encrypted";
    $msg_encrypted_bundle = str_replace('/', '__', $msg_encrypted_bundle);
    return $msg_encrypted_bundle;
}

Örnek Kodlar

{

"merchant_key": "$2y$10$w/ODdbTmfubcbUCUq/ia3OoJFMUmkM1UVNBiIQIuLfUlPmaLUT1he",
"invoice_id": "9a197ed9-cfaf-4456-b0fc-da74a95f461c",
"order_id": "166254527653758",
"status": "complete",
"hash_key": "36a50210c8b2f19e:11629:eHBA0moN..."

}