Transfer Talimatının Sonucunun Alınması (Opsiyonel)

PAYTR sistemi, transfer işlemlerinin sonuçlanması sonrası Mağazanın belirlediği URL’e bilgi verir.

İstek (REQUEST) yapılacak URL: Platform Transfer Sonucu Bildirim URL (Mağaza Paneli > Destek & Kurulum > AYARLAR sayfasına Mağaza tarafından girilmelidir))

Token üretiminde kullanılacak veriler

Alan adı / tipi Açıklama Zorunlu Kısıtlar
trans_id Transfer talebinde belirttiğiniz trans_id değerlerini içeren JSON string Evet -
merchant_salt PayTR Mağaza Paneli > Destek & Kurulum > Entegrasyon Bilgileri sayfası üzerinden ulaşabileceğiniz, mağazanıza özgü değer. Evet -
merchant_key PayTR Mağaza Paneli > Destek & Kurulum > Entegrasyon Bilgileri sayfası üzerinden ulaşabileceğiniz, mağazanıza özgü değer. Evet -


POST REQUEST içeriğinde gönderilecek değerler:

Alan adı / tipi Zorunlu Açıklama Kısıtlar
trans_ids (JSON string) Evet Transfer talebinde belirttiğiniz trans_id değerlerini içeren JSON string
hash (string) Evet paytr_token: İsteğin PAYTR’dan geldiğine ve içeriğin değişmediğine emin olmanız için oluşturulan değer Hesaplama ve kontrol hakkında lütfen örnek kodları inceleyin


Örnek POST:

[hash] => Of0/yvgTii/+lGD3o+J0u8xXriVqlPIrvsZsv4cLhM4=
[trans_ids] => ["dcbbe0b9fd25154d73c","dc8c509efc6450d30","9310d84d3bf"]

Yanıt (RESPONSE):

PAYTR’dan gelen isteğe ekrana OK basarak yanıt vermeniz beklenmektedir. Bu yanıtın alınmadığı durumda istek tekrarlanacaktır.

<?php

    $post = $_POST;

    ####################### DÜZENLEMESİ ZORUNLU ALANLAR #######################
    #
    ## API Entegrasyon Bilgileri - Mağaza paneline giriş yaparak BİLGİ sayfasından alabilirsiniz.
    $merchant_key   = 'YYYYYYYYYYYYYY';
    $merchant_salt  = 'ZZZZZZZZZZZZZZ';
    ###########################################################################

    ####### Bu kısımda herhangi bir değişiklik yapmanıza gerek yoktur. #######
    #
    ## POST değerleri ile hash oluştur.
    $post["trans_ids"]=str_replace("\\", "", $post["trans_ids"]);
    $hash = base64_encode( hash_hmac('sha256', $post['trans_ids'].$merchant_salt, $merchant_key, true) );
    #
    ## Oluşturulan hash'i, PayTR'dan gelen post içindeki hash ile karşılaştır (isteğin PayTR'dan geldiğine ve değişmediğine emin olmak için)
    ## Bu işlemi güvenlik nedeniyle mutlaka yapmanız gerekiyor.
    if( $hash != $post['hash'] )
        die('PAYTR notification failed: bad hash');
    ###########################################################################

    ## $post['trans_ids'] içerisinde daha önce PayTR'a ilettiğiniz transfer taleplerinden tamamlanan transferlerin trans_id bilgileri JSON formatında gelir
    ## trans_id bilgisi transfer talebi yaparken PayTR'a gönderdiğiniz her işlem için eşsiz değerdir
    $trans_ids = json_decode($post['trans_ids'],1);
    foreach($trans_ids as $trans_id)
    {
        ## Örn: Burada $trans_id ile veritabanınızdan transfer talebini tespit edip ilgili kullanıcınıza bilgilendirme gönderebilirsiniz (email, sms vb.)
    }

    ## Bildirimin alındığını PayTR sistemine bildir.
    echo "OK";
    exit;
?>

Transfer talimatının sonucunun alınması örnek kodları indirmek için tıklayın.