Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore PayU Teknik Entegrasyon Rehberi

PayU Teknik Entegrasyon Rehberi

Published by ergungursoy, 2016-11-09 02:58:58

Description: PayU_TeknikEntegrasyonRehberi

Search

Read the Text Version

Satıcının web sitesinde (veya mobil uygulamada) \"Checkout\" (Ödeme) butonuna basan her bir müşteride, siparişinbaşlatılabilmesi için LiveUpdate (LU) API kullanılarak bir HTTP POST https://secure.payu.com.tr/order/lu.phpadresinde başlatılmalıdır.Bunun ardından müşteri, işlemi onaylamak üzere gerekli olan bilgileri girebileceği PayU ödeme sayfalarına yönlendirilir.LiveUpdate API ürün tabanlıdır, yani siparişler satıcı tarafından kendi ürün kodu (önerilen) aracılığıyla satıcınınhesabında benzersiz bir şekilde tanımlanan en az bir ürün içermelidir.PayU sunucusu verileri aşağıdaki yapıda ve sırada beklemektedir:MERCHANT Satıcının kimliği, Kontrol Panelinde (Hesap Yönetimi / Hesap Ayarları) mevcuttur.ORDER_REFORDER_DATE Satıcının sistemindeki sipariş referans numarası (kolay sipariş kimliği için). Siparişin sistemde başlatıldığı tarih, YYYY-AA-GG SS:DD:SS formatında (örn.: \"2012-05-01 21:15:45\").ORDER_PNAME[] Ürün isimlerini içeren dizin (maksimum uzunluk: ürün ismi başına 155 karakter).ORDER_PGROUP[] Ürün gruplarının kimliklerini içeren dizin

ORDER_PCODE[] Ürün kodlarını içeren dizin (maksimum uzunluk: ürün kodu başına 50 karakter). Aynı ürün kodu ile birden fazla ürünün gönderilecek olması halinde (aynı veya sonrakiORDER_PINFO[] işlemlerde), PayU ilgili ORDER_PCODE ile ürünü güncelleyecektir (diğer bütün ürünORDER_PRICE[] bilgilerini (ismi, fiyatı, vergiler) üzerine yazarak).ORDER_QTY[]ORDER_VAT[] Ek ürün bilgilerini içeren dizin (opsiyonel, ürün ismi altında ödeme sayfalarındaORDER_PRICE_TYPE[] görüntülenir).ORDER_SHIPPING Ürün fiyatlarını içeren dizin, pozitif sayı, ondalık ayırıcı olarak \".\" ile birlikte.PRICES_CURRENCY Her bir ürünün miktarını içeren dizin.DISCOUNTDESTINATION_CITY Siparişteki her bir ürün için KDV değerlerini içeren dizin.DESTINATION_STATE ORDER_PRICE[] kodunun KDV içerip içermediğini belirten dizin. Olası değerler: \"BRÜT\" (KDV dahil) ve \"NET\" (PayU tarafından KDV eklenecek).PAY_METHOD Parametre opsiyoneldir, ancak belirtilmemesi halinde varsayılan değer \"NET\" olacaktır. Siparişi ilişkin gönderim masrafları. Fiyatların, vergilerin, gönderim masraflarının ve indirimlerin ifade edildiği para birimi. Kabul edilen değerler: TRY, EUR, USD. Parametrenin belirtilmemesi halinde, varsayılan değer TRY olacaktır. *Fiyatların belirtildiği para birimi dışında bir para birimi ile işlem yapılacak olması halinde CURRENCY parametresini kullanınız. Siparişe ilişkin indirim değeri, pozitif sayı, ondalık ayırıcı olarak \".\" ile birlikte (opsiyonel). Siparişin teslimatının yapılacağı şehir (opsiyonel). Parametrenin belirtilmesi halinde, müşteri PayU ödeme sayfalarında bu değeri değiştiremeyecektir. Siparişin teslimatının yapılacağı eyalet (ülke) (opsiyonel). Parametrenin belirtilmesi halinde, müşteri PayU ödeme sayfalarında bu değeri değiştiremeyecektir. Doğrulamaya yönelik olası değerler, Kontrol Paneli içerisinde \"State/Country List\" altında mevcuttur. İşleme ait ödeme yöntemi (opsiyonel). Parametrenin belirtilmesi halinde, müşteri PayU ödeme sayfalarında bu değeri değiştiremeyecektir. Parametrenin belirtilmemesi halinde, hesapta aktif ödeme yöntemlerini içeren bir açılır liste görüntülenir. Olası değerler:  CCVISAMC - VISA/MasterCard (varsayılan)INSTALLMENT_OPTIONS Taksitli ödeme seçenekleri  \"2,3,4,5,6,7,8,9,10,11,12\" – tüm taksit seçenekleri gösterilir  \"2,3,7,10,12\" - 2,3,7,10,12 taksit seçenekleri gösterilir  \"2\"– 2 taksit olmak üzere tek bir taksit seçeneği gösterilir  \",\" – hiçbir taksit seçeneği gösterilmez (taksit ve tek seferde ödeme bölümü gösterilmez)  \"\" – Satıcı ayarları uygulanırORDER_HASH Gönderilen veriye ilişkin HMAC_MD5 imzası . (HMAC, RFC 2104'de tanımlanmaktadır)TESTORDER TEST MODU'nda işlemleri başlatmak üzere kullanılan Boolean parametresi (\"0\" veya \"1\")DEBUG (opsiyonel). Parametrenin aktif olması halinde, PayU ödeme formu test ödeme bilgileri ile doldurulur (herhangi bir kredi kartı test numarasına ihtiyacınız yoktur). Uygulama sırasında PayU destek ekibinin yardımını gerektirmek üzere kullanılan Boolean parametresi (\"0\" veya \"1\") (opsiyonel). Parametrenin aktif olması halinde, sunucunuz ve PayU arasındaki iletişimin loglarını talep edebilirsiniz.

LANGUAGE Ödeme arayüzü için spesifik bir dil ayarlamanızı (ve coğrafi konuma göre tespit edilen dilin geçersiz kılınmasını) sağlar (opsiyonel). Olası değerler:  TR - Türkçe  EN – İngilizce  RO – Romence  HU – Macarca  RU – Rusça  DE – Almanca  FR - Fransızca  IT – İtalyanca  ES - İspanyolcaORDER_TIMEOUT Siparişin verilebileceği süre aralığını ayarlar (opsiyonel, değer olarak saniye sayısını alır).TIMEOUT_URL ORDER_TIMEOUT süresinin dolması halinde, müşterinin yönlendirileceği URL'yi ayarlar (opsiyonel).Aşağıda belirtilen işlem bilgilerini kullanarak bir LiveUpdate talebi oluşturalım:Bilgi Parametre, değer(ler) ve uzunluk(lar)Genel VerilerSepet İçeriği MERCHANT=\"PAYUDEMO\" (8) ORDER_REF=\"112457\" (6)Ek Bilgiler ORDER_DATE=\"2012-05-01 15:51:35\" (19) ORDER_PNAME[]=\"MacBook Air 13 inç\", \"iPhone 4S\" (19, 9) ORDER_PCODE[]=\"MBA13\", \"IP4S\" (5, 4) ORDER_PINFO[]=\"Uzatılmış Garanti - 5 Yıl\", \"\" (27, 0) ORDER_PRICE[]=\"1750\", \"400\" (4, 3) ORDER_PRICE_TYPE[]=\"GROSS\", \"NET\" (5, 3) ORDER_QTY[]=\"1\", \"2\" (1, 1) ORDER_VAT[]=\"24\", \"24\" (2, 2) ORDER_SHIPPING=\"50\" (2) PRICES_CURRENCY=\"RON\" (3) DISCOUNT=\"10\" (2) DESTINATION_CITY=\"Bükreş\" (10) DESTINATION_STATE=\"Bükreş - Sektör 1\" (20) DESTINATION_COUNTRY=\"RO\" (2) PAY_METHOD=\"CCVISAMC\" (8) TESTORDER=\"1\" (HMAC MD5 imzasına dahil değildir) LANGUAGE=\"RO\" (HMAC MD5 imzasına dahil değildir)Sipariş verildiği zaman bu bilgileri doğrulamak için, ORDER_HASH parametresinin değeri olarak bir HMAC MD5 imzasıgerekir. Hesaplama, Kontrol Paneli altında Hesap Yönetimi / Hesap Ayarları bölümünde yer alan satıcı (veya demo)hesabının gizli anahtarı kullanılarak yapılır.İmza, başına eklenen ilgili uzunluklarla (UTF-8 bayt olarak) yukarıdaki her bir değerden oluşan bir dizi kullanılarakhesaplanır.Örnek sipariş olarak kullanılan bilgiler neticesinde elde edilen dizi aşağıdaki gibidir:8PAYUDEMO6112457192012-05-01 15:51:3519MacBook Air 13 inç9iPhone 4S5MBA134IP4S27Uzatılmış Garanti - 5Yıl041750340011122242242503EUR2108Istanbul8Istanbul2TR8CCVISAMC5GROSS3NET112,3,7,10,12İkinci ürün için ORDER_PINFO[] parametresinde herhangi bir değer bulunmadığına dikkat ediniz. Parametre tanımlanmışolduğundan, dizinin oluşturulması sırasında uzunluğunu (0) dikkate alacağız.

TESTORDER ve LANGUAGE parametreleri dizi oluşturmada ve HMAC MD5 hesaplamasında dikkate alınmamıştır.Veriler, her iki uçta da (sunucunuz ve PayU platformu) uzunlukların doğru bir şekilde hesaplanabilmesi için UTF-8formatında aktarılmıştır.Satıcı hesabının gizli anahtarı P5@F8*3!m0+?^9s3&u8( ise, sonuç olarak meydana gelen HMAC MD5 (veORDER_HASH parametresi değeri): 83829ff075d5ba1f50c80df89b648ec4.Sonuç olarak ortaya çıkan LiveUpdate HTTP POST talebi:1 <form method=\"post\" action=\"https://secure.payu.com.tr/order/lu.php\">2 <input type=\"hidden\" name=\"MERCHANT\" value=\"PAYUDEMO\">3 <input type=\"hidden\" name=\"ORDER_REF\" value=\"112457\">4 <input type=\"hidden\" name=\"ORDER_DATE\" value=\"2012-05-01 15:51:35\">5 <input type=\"hidden\" name=\"ORDER_PNAME[]\" value=\"MacBook Air 13 inç\">6 <input type=\"hidden\" name=\"ORDER_PNAME[]\" value=\"iPhone 4S\">7 <input type=\"hidden\" name=\"ORDER_PCODE[]\" value=\"MBA13\">8 <input type=\"hidden\" name=\"ORDER_PCODE[]\" value=\"IP4S\">9 <input type=\"hidden\" name=\"ORDER_PINFO[]\" value=\"Uzatılmış Garanti - 5 Yıl\">10 <input type=\"hidden\" name=\"ORDER_PINFO[]\" value=\"\">11 <input type=\"hidden\" name=\"ORDER_PRICE[]\" value=\"1750\">12 <input type=\"hidden\" name=\"ORDER_PRICE[]\" value=\"400\">13 <input type=\"hidden\" name=\"ORDER_PRICE_TYPE[]\" value=\"GROSS\">14 <input type=\"hidden\" name=\"ORDER_PRICE_TYPE[]\" value=\"NET\">15 <input type=\"hidden\" name=\"ORDER_QTY[]\" value=\"1\">16 <input type=\"hidden\" name=\"ORDER_QTY[]\" value=\"2\">17 <input type=\"hidden\" name=\"ORDER_VAT[]\" value=\"24\">18 <input type=\"hidden\" name=\"ORDER_VAT[]\" value=\"24\">19 <input type=\"hidden\" name=\"ORDER_SHIPPING\" value=\"50\">20 <input type=\"hidden\" name=\"PRICES_CURRENCY\" value=\"EUR\">21 <input type=\"hidden\" name=\"BILL_FNAME\" value=\"John\">22 <input type=\"hidden\" name=\"BILL_LNAME\" value=\"Doe\">23 <input type=\"hidden\" name=\"BILL_EMAIL\" value=\"[email protected]\">24 <input type=\"hidden\" name=\"DISCOUNT\" value=\"10\">25 <input type=\"hidden\" name=\"DESTINATION_CITY\" value=\"İstanbul\">26 <input type=\"hidden\" name=\"DESTINATION_STATE\" value=\"İstanbul\">27 <input type=\"hidden\" name=\"DESTINATION_COUNTRY\" value=\"TR\">28 <input type=\"hidden\" name=\"PAY_METHOD\" value=\"CCVISAMC\">29 <input type=\"hidden\" name=\"INSTALLMENT_OPTIONS\" value=\"2,3,7,10,12\">30 <input type=\"hidden\" name=\"TESTORDER\" value=\"1\">31 <input type=\"hidden\" name=\"LANGUAGE\" value=\"RO\">32 <input type=\"hidden\" name=\"ORDER_HASH\" value=\"83829ff075d5ba1f50c80df89b648ec4\">33 <input type=\"submit\" name=\"submit\" value=\"Gönder!\">34 </form>Satıcı mağazaları, yapılan LiveUpdate taleplerine fatura ve teslimat bilgilerini dahil etme imkanına sahiptir. Bu özellik,PayU ödeme sayfalarında gönderilen bilgilerin önceden doldurulmasını ve böylece müşterinin bu doldurma işlemiyle vakitkaybetmemesi avantajını sağlar.Fatura ve teslimat parametreleri HASH hesabı için opsiyoneldir, HMAC MD5 hesaplamasına dahil edilmez ve sadecetalepte gönderilen değerler ödeme arayüzünde doldurulur. Bu alanların LiveUpdate’e gönderilmesi zorunludur.Fatura Parametresi Açıklama Teslimat Parametresi AçıklamaBILL_FNAME Müşteri adı DELIVERY_FNAME Müşteri adıBILL_LNAME Müşteri soyadı DELIVERY_LNAME MüşteriBILL_CISERIAL Nüfus Cüzdanı Seri Numarası (RO vatandaşları için) - soyadıBILL_CINUMBER - Nüfus Cüzdanı Numarası (RO vatandaşları için) - -

BILL_CIISSUER Nüfus Cüzdanını Veren Kurum (RO vatandaşları için) - -BILL_CNP Kişisel Kimlik Numarası (RO vatandaşları için) -BILL_COMPANY Fatura için resmi şirket unvanı DELIVERY_COMPANY -BILL_FISCALCODE Şirketin Vergi Numarası (CUI/VAT ID) - Teslimat içinBILL_REGNUMBER Şirketin Ticaret Sicildeki Sicil Numarası - resmi şirketBILL_BANK Şirketin bankası - unvanıBILL_BANKACCOUNT Şirketin banka hesabı -BILL_EMAIL Müşteri e-mail adresi - -BILL_PHONE Telefon numarası DELIVERY_PHONE -BILL_FAX Faks numarası -BILL_ADDRESS Müşteri/Şirket Adresi DELIVERY_ADDRESS -BILL_ADDRESS2 Müşteri/Şirket Adresi (ek alan) DELIVERY_ADDRESS2 -BILL_ZIPCODE Müşteri/Şirket Posta Kodu DELIVERY_ZIPCODE -BILL_CITY Şehir DELIVERY_CITY Telefon DELIVERY_STATE numarasıBILL_STATE Eyalet/Ülke DELIVERY_COUNTRY CODE -BILL_COUNTRYCODE Ülke Kodu (Romanya için RO) Müşteri/Şirk et Adresi Müşteri/Şirk et Adresi (ek alan) Müşteri/Şirk et Posta Kodu Şehir Eyalet/Ülke Ülke Kodu (Romanya için RO)NOT: DESTINATION_CITY, DESTINATION_STATE veya DESTINATION_COUNTRY parametrelerinin gönderilmesihalinde, bu bilgiler DELIVERY_CITY, DELIVERY_STATE, DELIVERY_COUNTRYCODE parametrelerine ait değerlerinüzerine yazılacaktır.Satıcılar, Kontrol Paneli altında Hesap Yönetimi / Ödeme Formu Ayarları bölümünde PayU sistemi aracılığıyla iletilecekolan kişisel veri miktarını yapılandırabilir. Müşteriyi doğrudan son ödeme adımına yönlendirmek istiyorsak, zorunlu olarakişaretlenen bilgilerin de LiveUpdate aracılığıyla gönderilmesi gerekmektedir.Alanların tamamının opsiyonel/gizli olarak ayarlanmış olması halinde, PayU dolandırıcılık önleme amacıyla asgari olarakşu alanları talep eder: BILL_FNAME, BILL_LNAME, BILL_EMAIL, BILL_PHONE ve BILL_COUNTRYCODE.BILL_PHONE alanını da boş bırakılabilir (bir satıcı olarak müşterilerin telefon numaralarınıtoplamıyorsanız/kullanmıyorsanız, değer olarak \"-\" (tire) kullanabilirsiniz).Siparişin son adımına yönlendirmek (örn. CCVISAMC için kart veri girişi) bu bilgiler LiveUpdate ile gönderilecekse, talepiçerisinde \"1\" değerine sahip AUTOMODE bulunmalıdır. NOT: Bu parametre, gerekli tüm alanların gönderilmesi halindedüzgün bir şekilde çalışacaktır. Aksi takdirde, süreç fatura/teslimat verilerinin toplandığı sayfayla başlar.1 <input type=\"hidden\" name=\"AUTOMODE\" value=\"1\">Müşteriyi web sitesine geri yönlendirmek için (hesabına veya özelleştirilmiş bir teşekkür sayfasına), bir UTL ile birlikteBACK_REF parametresini kullanabilirsiniz. Varsayılan olarak BACK_REF yönlendirmesi, kullanılan ödeme yöntemininanında provizyon (örn. CCVISAMC ile yapılması halinde; normal WIRE transferi (havale) için olmaz) olması halindeyapılabilir.Aşağıda belirtildiği şekilde satıcı, bir sipariş veya müşteri kimlik tanıtıcı belirtebilmek için GET parametrelerini kullanabilir:

1 <input type=\"hidden\" name=\"BACK_REF\" value=\"http://domain.com/process.php?order=123456\">Yönlendirmenin PayU'dan geldiğinden emin olmak için, yönlendirmenin yapılacağı URL'ye bir kontrol değişkeni eklenir.Kontrol değişkeni (bir GET parametresi, ctrl) aynı zamanda URL'nin uzunluğunun (parametreler dahil) önüneeklenmesiyle PayU'nun yönlendirdiği URL'den (tüm parametrelerle birlikte) oluşan bir dizi üzerinde hesaplanan HMACMD5'tir.http://www.yourdomain.com/process.php?order=123456&ctrl=741fcf35a297e256f4090c4dfc0ed652ctrl HMAC MD5 hesaplaması için kaynak dizisi:50http://www.yourdomain.com/process.php?order=123456Hesabınız için etkinleştirilmiş olan birden fazla para birimi varsa, müşteriler ödeme yapacakları para birimini ödemeformunda seçebilirler.Siparişe ilişkin tahsilatları fiyatların ayarlanmış olduğu para biriminden (PRICES_CURRENCY) farklı bir para birimindeolmasını istiyorsanız, opsiyonel parametre gönderebilirsiniz:1 <input type=\"hidden\" name=\"CURRENCY\" value=\"USD\">Verilerinizin gönderilmeye çalışılması sırasında hata alıyorsanız, her hata çeşidi için aşağıdaki listeden sorunaçıklamalarına bakabilirsiniz:Hata AçıklamaACCES DENIED (Erişim Engellendi) PayU arayüzüne erişmenize izin verilmemektedir. LütfenInvalid account (Geçersiz hesap) PayU destek ekibi ile irtibata geçiniz.Access not permitted (Erişime izin verilmiyor) MERCHANT parametresi yanlış veya belirtilmemiş.Invalid Data (Geçersiz veri) LiveUpdate özelliğine erişiminiz kısıtlanmış. PayU HesapInvalid product code (Geçersiz ürün kodu) Müdürünüz ile görüşmelisiniz.Invalid product name (Geçersiz ürün adı)Invalid product group (Geçersiz ürün grubu) İletmiş olduğunuz veriler doğru bir biçimde oluşturulmamış.Invalid price (Geçersiz fiyat) Lütfen dizinleri kontrol ediniz.Invalid VAT (Geçersiz KDV)Invalid Price (Geçersiz Fiyat) ORDER_PCODE[] dizini hatalı oluşturulmuş.Invalid Signature (Geçersiz İmza) ORDER_PNAME[] dizini hatalı oluşturulmuş. ORDER_PGROUP[] dizini hatalı oluşturulmuş. ORDER_PRICE[] dizini hatalı oluşturulmuş. ORDER_VAT[] dizini hatalı oluşturulmuş. Hesaplanan toplam hatalı. DISCOUNT ve ORDER_SHIPPING parametrelerini kontrol ediniz. HMAC_MD5 imzası, gönderilen veri için hatalı hesaplanmıştır.

Yukarıda belirtilen tüm verileri içeren, PayU demo hesabında bir TEST işlemi başlatan ve hem AUTOMODE hem deBACK_REF özelliklerini kullanan bir talep aşağıda verilmektedir:1 <form method=\"post\" action=\"https://secure.payu.com.tr/order/lu.php\">2 <input type=\"hidden\" name=\"MERCHANT\" value=\"PAYUDEMO\">3 <input type=\"hidden\" name=\"ORDER_REF\" value=\"112457\">4 <input type=\"hidden\" name=\"ORDER_DATE\" value=\"2012-05-01 15:51:35\">5 <input type=\"hidden\" name=\"ORDER_PNAME[]\" value=\"MacBook Air 13 inç\">6 <input type=\"hidden\" name=\"ORDER_PNAME[]\" value=\"iPhone 4S\">7 <input type=\"hidden\" name=\"ORDER_PCODE[]\" value=\"MBA13\">8 <input type=\"hidden\" name=\"ORDER_PCODE[]\" value=\"IP4S\">9 <input type=\"hidden\" name=\"ORDER_PINFO[]\" value=\"Uzatılmış Garanti- 5 Yıl\">10 <input type=\"hidden\" name=\"ORDER_PINFO[]\" value=\"\">11 <input type=\"hidden\" name=\"ORDER_PRICE[]\" value=\"1750\">12 <input type=\"hidden\" name=\"ORDER_PRICE[]\" value=\"400\">13 <input type=\"hidden\" name=\"ORDER_PRICE_TYPE[]\" value=\"GROSS\">14 <input type=\"hidden\" name=\"ORDER_PRICE_TYPE[]\" value=\"NET\">15 <input type=\"hidden\" name=\"ORDER_QTY[]\" value=\"1\">16 <input type=\"hidden\" name=\"ORDER_QTY[]\" value=\"2\">17 <input type=\"hidden\" name=\"ORDER_VAT[]\" value=\"24\">18 <input type=\"hidden\" name=\"ORDER_VAT[]\" value=\"24\">19 <input type=\"hidden\" name=\"ORDER_SHIPPING\" value=\"50\">20 <input type=\"hidden\" name=\"PRICES_CURRENCY\" value=\"EUR\">21 <input type=\"hidden\" name=\"DISCOUNT\" value=\"10\">22 <input type=\"hidden\" name=\"DESTINATION_CITY\" value=\"Ankara\">23 <input type=\"hidden\" name=\"DESTINATION_STATE\" value=\"Ankara\">24 <input type=\"hidden\" name=\"DESTINATION_COUNTRY\" value=\"TR\">25 <input type=\"hidden\" name=\"PAY_METHOD\" value=\"CCVISAMC\">26 <input type=\"hidden\" name=\"INSTALLMENT_OPTIONS\" value=\"2,3,7,10,12\">27 <input type=\"hidden\" name=\"BILL_FNAME\" value=\"Test\">28 <input type=\"hidden\" name=\"BILL_FNAME\" value=\"PayU\">29 <input type=\"hidden\" name=\"BILL_EMAIL\" value=\"[email protected]\">30 <input type=\"hidden\" name=\"BILL_PHONE\" value=\"0212021212\">31 <input type=\"hidden\" name=\"BILL_COUNTRYCODE\" value=\"TR\">32 <input type=\"hidden\" name=\"DELIVERY_FNAME\" value=\"Test\">33 <input type=\"hidden\" name=\"DELIVERY_LNAME\" value=\"PayU\">34 <input type=\"hidden\" name=\"DELIVERY_EMAIL\" value=\"[email protected]\">35 <input type=\"hidden\" name=\"DELIVERY_PHONE\" value=\"0213031313\">36 <input type=\"hidden\" name=\"DELIVERY_COUNTRYCODE\" value=\"TR\">37 <input type=\"hidden\" name=\"TESTORDER\" value=\"1\">38 <input type=\"hidden\" name=\"AUTOMODE\" value=\"1\">39 <input type=\"hidden\" name=\"BACK_REF\" value=\"http://server.com/thankyou.php?order=112457\">40 <input type=\"hidden\" name=\"LANGUAGE\" value=\"TR\">41 <input type=\"hidden\" name=\"ORDER_HASH\" value=\"533b92f70542e3ec98ab290210e92329\">42 <input type=\"submit\" name=\"submit\" value=\"Gönder!\">43 </form>

IPN, PayU sunucuları ve sunucularınız arasında bir bağlantı görevi görerek, online ödeme sisteminde provizyon verilmişolan tüm siparişlerin otomatik olarak işleme alınmasını mümkün kılar. Bu bildirim yöntemi, kendi sipariş yönetimsisteminizde işlenmek üzere işlem verisinin alınmasını sağlar.Bir sipariş için provizyon ve onay verildiğinde, PayU sunucusu siparişle ilgili tüm bilgileri içeren bir veri yapısınısisteminizde daha önceden ayarlanmış olan bir URL’ye gönderir. Veriler HTTP POST aracılığıyla gönderilir. Veriler ayıcabilgilerin doğrulanması için bir imza içerecektir. İmza, istenen veri seti üzerinde bir ortak PayU/Satıcı anahtarı ile birHMAC_MD5 işlevi uygulayarak elde edilir (HMAC, RFC 2104’te tanımlanmaktadır).Gönderilen verilerin doğru olarak alınmasına ilişkin herhangi bir konfirmasyon olmaması halinde, PayU sunucusu geçerlibir yanıt alınana kadar birkaç dakikada bir HTTP POST göndermeyi denemeye devam eder.IPN iletişimi alıcının aktif bağlantısından bağımsızdır ve hiçbir şekilde alıcının oturumuna bağlanamaz.Gönderilen veriler aşağıdaki tabloda yer almaktadır:

SALEDATE Sipariş verme tarihi, formatı: Y-a-g S:d:s (2012-04-26 14:59:35)PAYMENTDATE Sipariş provizyon tarihi, formatı: Y-a-g S:d:s (2012-04-26 15:01:25)COMPLETE_DATE Sipariş tamamlanma tarihi, formatı: Y-a-g S:d:s (2012-04-26 15:02:28)REFNO Sipariş için global PayU referansı (maksimum uzunluk: 9 karakter)REFNOEXT Sipariş için satıcı referans numarası (maksimum uzunluk: 100 karakter),ORDERNO Satıcı tarafından sağlanırORDERSTATUS Satıcı sipariş numarası (maksimum uzunluk: 6 karakter) Geçerli sipariş durumu. Olası değerler:PAYMETHODPAYMETHOD_CODE  PAYMENT_AUTHORIZED – kart ödemesine provizyon verildiIPN_PAID_AMOUNT  PAYMENT_RECEIVED – havaleyle yapılan ödeme alındıIPN_INSTALLMENTS_PROGRAM  TEST – test siparişiIPN_INSTALLMENTS_NUMBER  CASH – nakit ödemeli siparişIPN_INSTALLMENTS_PROFIT  COMPLETE – tamamlanan sipariş (provizyon verilmiş/teslim edilmiş)  REVERSED – iptal edilen sipariş  REFUND – ödemesi iade edilen sipariş (iade edilen ödeme) Kullanılan ödeme yöntemi (maksimum uzunluk: 40 karakter) Ödeme yöntemi kodu. Olası değerler: CCVISAMC Finansal maliyete birlikte toplam fiyat (tüm maliyetlerle birlikte ödeme tutarı) Ödeme kartının sadakat programı adı Müşteri tarafından seçilen taksit sayısı Ödemenin finansal maliyetiFIRSTNAME Adı (maksimum uzunluk: 40 karakter)LASTNAME Soyadı (maksimum uzunluk: 40 karakter)IDENTITY_NO Müşteri nüfus cüzdanı seri numarası ve numarası (Seri Numarası/Numarası – sadece Romanyalı müşteriler için mevcuttur)IDENTITY_ISSUER IDENTITY_NO Nüfus cüzdanını veren kurumIDENTITY_CNP Müşterinin kişisel vatandaşlık numarası, sadece Romanyalı müşteriler için mevcuttur. Bu alan sadece müşteriden bu bilgileri talep etme seçeneğini etkinleştirdiyseniz gösterilir.COMPANY Şirket (maksimum uzunluk: 40 karakter)REGISTRATIONNUMBER Şirketin ticaret sicili sicil kayıt numarası (maksimum uzunluk: 40 karakter)FISCALCODE Sicil Numarası / Veri Numarası (maksimum uzunluk: 40 karakter)CBANKNAME Şirketin Bankası (maksimum uzunluk: 40 karakter)CBANKACCOUNT Şirketin Banka Hesabı (maksimum uzunluk: 50 karakter)ADDRESS1 Adres (maksimum uzunluk: 100 karakter)ADDRESS2 Ek Adres bilgisi (maksimum uzunluk: 100 karakter)CITY Şehir (maksimum uzunluk: 30 karakter)STATE Eyalet/Sektör/Ülke (maksimum uzunluk: 30 karakter)ZIPCODE Posta Kodu (maksimum uzunluk: 20 karakter)COUNTRY Ülke (maksimum uzunluk: 50 karakter)PHONE Telefon Numarası (maksimum uzunluk: 40 karakter)FAX Faks Numarası (maksimum uzunluk: 40 karakter)CUSTOMEREMAIL Müşteri e-mail adresi (maksimum uzunluk: 40 karakter)

FIRSTNAME_D Adı (maksimum uzunluk: 40 karakter)LASTNAME_D Soyadı (maksimum uzunluk: 40 karakter)COMPANY_D Şirket (maksimum uzunluk: 50 karakter)ADDRESS1_D Adres (maksimum uzunluk: 100 karakter)ADDRESS2_D Ek adres bilgileri (maksimum uzunluk: 100 karakter)CITY_D Şehir (maksimum uzunluk: 30 karakter)STATE_D Eyalet/Sektör/Ülke (maksimum uzunluk: 30 karakter)ZIPCODE_D Posta Kodu (maksimum uzunluk: 20 karakter)COUNTRY_D Ülke (maksimum uzunluk: 50 karakter)PHONE_D Telefon numarası (maksimum uzunluk: 40 karakter)IPADDRESS İstemci IP adresi (maksimum uzunluk: 250 karakter)CURRENCY Siparişin işleme alındığı para birimi. Olası değerler: TRY, USD, EURIPN_PID[] PayU veritabanında sipariş edilen ürünlerin Kimlik Kodlarını içeren dizin (PayU referans)IPN_PNAME[] Ürün isimlerini içeren dizinIPN_PCODE[] Sistemde satıcı tarafından atanmış olan ürün kodlarını içeren dizin (satıcı referansı)IPN_INFO[] Sipariş edilen her bir ürün için gönderilen ek bilgileri içeren dizin (PayU tarafından gönderilmişse)IPN_QTY[] Ürün miktarlarını içeren dizinIPN_PRICE[] RON para biriminde, ondalık ayırıcı olarak nokta (.) ile ürün başına birim fiyatları (KDV’siz) içeren dizin.IPN_VAT[] TL para biriminde, ondalık ayırıcı olarak nokta (.) ile ürün başına KDV değerlerini içeren dizin.IPN_VER[] Ürün sürümlerini içeren dizin (maksimum uzunluk: 50 karakter)IPN_DISCOUNT[] Bir promosyonda indirim yapılmış olan tutarları içeren dizin. KDV dahildir.IPN_PROMONAME[] Yukarıda belirtilen indirimlerin uygulandığı promosyonların isimlerini içeren dizin.IPN_DELIVEREDCODES[] PayU sözleşmesinin bu özelliği içermesi halinde, müşterilere gönderilen kodları içeren dizin. Dizindeki her öğe, sipariş edilen miktarın 1’den büyük olması halinde gönderilen her bir kod için ayırıcı olarak virgül (,) ile birlikte gösterilir.IPN_TOTAL[] Ondalık ayırıcı olarak nokta (.) ile sipariş satırındaki kısmi toplam (KDV dahil)IPN_TOTALGENERAL Ondalık ayırıcı olarak nokta (.) ile KDV ve gönderim masrafları dahil olmak üzere toplam işlem tutarı.IPN_SHIPPING Ondalık ayırıcı olarak nokta (.) ile TL para biriminde gönderim için hesaplanan tutar.IPN_GLOBALDISCOUNT Global sipariş indirimi. Bu alan opsiyoneldir ve sadece tutarın 0’dan (sıfır) büyük olması halinde gönderilir.IPN_COMMISSION Ondalık ayırıcı olarak nokta (.) ile PayU komisyonu (TL para biriminde)IPN_DATE IPN POST'un gönderim tarihi, formatı: YagSds (örn.: 20120426145935)HASH Talep imzası (yukarıdaki tüm alanlarda MD5 HMAC)PayU, aşağıdaki formatta (sayfanın herhangi bir yerinde) bir yanıt bekler:1 <EPAYMENT>DATE|HASH</EPAYMENT>

DATE Yanıtın gönderildiği tarih, format: YagSds (örn.:20120426145935)HASH Yanıt imzası (başlangıç alanları IPN_PID[0], IPN_PNAME[0], IPN_DATE’de MD5 HMAC; DATE – önceki alan)Yanıta ilişkin HMAC hesaplama alanları şöyledir:IPN_PID[0] Orijinal IPN mesajından yansıma – ilk satın alınan ürünün kimliğiIPN_PNAME[0] Orijinal IPN mesajından yansıma – ilk satın alınan ürünün adıIPN_DATE Orijinal IPN mesajından yansıma –YagSds formatında (20120426145935) IPN tarihiDATE YagSds formatında (20120426145935) yanıtın tarihi (sunucunuzun saati)Aşağıdaki bilgilere sahip olduğumuzu varsayıyoruz: Uzunluk Alan değeriAlan adı 19 2012-04-26SALEDATE 12:22:09 7 1000037REFNO 0REFNOEXT 2 13ORDERNO 8 AUTHRECEIVEORDERSTATUS D 8 CCVISAMCPAYMETHOD 4 TestFIRSTNAME 4 PayULASTNAME 0COMPANY 0 Some Street 21REGISTRATIONNUMBER 0FISCALCODE 0 İstanbulCBANKNAME 0 İstanbulCBANKACCOUNT 14 90210ADDRESS1 0 TürkiyeADDRESS2 8 0268/121212CITY 8STATE 5 [email protected] 7 TestCOUNTRY 11 PayUPHONE 0FAX 13 Some Street 21CUSTOMEREMAIL 4FIRSTNAME_D 4 AnkaraLASTNAME_D 0 AnkaraCOMPANY_D 14 90210ADDRESS1_D 0 TürkiyeADDRESS2_D 6 0268/121212CITY_D 6 node11STATE_D 5 TRYZIPCODE_D 6 1COUNTRY_D 11PHONE_D 6IPADDRESS 3CURRENCY 1IPN_PID[0]

IPN_PNAME[0] 25 Apple MacBook Air 13 inçIPN_PCODE[0]IPN_INFO[0] 7 AMBA13IIPN_QTY[0] 0IPN_PRICE[0] 11IPN_VAT[0] 8 50000.00IPN_VER[0] 7 9500.00IPN_DISCOUNT[0] 0IPN_PROMONAME[0] 4 0.00IPN_DELIVEREDCODES[0] 0IPN_TOTAL[0] 0IPN_TOTALGENERAL 8 59500.00IPN_SHIPPING 8 60095.00IPN_COMMISSION 6 595.00IPN_DATE 4 0.00 14 2012042612343IPN_PAID_AMOUNTIPN_INSTALLMENTS_PROGRAM 4IPN_INSTALLMENTS_NUMBER 7 1223.29IPN_INSTALLMENTS_PROFIT 5 BONUS 2 12 4 3.26Yanıtın kaynak dizisi, aşağıdaki veriler kullanılarak oluşturulur:Alan adı Uzunluk Alan değeriIPN_PID[0] 1IPN_PNAME[0] 1 Apple MacBook Air 13 inçIPN_DATE 25 20120426123434DATE 14 20120426123434 14Sonuç olarak ortaya çıkan dizi: 1125Apple MacBook Air 13 inç14201204261234341420120426123434Doğrulama için HMAC_MD5 imzası: 5e7457bd605c5fdd80b038b8e2d9d1d9HASH alan karakterleri küçük harf/büyük harf olabilir (onaltılık düzende dizi).Bildirimin gönderildiği sunucudan gelen yanıt şu şekilde olmalıdır:1 <EPAYMENT>20120426123434|5e7457bd605c5fdd80b038b8e2d9d1d9</EPAYMENT>Yanıtın geçerli olmaması halinde, bildirim onaylanmaz. PayU otomatik olarak birkaç dakika içerisinde bildirimi yenidengönderir.Güvenlik nedenlerinden dolayı, PayU bildirimlerini alan koda erişimin sadece 83.96.157.64/27 IP sınıfına izin verecekşekilde sınırlandırılmasını tavsiye etmekteyiz.

IPN bildirimleri üzerinde çalışmak veya test etmek için bir TEST siparişi verilmesini (“TESTORDER” parametresikullanılarak) tavsiye etmekteyiz. Bildirimi aldıktan sonra istediğiniz sayıda tekrar gönderebilirsiniz; PayU yöneticiarayüzünde kullanılabilir filtreleri kullanarak “Orders and reports” bölümünde test siparişini bulun; sipariş ayrıntılarınıiçeren açılır menüyü açmak için siparişin referansına basın; bu açılır menüde “Re-send notification” linkine basın, “DebugIPN?” seçeneğini işaretleyin ve “Continue” butonuna basın. Bu şekilde, hem IPN talebinin içeriğini hem de kodunuzunyanıtını görebilirsiniz.

Anında Teslimat bildirimi, bu konfirmasyonları otomatik olarak PayU sunucusunda kaydeden PayU sistemine kendisisteminizden otomatik teslimat konfirmasyonları gönderilmesini kolaylaştırır. PayU sisteminde verilen siparişlerinizkonfirme edilir edilmez, konfirme edilecek olan işlem için kimlik verilerini içeren ve PayU tarafından sağlanan bir URL’yeyönetim sisteminiz aracılığıyla bir POST gönderilmelidir. PayU sistemi içerisinde konfirme edilmesi gereken her bir sipariş için ayrı bir HTTP POST gerekmektedir. Tüm HTTP POST’lar, POST’da bulunan kimlik verilerine ve bir paylaşımlı anahtara (PayU / Satıcı) dayanan bir HMAC_MD5 imzası kullanılarak doğrulanacaktır.HTTP POST’ta bulunan tanımlama verileri aşağıdaki tabloda anlatılmaktadır ve tam olarak aşağıdaki sıradagönderilmeleri gerekmektedir:Kod AçıklamaMERCHANT PayU sistemindeki satıcı kodunu gösterir

ORDER_REF PayU sistemindeki sipariş referans kodunu gösterirORDER_AMOUNT PayU sisteminde alınmış olduğu şekliyle, konfirme edilecek olan siparişin toplam tutarınıORDER_CURRENCY gösterirIDN_DATE Siparişin verildiği para birimini gösterir Teslimat konfirmasyonu talebinin iletildiği tarihi gösterir. <> formatına sahiptir. Burada:  Y – Yılı temsil eder. 4 haneli sayı.  A – Ayı temsil eder. 2 haneli sayı.  G – Günü temsil eder. 2 haneli sayı.  S – Saati temsil eder. Değerler 00’dan 24’e kadar. 2 haneli sayı.  D – Dakikayı temsil eder. 2 haneli sayı.  S – Saniyeyi temsil eder. 2 haneli sayı.ORDER_HASH Talep imzasını gösterir. Bu imza, yukarıdaki tüm alanlardan (1-5) oluşturulan birREF_URL* HMAC_MD5 tipi imzadır. * Bu alan zorunlu değildir. Bu parametrenin gönderilmemesi veya boş olması halinde, yanıt INLINE gönderilecektir. GET yöntemiyle yanıtın gönderileceği URL adresini gösterir. URL adresi < > sözdizimi ile başlamalıdır.Teslimatın otomatik olarak konfirme edildiği URL: https://secure.payu.com.tr/order/idn.phpBu bölüm, HASH imzasının nasıl hesaplandığını göstermektedir.Giriş verisi örneği:Alan Adı Uzunluk Alan DeğeriMERCHANT 4ORDER_REF 7 TestORDER_AMOUNT 4ORDER_CURRENCY 3 1000500IDN_DATE 19 1645 EUR 2012-04-26 17:46:56MAC hesaplamasına yönelik kaynak dizisi, alanın başında dizi uzunluğunu ekleyerek elde edilmektedir. Verilen giriş verisiile kaynak dizisi şu şekilde oluşur:4TEST71000500416453EUR192012-04-26 17:46:56Bu örnekteki gizli anahtar: AABBCCDDEEFFSon MD5 değeri: 486ae8426384c66a6e175f5f8bafde6ePayU yanıtının INLINE (aynı sayfada) olacak şekilde ayarlanmış olması halinde, aşağıdaki formata sahiptir (sayfanınherhangi bir yerinde):1 <EPAYMENT>ORDER_REF|RESPONSE_CODE|RESPONSE_MSG|IDN_DATE|ORDER_HASH</EPAYMENT>

PayU yanıtının belirli bir URL’ye gönderilecek olması halinde (REF_URL parametresi geçerli bir URL içermektedir), yanıtaşağıda belirtildiği şekilde gönderilecektir:http://www.mysite.com/prel.php?ORDER_REF=value&RESPONSE_CODE=value&RESPONSE_MSG=value&IDN_DATE=value&ORDER_HASH=valueKod AçıklamaORDER_REFRESPONSE_CODE PayU sipariş referansı olan orijinal IDN talebinden bir yansıma gösterir.RESPONSE_MSG Teslimat konfirmasyonu talebine ait yanıtın kodunu gösterir. Bu kodlar aşağıdaki tabloda açıklanmaktadır.IDN_DATE Teslimat konfirmasyonu talebine ait mesajı göstermektedir. Bu kodlar aşağıdaki tabloda açıklanmaktadır. Teslimat konfirmasyonu talebinin iletildiği tarihi gösterir. <> formatına sahiptir. Burada:  Y – Yılı temsil eder. 4 haneli sayı.  A – Ayı temsil eder. 2 haneli sayı.  G – Günü temsil eder. 2 haneli sayı.  S – Saati temsil eder. Değerler 00’dan 24’e kadar. 2 haneli sayı.  D – Dakikayı temsil eder. 2 haneli sayı  S – Saniyeyi temsil eder. 2 haneli sayı.ORDER_HASH Talep imzasını gösterir. Bu imza, yukarıdaki tüm alanlardan (1-4) tam olarak aynı sırada oluşturulan bir HMAC_MD5 tipi imzadır.Yanıt kodlarının ve mesajlarının anlamları aşağıda gösterildiği gibidir:Yanıt Kodu Yanıt Mesajı12 Konfirme edildi.3 ORDER_REF eksik veya yanlış.4 ORDER_AMOUNT eksik veya yanlış.5 ORDER_CURRENCY eksik veya yanlış.6 IDN_DATE doğru formatta değil.7 Siparişin konfirme edilmesinde hata oluştu.8 Sipariş daha önceden konfirme edilmiş.9 Bilinmeyen hata.10 Geçersiz ORDER_REF.11 Geçersiz ORDER_AMOUNT. Geçersiz ORDER_CURRENCY.Not: PayU’dan geçersiz bir yanıt gelmesi halinde sipariş konfirme edilmez.HTTP POST talebine ait yanıt HASH imzası, aşağıdaki veriler kullanılarak hesaplanır:Alan Adı Uzunluk Alan DeğeriORDER_REF 7 1000500 1RESPONSE_CODE 1 Konfirme Edildi 2012-04-26RESPONSE_MSG 9 17:46:58IDN_DATE 19

HASH alanları, hem küçük harfli hem de büyük harfli karakterler içerebilirler (onaltılık düzende dizi).Dizi: 71000500119Confirmed192012-04-27 17:46:58MD5 HASH Değeri: d317bb75d8f1d7fd203314914621c17c

Anında İptal/Geri Ödeme Bildirimi (IRN), PayU aracılığıyla ödemesi yapılan siparişler için doğrudan sipariş yönetimiuygulamasından/platformundan iptal/geri ödeme talepleri göndermeyi otomatikleştirmenizi mümkün kılar.İşlem, HMAC_MD5 ile doğrulanmış sipariş bilgilerinin HTTP POST aracılığıyla aşağıdaki URL’ye gönderilmesini gerektirir:https://secure.payu.com.tr/order/irn.phpBu işlem bir siparişin iptalinin, ödenen tutarın kısmi veya tamamen geri ödenmesinin gerekli olduğu durumlardauygulanmalıdır.PayU sunucusu, aşağıda belirtilen sıraya kesinlikle uyacak şekilde, aşağıdaki yapıda paketlenmiş olan veriler bekler:MERCHANT Satıcının kimliği. PayU yönetim arayüzünde “Account administrator” / “Account Settings” bölümlerinde mevcuttur.ORDER_REFORDER_AMOUNT PayU sisteminde siparişe ait referans numarası. PayU tarafından alınmış olduğu şekilde iptal edilecek/geri ödenecek olan sipariş tutarı. ORDER_AMOUNT değeri ile gösterilen bu tutarın siparişin toplam tutarından az olması

halinde KISMİ GERİ ÖDEME talep edilecektir. ORDER_AMOUNT değerinin sipariş değerine eşit olması halinde TAM GERİ ÖDEME TALEBİ hazırlanacaktır.ORDER_CURRENCY Sipariş tutarının belirtildiği para birimi.IRN_DATE İptal/geri ödeme talebinin hazırlandığı tarih, format: Y-a-g S:d:s (örn.: 2012-04-26 14:30:56)ORDER_HASH Gönderilen veriye ait HMAC_MD5 imzası. (HMAC, RFC 2104’de tanımlanmıştır)REF_URL (opsiyonel) HTTP GET aracılığıyla yanıtın gönderildiği URL (istenmesi halinde). Parametrenin gönderilmemesi veya doğru bir değere sahip olmaması halinde, yanıt sayfa içerisinde gösterilecektir. (örn.: http://www.my-website.com/irn.php)PRODUCTS_IDS İPTAL/GERİ ÖDEME talebinin hazırlandığı ürünlerin kimliklerini içeren dizin.PRODUCTS_QTY PRODUCTS_IDS’de ürünlere ilişkin miktarları içeren dizin.REGENERATE_CODES Ürünle ilişkilendirilen statik listeye yeniden tahsis edilecek olan kodları içeren dizin.LICENSE_HANDLING Lisansla ilgili olarak işleme alınacak olan eylemleri içeren dizin. LICENSE_HANDLING, ‘CANCEL’ veya ‘NONE’ değerlerine sahip olabilir.AMOUNT Geri ödeme tutarını gösteren sayısal değer (PRODUCTS_IDS*PRODUCTS_QTY öğelerinin değerinin tamamının toplamı). KDV ve vergileri içermelidir. PRODUCTS_IDS parametresinin mevcut olması halinde, aşağıda belirtilen doğrulamalar gerçekleştirilir: PRODUCTS_IDS dizininin boş olmaması gerekmektedir; PRODUCTS_QTY dizininin boş olmaması gerekmektedir; PRODUCTS_QTY ve PRODUCTS_IDS dizinleri aynı uzunluğa sahip olmalıdır; PRODUCTS_QTY dizininde bulunan miktarlar, siparişte bulunan miktarlardan az veya eşit olmalıdır; PRODUCTS_IDS[i] * PRODUCTS_QTY[i] şeklinde ürünlerin tutarı ORDER_AMOUNT değerine eşit olmalıdır. LICENSE_HANDLING, REGENERATE_CODES, PRODUCTS_IDS, PRODUCTS_QTY parametreleri gerekli değildir, ancak gönderilmeleri halinde HASH imzası hesaplamasına dahil edilirler. REGENERATE_CODES parametresinin bulunması, ürüne atanan anahtar listesinin dinamik olması halinde bir hata oluşturmaz.1 $irn = array(2 'MERCHANT'=>$_GET[\"MERCHANT\"],3 'ORDER_REF' => 3954142,4 'ORDER_AMOUNT'=> 39.99,5 'ORDER_CURRENCY'=> 'USD',6 'PRODUCTS_IDS'=> array ( 35386, 35387 ),7 'PRODUCTS_QTY'=> array ( 1,2 ),8 'REGENERATE_CODES'=> array ( '1234-5678-9012-3456' ),9 'LICENSE_HANDLING'=> array ( 'CANCEL' ),10 'AMOUNT'=> '12.56',11 'IRN_DATE'=> tarih( 'Y-m-d H:i:s' ),12 'ORDER_HASH'=> 603ced7568f22d656937e8bf0b1b44a9);İPTAL, Satıcı tarafından ürünlerin teslimatı konfirme edildiğinde ve ürünler son müşteriye (Alıcıya) teslim edildiğinde birsiparişin iptal edilmesi işlemidir.İPTAL işlemi durumunda, ödeme konfirmasyonunun ardından kilitlenen işlem tutarı, İPTAL işlemini gerçekleştiren finansdepartmanının onayının ardından PayU tarafından açılır ve Satıcıya PayU işlem komisyonu ücretlendirilmez. İşleme PayUyönetim arayüzünde ve ödeme bildirimlerinde İPTAL durumu girilir.

GERİ ÖDEME, Satıcı tarafından teslimat konfirmasyonunun yapılmasını ardından bir siparişin iptal edilmesi işlemidir.Spesifik bir ödeme için İPTAL/GERİ ÖDEME işlemi onaylandığında, Satıcıya iptal edilen siparişin durumunu (örn. İPTALveya GERİ ÖDEME) ve eksi değerle gösterilecek şekilde iptal edilen toplam tutarı gösteren bir IPN/e-mail konfirmasyonugönderilir.Aşağıdaki verilere sahip olduğumuzu varsayalım: Uzunluk (bayt) Alan değeriAlan adı 4 TEST 7 1000500MERCHANT 4 22.5ORDER_REF 3 RONORDER_AMOUNT 5 12.56ORDER_CURRENCY 19 2012-04-26AMOUNT 14:30:56IRN_DATEGönderilen veriyi doğrulamak için, hesabınıza bağlı gizli anahtarla kodlanacak olan bir HMAC_MD5 imzasıhesaplanmalıdır. Gizli Anahtar Kontrol Panelinde Hesap Yönetimi / Hesap Ayarları bölümünde mevcuttur.HMAC_MD5 imzasının kaynak dizisi, “yeni satır” karakterleri olmadan her bir alan değerinin başlangıcına alanuzunluğunu ekleyerek oluşturulur (UTF-8 karakterler için, bayt olarak dizi uzunluğu karakter sayısından fazla olabilir).Yukarıda verilen verilerle kaynak dizisi aşağıdaki gibi olur:4TEST71000500422.53RON512.56192012-04-26 14:30:56Veri doğrulama için gizli anahtar:AABBCCDDEEFFYukarıdaki veriler için hesaplanan HMAC_MD5 imzası:466b8bbd329f003c1d4e5b1003ab50aePayU, göndermiş olduğunuz bilgilerin başarılı bir şekilde alınmış olduğunu aşağıda belirtildiği şekilde bilgileri alansayfanın içerisine bir yanıt yerleştirerek doğrular:1 <EPAYMENT>ORDER_REF|RESPONSE_CODE|RESPONSE_MSG|IRN_DATE|ORDER_HASH </EPAYMENT>PayU tarafından gönderilen doğrulama yanıtı içerisindeki parametreler:ORDER_REF IRN tarafından alınan PayU sistemindeki sipariş referansıRESPONSE_CODE İptal/geri ödeme talebi için yanıt kodu

RESPONSE_MSG İptal/geri ödeme talebi için yanıt mesajıIRN_DATE Sipariş iptali/geri ödemesi talebi yanıtının gönderildiği tarih, format: Y-a-g S:d:s (örn.: 2012-04-26 14:30:56)ORDER_HASH Veri doğrulama için HMAC_MD5 imzasıREF_URL parametresinin IRN aracılığıyla gönderilmesi ve geçerli bir URL içermesi halinde, yanıt aşağıda gösterilenebenzeyen bir URL’ye gönderilir:REF_URL = http://www.mysite.com/callback.phpYanıt:http://www.mysite.com/callback.php?ORDER_REF=valoare&RESPONSE_CODE= valoare&RESPONSE_MSG=valoare&IRN_DATE=valoare&ORDER_HASH=valoareYanıt kodları ve mesajlar şöyledir:OKORDER_REF eksik veya formatı hatalıORDER_AMOUNT eksik veya formatı hatalıPRODUCTS_IDS eksik veya formatı hatalıPRODUCTS_QTY eksik veya formatı hatalıORDER_CURRENCY eksik veya formatı hatalıIRN_DATE doğru formatta değilSiparişin iptal edilmesinde hata oluştuSipariş daha önceden iptal edilmişBilinmeyen hataGeçersiz ORDER_REFGeçersiz ORDER_AMOUNTGeçersiz ORDER_CURRENCYGeçersiz PRODUCTS_QTYGeçersiz REGENERATE_CODESGeçersiz LICENSE_HANDLINGAMOUNT eksik veya formatı hatalıGeçersiz AMOUNT

IOS, bir siparişin durumu için PayU platformunda sorgulama yapmayı mümkün kılmaktadır.IOS, https://secure.payu.com.tr/order/ios.php adresi üzerinden HTTP POST veya HTTP GET ile çalıştırılabilir.PayU veritabanında yapılacak olan sorgulama, her seferinde bir sipariş için olmak üzere ayrı ayrı yapılabilecektir.Bir sipariş durumu için PayU sisteminde sorgulama yapmak için aşağıdaki parametreler gerekmektedir:MERCHANT PayU’daki satıcı tanımlama kodu.REFNOEXT Satıcı tarafından siparişle birlikte gönderilen harici referans numarası.HASH Talep imzası (Yukarıda belirtilen alanlarla oluşturulan bir dizi üzerinden HMAC MD5).Talep, gönderilen veriler ve bir paylaşımlı anahtar (PayU/satıcı) kullanılarak hesaplanan bir HMAC_MD5 imzası iledoğrulanır. İmzanın oluşturulacağı dizi şu şekilde oluşturulur: parametre uzunluğu + parametre değeri. MERCHANT: EPAYMENT REFNOEXT: EPAY10425 İmzanın hesaplandığı dizi: 8EPAYMENT9EPAY10425 Gizli anahtar: AABBCCDDEEFF HASH: 9937070708323db2dd9d154b7bd010a5PayU sistemi, aşağıda belirtilen değerlerle XML formatında “inline” olarak yanıt verecektir:ORDER_DATE Sipariş tarihi, format: Y-a-g S:D:s (Y-yıl-4 hane, a-ay-2 hane, g-gün-2 hane, S-saat-2 hane, d- dakika-2 hane, s-saniye-2 hane)REFNOREFNOEXT Siparişe ait global PayU referans numarası (maksimum 9 karakter).ORDERSTATUS LiveUpdate aracılığıyla sipariş için verilen satıcı referans numarası (maksimum 10 karakter). Geçerli sipariş durumu. Olası değerler:  NOT_FOUND – mevcut olmayan/tamamlanmamış sipariş  WAITING_PAYMENT – sipariş verildi ve ödemesi bekleniyor  CARD_NOTAUTHORIZED – ödeme için kullanılan karta provizyon verilmedi  IN_PROGRESS – ödemeye provizyon verildi, sipariş onay sürecinde  PAYMENT_AUTHORIZED – ödemeye provizyon verildi, sipariş onaylandı

PAYMETHOD  COMPLETE – tamamlanan sipariş (ücretlendirildi/teslim edildi)HASH  FRAUD – dolandırıcılık şüphesi bulunan sipariş  INVALID – müşteri tarafından geçersiz bilgi girildi  TEST – test siparişi  CASH – teslimatta nakit ödemeli sipariş  REVERSED – sipariş iptali, müşteri hesabında paranın kilidi açıldı  REFUND – sipariş geri ödemesi, tutar müşteri hesabına havale edildi Kullanılan ödeme yöntemi (maksimum 40 karakter) Talep imzası (yukarıda belirtilen tüm alanlarda HMAC MD5)1 <!--?xml version=\"1.0\" ?-->2 <order>3 <order_date>2006-10-26 10:15:00</order_date>4 <refno>1074992</refno>5 <refnoext>EPAY10425</refnoext>6 <order_status>PAYMENT_AUTHORIZED</order_status>7 <paymethod> Kredi kartı/banka kartı (Visa/MasterCard)</paymethod>8 </order>Satıcının aynı harici referansla birden fazla sipariş göndermesi halinde, sorgulama ilgili referans için veritabanında en sontarihli işleme ilişkin bilgileri verir.

ALU, LiveUpdate (LU) parametrelerine benzer bir set kullanarak PayU sisteminde işlemlerin yapılmasını sağlar. ALU’nunsunmakta olduğu en önemli avantaj, iki yan etkiye sahip olarak kart verilerini de içermesidir: 1. Satıcı, satıcı tarafında kart bilgilerini toplayabilmek için PCI DSS uyumlu olmalıdır. 2. PayU platformunun dolandırıcılık önleme özellikleri maksimum performansta çalışmaz.Talep, https://secure.payu.com.tr/order/alu.php URL’si üzerinden HTTP POST kullanılarak yapılmaktadır.MERCHANT Satıcının kimliği, Kontrol Panelinde (Hesap Yönetimi / Hesap Ayarları) mevcuttur.ORDER_REF Satıcının sistemindeki sipariş referans numarası (kolay sipariş kimliği için).ORDER_DATE Siparişin sistemde başlatıldığı tarih, YYYY-AA-GG SS:DD:SS formatında (örn.: \"2012-05-01 21:15:45\").ORDER_PNAME[] Ürün isimlerini içeren dizin. (maksimum uzunluk: ürün adı başına 155 karakter)ORDER_PCODE[] Ürün kodlarını içeren dizin. (maksimum uzunluk: ürün kodu başına 50 karakter) Aynı ürün kodu ile birden fazla ürün gönderiliyorsa (aynı veya sonraki işlemlerde), PayU ilgili ORDER_PCO ve vergiler olmak üzere diğer tüm ürün bilgilerinin üzerini yazarak).ORDER_PINFO[] Ek ürün bilgilerini içeren dizin. (opsiyonel, ürün adı altında ödeme sayfalarında gösterilir)ORDER_PRICE[] Pozitif sayı şeklinde ve ondalık ayırıcısı olarak nokta (.) ile ürün fiyatlarını içeren dizin.ORDER_QTY[] Her bir ürünün miktarlarını içeren dizin.ORDER_VAT[] Siparişteki her bir ürüne ilişkin KDV değerlerini içeren dizin.ORDER_SHIPPING Siparişe ilişkin gönderim masrafları.PRICES_CURRENCY Fiyatların, vergilerin, gönderim masraflarının ve indirimlerin ifade edildiği para birimi. Kabul edilen değerler: TRY, EUR, USD. Parametrenin belirtilmemiş olması halinde, varsayılan değer TRY’dir. *Fiyatların belirtildiği para birimi dışında bir para birimiyle işlem yapmak için CURRENCY parametresini kuDISCOUNT Pozitif sayı şeklinde ve ondalık ayırıcısı olarak nokta (.) ile siparişe ait indirim değeri. (opsiyonel)DESTINATION_CITY Sipariş teslimatının yapılacağı şehir. (opsiyonel) Parametrenin belirtilmiş olması halinde, müşteri bu değeri PayU ödeme sayfalarında değiştiremeyecektir.DESTINATION_STATE Sipariş teslimatının yapılacağı eyalet (ülke). (opsiyonel) Parametrenin belirtilmiş olması halinde, müşteri bu değeri PayU ödeme sayfalarında değiştiremeyecektir. Doğrulamaya yönelik olası değerler, Kontrol Panelinde \"State/Country List\" bölümünde mevcuttur.DESTINATION_STATE Sipariş teslimatının yapılacağı ISO 2 karakterleri ülke kodu. (opsiyonel) Parametrenin belirtilmiş olması halinde, müşteri bu değeri PayU ödeme sayfalarında değiştiremeyecektir.PAY_METHOD İşleme ait ödeme yöntemi (opsiyonel). Parametrenin belirtilmiş olması halinde, müşteri bu değeri PayU ödeme sayfalarında değiştiremeyecektir. Parametrenin belirtilmemiş olması halinde, hesapta aktif olan ödeme yöntemlerini içeren bir açılır liste gör Olası değerler:  CCVISAMC - VISA/MasterCard (varsayılan)ORDER_HASH Gönderilen veri için HMAC_MD5 imzası. (HMAC, RFC 2104’te tanımlanır)CC_NUMBER: Sipariş provizyonunun verileceği kart numarası.EXP_MONTH: Kartın son kullanımının geldiği tarih.EXP_YEAR: Kartın son kullanımının geldiği yıl.

CC_TYPE: Ödeme için kullanılan kart çeşidi.Olası değerler: VISA ELECTRON MASTERCARD MAESTROCC_CVV: Kartın CCV/CVV2 kodu.CC_OWNER: Kartta gözüktüğü şekliyle kart sahibinin adı. MERCHANT: EPAYMENT REFNOEXT: EPAY10425 İmzanın hesaplandığı dizi: 8EPAYMENT9EPAY10425 Gizli anahtar: AABBCCDDEEFF HASH: 9937070708323db2dd9d154b7bd010a5PayU sistemi, aşağıda belirtilen değerlerle XML formatında “inline” olarak yanıt verecektir:ORDER_DATE Sipariş tarihi, format: Y-a-g S:D:s (Y-yıl-4 hane, a-ay-2 hane, g-gün-2 hane, S-saat-2 hane, d-dakika-2 hane,REFNOREFNOEXT Siparişe ait global PayU referans numarası (maksimum 9 karakter).ORDERSTATUS LiveUpdate aracılığıyla sipariş için verilen satıcı referans numarası (maksimum 10 karakter). Geçerli sipariş durumu. Olası değerler:  NOT_FOUND – mevcut olmayan/tamamlanmamış sipariş  WAITING_PAYMENT – sipariş verildi ve ödemesi bekleniyor  CARD_NOTAUTHORIZED – ödeme için kullanılan karta provizyon verilmedi  IN_PROGRESS – ödemeye provizyon verildi, sipariş onay sürecinde  PAYMENT_AUTHORIZED – ödemeye provizyon verildi, sipariş onaylandı  COMPLETE – tamamlanan sipariş (ücretlendirildi/teslim edildi)  FRAUD – dolandırıcılık şüphesi bulunan sipariş  INVALID – müşteri tarafından geçersiz bilgi girildi  TEST – test siparişi  CASH – teslimatta nakit ödemeli sipariş  REVERSED – sipariş iptali, müşteri hesabında paranın kilidi açıldı  REFUND – sipariş geri ödemesi, tutar müşteri hesabına havale edildiPAYMETHOD Kullanılan ödeme yöntemi (maksimum 40 karakter)HASH Talep imzası (yukarıda belirtilen tüm alanlarda HMAC MD5)1 <!--?xml version=\"1.0\" ?-->2 <order>3 <order_date>2006-10-26 10:15:00</order_date>4 <refno>1074992</refno>5 <refnoext>EPAY10425</refnoext>6 <order_status>PAYMENT_AUTHORIZED</order_status>

7 <paymethod> Kredi kartı/banka kartı (Visa/MasterCard)</paymethod>8 </order>Satıcının aynı harici referansla birden fazla sipariş göndermesi halinde, sorgulama ilgili referans için veritabanında en sontarihli işleme ilişkin bilgileri verir.


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook