3D Model ile Ödeme

3D Model'i kullanmak için “payment_completed_by” : “merchant” olarak paySmart3D apisine istek atılmalıdır. paySmart3D apisinden “md_status” : 1 dönmesi kartın doğrulandılığı anlamına gelir ve tutarı karttan çekmek için /payment/complete apisini çağrılması gereklidir.

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

paySmart3D yönlendirmeden gelen istek üzerinden md_status değeri kontrol edilerek işlem başlatılmalıdı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..."

}