3D Secure ile Ödeme

paySmart3D API, Paybull ödeme entegrasyon sistemine sipariş ve kredi kartı ayrıntı bilgilerini göndermek için kullanılır. Üye işyeri web sitesi ödeme formunu gönderdikten sonra kullanıcı banka sayfasına yönlendirilecektir. Ödeme, banka ağ geçidinde bir SMS koduyla doğrulanacaktır. Ödeme başarılı olduktan sonra, kullanıcı üye iş yerinin başarı URL'sine yönlendirilecektir, aksi takdirde üye iş yeri tarafından belirlenen iptal URL'ne yönlendirilecektir.

/api/paySmart3D URL'ine AJAX isteğini göndermeyiniz. Normal form gönderimi olmalıdır.

 

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

Method API Uç Noktası (Endpoint) İçerik-Türü
POST /api/paySmart3D application/x-www-form-urlencoded

 

HASH KEY OLUŞTURMA

function generateHashKey($total, $installment, $currency_code, $merchant_key, $invoice_id, $app_secret)
{
    $data = $total . '|' . $installment . '|' . $currency_code . '|' . $merchant_key . '|' . $invoice_id;

    $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

payment_status = 1 Tamamlandı ,payment_status = 0 Başarısız


<form target="_top" action="https://test.paybull.com/ccpayment/api/paySmart3D" method="post" id="three_d_form">
    <input type="hidden" name="cc_holder_name" value="John Dao"/>
    <input type="hidden" name="cc_no" value="4508034508034509"/>
    <input type="hidden" name="expiry_month" value="12"/>
    <input type="hidden" name="expiry_year" value="26"/>
    <input type="hidden" name="cvv" value="000"/>
    <input type="hidden" name="currency_code" value="TRY"/>
    <input type="hidden" name="installments_number" value="1"/>
    <input type="hidden" name="invoice_id" value="PAYBULL-INVOICE-1"/>
    <input type="hidden" name="invoice_description" value="INVOICE TEST DESCRIPTION"/>
    <input type="hidden" name="name" value="John"/>
    <input type="hidden" name="surname" value="Dao"/>
    <input type="hidden" name="total" value="10.00"/>
    <input type="hidden" name="merchant_key" value="$2y$10$w/ODdbTmfubcbUCUq/ia3OoJFMUmkM1UVNBiIQIuLfUlPmaLUT1he"/>
    <input type="hidden" name="cancel_url" value="FAIL URL"/>
    <input type="hidden" name="return_url" value="SUCCES URL"/>
    <input type="hidden" name="hash_key" value="32d54deec44e1d10:b45b:FCi9MQ...."/>
    <input type="hidden" name="items" value='[{"name":"URUN","price":10.00,"quantity":1,"description":"ACIKLAMA"}]'/>
    <input type="submit" value="Öde" />
</form>