cesm-i_asik
OpenCart-TR
Merhaba, İpara ödeme sistemi güncelleme yapılması gerekiyor ipara yetkililerinden gelen güncelleme bu şekilde olacağına dair nasıl yapılacağı konusunda hiçbir açıklama yapamadıklarını bildirdiler. gelen e-maili aşşağıda yazıyor yardımlarınızı bekliyoruz en kısa zamanda.
Satıcı Mağaza
Bildirim Yapısı Teknik Entegrasyon Dokümanı (TED)
Versiyon: 1.1
ÖNSÖZ
Bu doküman iPara üye işyeri olan satıcı mağazaların iPara ödeme sistemi bildirim yapısına teknik entegrasyonu nasıl sağlayacaklarını anlatmaktadır.
TANITIM
iPara bildirim yapısı satıcı mağazaların iPara’da ödeme gerçekleştirdikten sonra o ödeme ile ilgili kontrol sonucunun veya durum değişimlerinin satıcı mağaza sistemlerine yazılımsal olarak yansıması için geliştirilmiş bir yapıdır. Satıcı mağazaya iletilen ödeme sonuçları ve iPara ödeme kontrolü sonucunda bu ödemeye ait tüm olası durum değişimleri aşağıdaki tablodadır.
Ödeme Sonucu Ödeme Kontrolü Sonucu Ödeme Durumları result : 1, statusCode : 1 Ödeme başarılı ve onaylı, satıcı mağaza ürünleri kargoya verebilir Ödeme İptal Edildi result : 1, statusCode : 2 Ödeme başarılı fakat ödeme kontrole düşmüş, satıcı mağaza kargoyu bekletmeli Ödemeye Onaylandı veya Ödeme İptal Edildi
Ödeme kontrol sonucunda yukarıdaki tabloda anlatılan durum değişimleri gerçekleştiğinde iPara tarafından bir bildirim satıcı mağazanın bildirim URL’ine iletilir. Bu bildirim URL’i satıcı mağaza tarafından hazır olunduğunda entegrasyon@ipara.com eposta adresine iletilmelidir. Bildirim URL’i böylece iPara sistemine tanımlı olacak ve durum değişimleri satıcı mağazaya iletilmeye başlanacaktır.
ENTEGRASYON
iPara Bildirim yapısı tarafından http request parameter olarak iletilen durum değişimi bildirimlerine ait alanlar ve özellikleri aşağıdaki gibidir. Alan Adı Zorunlu mu? Açıklama merchantOrderId Evet Mağazanın ilgili sipariş ile ilişkilendirdiği sipariş kodu
previousState Evet Ödeme önceki durumu 1 : ödeme onaylı 2 : ödeme kontrolde newState Evet Ödeme yeni durumu 0 : ödeme iptal edildi 1 : ödeme onaylandı token Evet Her bir ödeme isteği için üretilen anahtardır. privateKey, merchantOrderId, previousState, newState verilerinin SHA1 kriptografik hash fonksiyonun base64 methodu ile encode edilmesi sonucunda bu değer oluşur.
TEST
https://entegrasyon.ipara.com/bildirim-test adresinden test işlemlerinizi gerçekleştirebilirsiniz. Bu ekranda; entegrasyon ortamındaki mağazanızın public key’ini (eğer public ve private keyler entegrasyon ortamı için tarafınıza iletilmemiş ise lütfen iPara operasyon ekibi ile irtibata geçiniz.) ve test işlemi için herhangi bir sipariş id verisini girerek, iPara Operasyon ekibine daha önceden iletmiş olduğunuz bildirim URL’ine test bildirimler gönderebilirsiniz. (Bildirim URL’ini henüz iletmemiş iseniz lütfen iPara Operasyon ekibi ile irtibata geçiniz.)
Bilgiler http request parameter olarak iletilmektedir. Aşağıda iPara tarafından gönderilen bildirim bilgisinin nasıl alınacağı ile ilgili örnek java kodu mevcuttur.
public class IparaNotificationServiceServlet extends HttpServlet {
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String merchantOrderId = request.getParameter("merchantOrderId");// Mağaza Sipariş Numarası String previousState = request.getParameter("previousState"); // Ödemenin önceki durumu String newState = request.getParameter("newState"); // Ödemenin yeni durumu String token = request.getParameter("token"); // Bildirim kontrol token bilgisi
String myMerchantPrivateKey = "MY_MERCHANT_PRIVATE_KEY"; // Mağazanızın entegrasyon // ortamındaki Private Key bilgisi
// token kontrolü StringBuilder buffer = new StringBuilder(); buffer.append(myMerchantPrivateKey); buffer.append(merchantOrderId); buffer.append(previousState); buffer.append(newState);
try { MessageDigest sha1 = MessageDigest.getInstance("SHA-1"); String myToken = (new BASE64Encoder()).encode(sha1.digest(buffer.toString().getBytes())); if (myToken.equals(token)) { // continue transaction } else { // end transaction } } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } } }
REVİZYON GEÇMİŞİ
Versiyon Numarası Tarih Açıklama
1.0 01/09/13 1.1 10/12/13 Test bilgileri eklendi.
Satıcı Mağaza
Bildirim Yapısı Teknik Entegrasyon Dokümanı (TED)
Versiyon: 1.1
ÖNSÖZ
Bu doküman iPara üye işyeri olan satıcı mağazaların iPara ödeme sistemi bildirim yapısına teknik entegrasyonu nasıl sağlayacaklarını anlatmaktadır.
TANITIM
iPara bildirim yapısı satıcı mağazaların iPara’da ödeme gerçekleştirdikten sonra o ödeme ile ilgili kontrol sonucunun veya durum değişimlerinin satıcı mağaza sistemlerine yazılımsal olarak yansıması için geliştirilmiş bir yapıdır. Satıcı mağazaya iletilen ödeme sonuçları ve iPara ödeme kontrolü sonucunda bu ödemeye ait tüm olası durum değişimleri aşağıdaki tablodadır.
Ödeme Sonucu Ödeme Kontrolü Sonucu Ödeme Durumları result : 1, statusCode : 1 Ödeme başarılı ve onaylı, satıcı mağaza ürünleri kargoya verebilir Ödeme İptal Edildi result : 1, statusCode : 2 Ödeme başarılı fakat ödeme kontrole düşmüş, satıcı mağaza kargoyu bekletmeli Ödemeye Onaylandı veya Ödeme İptal Edildi
Ödeme kontrol sonucunda yukarıdaki tabloda anlatılan durum değişimleri gerçekleştiğinde iPara tarafından bir bildirim satıcı mağazanın bildirim URL’ine iletilir. Bu bildirim URL’i satıcı mağaza tarafından hazır olunduğunda entegrasyon@ipara.com eposta adresine iletilmelidir. Bildirim URL’i böylece iPara sistemine tanımlı olacak ve durum değişimleri satıcı mağazaya iletilmeye başlanacaktır.
ENTEGRASYON
iPara Bildirim yapısı tarafından http request parameter olarak iletilen durum değişimi bildirimlerine ait alanlar ve özellikleri aşağıdaki gibidir. Alan Adı Zorunlu mu? Açıklama merchantOrderId Evet Mağazanın ilgili sipariş ile ilişkilendirdiği sipariş kodu
previousState Evet Ödeme önceki durumu 1 : ödeme onaylı 2 : ödeme kontrolde newState Evet Ödeme yeni durumu 0 : ödeme iptal edildi 1 : ödeme onaylandı token Evet Her bir ödeme isteği için üretilen anahtardır. privateKey, merchantOrderId, previousState, newState verilerinin SHA1 kriptografik hash fonksiyonun base64 methodu ile encode edilmesi sonucunda bu değer oluşur.
TEST
https://entegrasyon.ipara.com/bildirim-test adresinden test işlemlerinizi gerçekleştirebilirsiniz. Bu ekranda; entegrasyon ortamındaki mağazanızın public key’ini (eğer public ve private keyler entegrasyon ortamı için tarafınıza iletilmemiş ise lütfen iPara operasyon ekibi ile irtibata geçiniz.) ve test işlemi için herhangi bir sipariş id verisini girerek, iPara Operasyon ekibine daha önceden iletmiş olduğunuz bildirim URL’ine test bildirimler gönderebilirsiniz. (Bildirim URL’ini henüz iletmemiş iseniz lütfen iPara Operasyon ekibi ile irtibata geçiniz.)
Bilgiler http request parameter olarak iletilmektedir. Aşağıda iPara tarafından gönderilen bildirim bilgisinin nasıl alınacağı ile ilgili örnek java kodu mevcuttur.
public class IparaNotificationServiceServlet extends HttpServlet {
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String merchantOrderId = request.getParameter("merchantOrderId");// Mağaza Sipariş Numarası String previousState = request.getParameter("previousState"); // Ödemenin önceki durumu String newState = request.getParameter("newState"); // Ödemenin yeni durumu String token = request.getParameter("token"); // Bildirim kontrol token bilgisi
String myMerchantPrivateKey = "MY_MERCHANT_PRIVATE_KEY"; // Mağazanızın entegrasyon // ortamındaki Private Key bilgisi
// token kontrolü StringBuilder buffer = new StringBuilder(); buffer.append(myMerchantPrivateKey); buffer.append(merchantOrderId); buffer.append(previousState); buffer.append(newState);
try { MessageDigest sha1 = MessageDigest.getInstance("SHA-1"); String myToken = (new BASE64Encoder()).encode(sha1.digest(buffer.toString().getBytes())); if (myToken.equals(token)) { // continue transaction } else { // end transaction } } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } } }
REVİZYON GEÇMİŞİ
Versiyon Numarası Tarih Açıklama
1.0 01/09/13 1.1 10/12/13 Test bilgileri eklendi.