Mobil Ödeme Çözümleri

Wirecard, kuruluşunuzun ihtiyaçlarına, sistem gereksinim ve işlem hacimlerine paralel olarak çeşitli ödeme yöntemleri sunmaktadır.

Bu ödeme yöntemleri sırasıyla; WIRECARD Statik Ortak Ödeme, Wirecard Dinamik Ortak Ödeme Sayfası ve Üye İşyeri Ödeme Sayfası olarak üç farklı şekilde sıralanmaktadır.

WIRECARD Statik Ortak Ödeme Sayfası Entegrasyonu

Az ve sabit sayıda ürünü olan, ürün fiyatları sık değişmeyen, detaylı sistem entegrasyonu yapmak istemeyen, satışları bir web sitesi üzerinden yapan kuruluşlar için uygun bir çözümdür.
Mobil ödemeye ek olarak kredi kartı ile ödeme yapılması da mümkündür.

Bu kurguda kuruluşun yetkilisi tarafından Wirecard panelinde bir ürün tanımlanır ve panelde ürün için sunulan sabit link, satış yapılacak web sitesinde ürünün satış sayfasına eklenir. Bu link, müşteriyi Wirecard ortak ödeme sayfasına yönlendirerek ödeme yapılmasını sağlar ve işlem sonunda siteye geri yönlendirir.

Her yeni ürün için üye işyeri yetkilisi tarafından ayrı bir ürün oluşturulmalı, ürünlerin fiyatları her değiştiğinde panelden bu fiyatlar güncellenmelidir.

WIRECARD Statik Ortak Ödeme Sayfası Entegrasyonları için aşağıdaki adımları takip edebilirsiniz;

  1. https://www.wirecard.com.tr adresinden üye işyeri kullanıcı adı ve şifresiyle giriş yapılır.
  2. Bilgiler bölümündeki Ürünler linkine tıklanır.
  3. Soldaki Yeni Ekle linkine tıklanır.
  4. Ürüne ilişkin bilgiler doldurularak Ekle butonuna tıklanır.
  5. Oluşturulan ürüne Wirecard tarafından onay verilmesi sağlanır (bd@3pay.com adresine talep iletilerek).
  6. Panelde Ürünler linkine tıklanır, ilgili ürünün ürün detayı ikonuna tıklanır.
  7. Açılan sayfada Web Satış Kanalı kutusundaki Satış Adresi linki üye iş yerinin web sitesinde satış için kullanılır.
    • Örnek satış adresi şu şekildedir:
    • Üye işyeri tarafından tercihe bağlı olarak her işlem için unique bir ID eklenebilir. Bunun için adresin sonuna mpay parametresi ile değer eklenmelidir: Bu mpay değeri ile sorgulama yapmanız veya kendi işlem numaranız ile tahsilat numarasını eşleştirmeniz mümkün olacaktır.
  8. Müşteri ödemeyi başarıyla tamamladıktan sonra aşağıdaki tabloda Başarılı URL ile açıklanan adrese geri yönlendirilir. Bu URL’de aşağıdaki parametreler Wirecard Ödeme tarafından adrese eklenir:
    pid İşlem numarası(Eski Format)
    mpy Üye işyeri tarafından tanımlanan ve işlem sırasında gönderilen, işlem takibi için kullanılabilecek değer. (parametre “mpay” değildir!)
    sid Abonelik numarası (Abonelik dışındaki işlemlerde bu değer boş döner) (eski format)
    order Sipariş numarası(Yeni Format)
    subscriber Abonelik numarası(Yeni Format)
    Örnek sonuç URL’i şu şekildedir: Ürün bilgileri doldurulurken gereken alanların açıklaması aşağıdaki gibidir:
    SMS Şirket Adı Müşteri tarafından görülecek firma adıdır. Not: Ortak ödeme sayfasında ve onay SMS’inde bu ad görüneceği için dikkatle seçilmesi gereklidir.
    Ürün Adı Müşteri tarafından görünecek ürün adıdır. (Örnek: Wordpress Teması Satışı, Deneme.com 1 Aylık Abonelik) Not: Ortak ödeme sayfasında bu ad görüneceği için dikkatle seçilmesi gereklidir.
    Ürün Kategorisi Wirecard ile satılan hizmetler/ürünler kategorilere ayrılmıştır. Her bir kategorinin komisyon oranının farklı olmasından dolayı, doğru kategorinin seçilmesi önemlidir. Hatalı kategori seçilerek işlem yapılması durumunda sözleşme gereği cezalar uygulanmaktadır. Güncel oranlar için web sitemizi ziyaret edebilirsiniz.
    Satış Türü Satış türü Tekil Ürün Satışı ve Abonelik olarak ikiye ayrılmıştır. Tekil Ürün Satışı seçildiğinde sistem belirlenen ücreti sadece 1 defa çekmektedir. Abonelik seçildiğinde ise aylık veya haftalık olarak aynı tutar düzenli bir şekilde, tekrar bir onay istenmeden tahsil edilmektedir.
    Açıklama Ürünün içeriğini anlatan bilgilendirmedir. Müşteri memnuniyeti için bunun çok önemli olduğunu hatırlatırız.
    Ürün Fiyatı Wirecard ile satışını yapacağınız ürünün/hizmetin fiyatıdır. İlk olarak Lira kısmı daha sonra kuruş kısmı yazılır.
    Müşteri Hizmetleri E-Posta Müşteriler için destek verilecek ödeme ve siparişlerle ilgilenen birimin mail adresidir.
    Web Adresi Ürünü yayınlayacağınız web sitesinin adresidir. Ürünü ekledikten sonra Wirecard tarafından web sitesi kontrol edilecektir.
    Başarılı URL Ödeme başarıyla tamamlandığında müşterinin yönlendirileceği Internet adresidir. (Örnek: http://www.deneme.com/odemebasarili.aspx)
    Başarısız URL Ödeme başarısız olduğunda müşterinin yönlendirileceği Internet adresidir. (Örnek: http://www.deneme.com/basarisiz.aspx)

WIRECARD Dinamik Ortak Ödeme Sayfası Entegrasyonu

WIRECARD Dinamik Ortak Ödeme Sayfası, web servis tabanlı olan ve ödeme işlemini Wirecard ortak ödeme sayfası üzerinden gerçekleştiren bir Wirecard çözümüdür. Satışı bir web sitesi üzerinden yapan, çok sayıda ve değişken fiyatlı ürün veya hizmetleri bulunan şirketler için uygun bir çözümdür. Mobil ödemeye ek olarak kredi kartı ve TTNET Ödeme ile ödeme yapılması da mümkündür.

Bu modelde üye işyeri ürünün fiyat ve kategori bilgilerini Wirecard tarafından sunulan web servise iletir. Wirecard web servisi, üye işyeri web sitesinden iletilen bilgileri kullanarak her işlem için ayrı bir link üreterek üye işyerine response(yanıt) olarak bu linki döner. Üye işyeri web sitesi ise müşteriyi bu linke yönlendirir. Müşteri bu linkteki Wirecard ortak ödeme sayfasında telefon veya kredi kartı numarasını girerek işlemini yapar ve web sitesine geri yönlendirilir.

Wirecard sisteminde Wirecard Dinamik Ortak Ödeme Sayfası ile işlem yapılabilmesi için integration@3pay.com adresine yetki talebi iletilir.

Servis Girdi Parametreleri

Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı Veri Tipi Açıklama
Token Token Sınıfı

Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.

Input Input Sınıfı

Input Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.

Token Bilgileri
Parametre Adı Veri Tipi Açıklama
UserCode String

Wirecard tarafından atanan üye iş yeri numarası

Pin String

Wirecard tarafından atanan pin

Input Bilgileri
Parametre Adı Veri Tipi Açıklama
MPAY String

Üye iş yeri tarafından tanımlanan bir değer. Kullanımı isteğe bağlıdır. İşlemlerin üye işyeri sisteminde temsil edildiği ID ya da kullanıcı adı gibi değerler kullanılabilir.

Content String

Sipariş içeriği/tanımı

SendOrderResult bool

İşlem Sonuç Servisi ile işlem sonuç bilgisi gönderim isteği
"True" bilgi gönderilsin
"False" bilgi gönderilmesin

PaymentTypeId Int

Ödeme yöntemi:

  • ‘1’ Tek çekim
  • ‘2’ Aylık abonelik (iletilen miktar her ay otomatik çekilir)
  • ‘3’ Haftalık abonelik (iletilen miktar her hafta otomatik çekilir)
  • ‘4’ 2 haftalık abonelik
  • ‘5’ 3 aylık abonelik
  • ‘6’ 6 aylık abonelik
  • ‘7’ aylık denemeli (ilk ay ücretlendirme yapılmaz)
  • ‘8’ haftalık denemeli (ilk hafta ücretlendirme yapılmaz)
  • ‘9’ 2 haftalık denemeli (ilk 2 hafta ücretlendirme yapılmaz)
  • ‘10’ 3 aylık denemeli
  • ‘11’ 6 aylık denemeli
  • ‘13’ 30 günlük
  • ‘14’ Günlük abonelik

ReceivedSMSObjectId Guid

Daima ‘00000000-0000-0000-0000-000000000000’ olarak gönderilmelidir.

ProductList List

Liste tipinde gönderilecek olan MSaleProduct elemanlarını barındıran Listeyi temsil eder. Bu Liste içerisinde tek bir adet MSaleProduct elemanı bulunmalıdır. MSaleProduct bilgileri aşağıdaki iç tabloda iç parametreleri anlatılmıştır.

SendNotificationSMS bool

Ödeme sonucunda kullanıcıya gönderilecek bilgi SMS’i isteği

  • "True" bilgi SMS’i gönderilsin
  • "False" bilgi SMS’i gönderilmesin

OnSuccessfulSMS String

SendNotificationSMS parametresi "True" verilmişse, ödemenin başarılı olması durumunda kullanıcıya gönderilecek bilgi SMSi'nin içeriğini belirtir.(Türkçe karakter kullanılmamalıdır.)

OnErrorSMS String

SendNotificationSMS parametresi "True" verilmişse, ödemenin başarısız olması durumunda kullanıcıya gönderilecek bilgi SMSi'nin içeriğini belirtir.(Türkçe karakter kullanılmamalıdır.)

RequestGsmOperator Int
  • Mobil ve kredi kartı ödemelerinde '0' olarak gönderilmelidir.
  • TTNET Ödeme ile yapılacak ödemelerde '20' gönderilmelidir.
RequestGsmType Int

Daima '0' olarak gönderilmelidir.

Url String

İşlemin gerçekleştiği sitenin adresini belirtir

SuccessfulPageUrl String

İşlem başarıyla sonuçlanırsa müşterinin, geri yönlendirileceği sayfayı belirtir.

ErrorPageUrl String

İşlem başarısız sonuçlanırsa müşterinin, geri yönlendirileceği sayfayı belirtir.

Country String

Türkiye’den yapılacak mobil ödeme işlemlerinde boş bırakılır.
Yurtdışı mobil ödeme işlemlerinde, işlemin gerçekleştirileceği ülkenin kodunu belirtir.
Ülke kodları ‘ISO 3166-1-alpha-2’ standardındadır ve buradaki adreste bulunabilir.

Currency String

Türkiye’den yapılacak mobil ödeme işlemlerinde boş bırakılır.
Yurtdışı mobil ödeme işlemlerinde, işlemin gerçekleştirileceği ülkenin para birimini belirtir.
Ülke para birim kodları ‘ISO 4217’ standardındadır ve buradaki adreste bulunabilir.

Extra String

Mobil ve TTNET Ödeme için boş gönderilmelidir.
Kredi kartı ödemeleri için "3pay=true&cconly=true" değeri gönderilmelidir. Başvuru formunuzda taksit opsiyonunu işaretlemeniz halinde taksitli işlem geçirmeye yetkiniz olur.Kredi kartıyla taksitli işlem geçirebilmeniz için extra değerinde "3pay=true&cconly=true&installments=0;3;6" değeri girilmelidir.

TurkcellServiceId String

Entegrasyon çalışması süresince, operatör onayı gelene kadar '0' gönderilir.
Entegrasyon tamamlanıp operatörlerden onay alındıktan sonra üye işyerine Wirecard tarafından bildirilen, tüm mobil işlemlerde kullanılması gereken bir değerdir.

MSaleProduct Bilgileri
Parametre Adı Veri Tipi Açıklama
ProductId Int

Daima '0' olarak iletilmelidir.

ProductCategory Int

Sipariş ile ilgili ürünün/hizmetin kategorisi:

  • ‘1’ Fiziksel Ürün
  • ‘2’ Oyun
  • ‘3’ Dijital İçerik
  • ‘4’ Servis
  • ‘5’ Sosyal Ağ/Arkadaşlık
  • ‘6’ Aidat/Otomat
  • ‘7’ Bahis
  • ‘8’ Sigorta
  • ‘10’ Kamu - Bilet - Fastfood
  • ‘11’ Cep Sigorta
  • ‘12’ Kutu Oyun
  • ‘14’ Mobil Uygulama / Mobil Market
  • ‘15’ Eğitim
  • ‘16’ Bağış (sadece Turkcell aboneleri bağış ödemesi yapabilir)
  • ‘19’ Sağlık
  • ‘20’ White Label Adult

ProductDescription String

Ürünün açıklaması

Price Double

Ödenecek tutar.

Unit Int

Daima '1' gönderilmelidir.

Servis Çıktı Parametreleri

Parametre Adı Veri Tipi Açıklama
RedirectUrl String

Müşterinin yönlendirileceği Wirecard ortak ödeme sayfasının adresidir.

StatusCode Int

‘0’ değeri Wirecard Dinamik Ortak Ödeme Sayfası satış linki oluşturma bilgisinin alındığını belirtir. İşlem başlatılmış demektir.
‘1’ değeri Wirecard Dinamik Ortak Ödeme Sayfası satış linki oluşturma bilgisinin alınmadığını belirtir. İşlem başlatılamamış demektir.

ErrorCode String

Wirecard Dinamik Ortak Ödeme Sayfası satış linki oluşturma bilgisi iletimi hata kodu.

ErrorMessage String

Wirecard Dinamik Ortak Ödeme Sayfasısatış linki oluşturma bilgisi iletimi hata açıklaması.

Ödeme sonucunun üye iş yerine aktarılması için İşlem Sonuç Servisi bölümündeki yöntemlerden biri kullanılmalıdır.

Örnek Servis Çağrı Kodları


//Request
            _proApiApiPlusService = new SaleServiceSoapClient();
            #region Token
            Core.ApiPlusAndProApiService.MAuthToken token = new Core.ApiPlusAndProApiService.MAuthToken();
            token.UserCode = base.settings.UserCode;
            token.Pin = base.settings.Pin;
            #endregion
            #region MSaleProduct
            MSaleProduct product = new MSaleProduct();
            product.ProductId = 0;
            product.ProductCategory = productCategoryId;
            product.ProductDescription = "Telefon";
            product.Price = 0.01;
            product.Unit = 1;
            #endregion
            #region MSaleTicketInput
            MSaleTicketInput input = new MSaleTicketInput();
            input.MPAY = "01";
            input.Content = "TLFN01-Telefon";
            input.SendOrderResult = true;
            input.PaymentTypeId = paymentTypeId;
            input.ReceivedSMSObjectId = new Guid("00000000-0000-0000-0000-000000000000");
            input.ProductList = new[] { product };
            input.SendNotificationSMS = true;
            input.OnSuccessfulSMS = "basarili odeme yaptiniz";
            input.OnErrorSMS = "basarisiz odeme yaptiniz";
            input.Url = url;
            input.RequestGsmOperator = 0;
            input.RequestGsmType = 0;
            input.SuccessfulPageUrl = "http://localhost:7597/Home/Success";
            input.ErrorPageUrl = "http://localhost:7597/Home/Fail";
            input.Country = "";
            input.Currency = "";
            input.Extra = "";
            input.TurkcellServiceId = "0";
            #endregion
            var saleWithTicketResult = _proApiApiPlusService.SaleWithTicket(token, input);

//Request            
            com._3pay.services.SaleService service = new com._3pay.services.SaleService();
            com._3pay.services.SaleServiceSoap port = service.getSaleServiceSoap();
            com._3pay.services.MAuthToken token = new com._3pay.services.MAuthToken();
            com._3pay.services.MSaleTicketInput input = new com._3pay.services.MSaleTicketInput();
            com._3pay.services.MSaleProduct mSaleProduct = new com._3pay.services.MSaleProduct();
            com._3pay.services.ArrayOfMSaleProduct arrayOfMSaleProduct = new com._3pay.services.ArrayOfMSaleProduct();
               
            mSaleProduct.setProductId(0);
            mSaleProduct.setProductCategory(Integer.parseInt(request.getParameter("productCategoryId")));
            mSaleProduct.setProductDescription("Bilgisayar");
            mSaleProduct.setPrice(0.01);
            mSaleProduct.setUnit(1);
               
            input.setMPAY("");
            input.setContent("Bilgisayar");
            input.setSendOrderResult(true);
            input.setPaymentTypeId(Integer.parseInt(request.getParameter("paymentTypeId")));
            input.setReceivedSMSObjectId("00000000-0000-0000-0000-000000000000");  
            arrayOfMSaleProduct.getMSaleProduct().add(mSaleProduct);
            input.setProductList(arrayOfMSaleProduct);
            input.setSendNotificationSMS(true);
            input.setOnSuccessfulSMS("basarili odeme yaptiniz");
            input.setOnErrorSMS("basarisiz odeme yaptiniz");
            input.setRequestGsmOperator(0);        
            input.setRequestGsmType(0);
            input.setUrl("http://localhost:8084/wirecard-java/pro_api.htm");
            input.setSuccessfulPageUrl("http://localhost:8084/wirecard-java/success.php");
            input.setErrorPageUrl("http://localhost:8084/wirecard-java/fail.php");
            input.setCountry("");
            input.setCurrency("");
            input.setExtra("");
            input.setTurkcellServiceId("");
               
            token.setUserCode(settings.userCode);
            token.setPin(settings.pin);
               
            com._3pay.services.MSaleTicketOutput result = port.saleWithTicket(token, input);

//Request
            $token = new Token();
            $token->UserCode =  $settings->UserCode; 
            $token->Pin =  $settings->Pin;
            $product = new Product();
            $product->ProductId=0;
            $product->ProductCategory=$_POST["productCategoryId"];
            $product->ProductDescription="Telefon";
            $product->Price=0.01;
            $product->Unit=1;
            $input= new input();
            $input->MPAY="";
            $input->Content ="TLFN01-Telefon";
            $input->SendOrderResult=true;
            $input->PaymentTypeId=$_POST["paymentTypeId"];
            $input->ReceivedSMSObjectId="00000000-0000-0000-0000-000000000000";
            $input->ProductList=array($product);
            $input->SendNotificationSMS=true;
            $input->OnSuccessfulSMS="basarili odeme yaptiniz";
            $input->OnErrorSMS="basarisiz odeme yaptiniz";
            $input->Url=helper::getCurrentUrl();
            $input->RequestGsmOperator=0;
            $input->RequestGsmType=0;
            $input->SuccessfulPageUrl="http://localhost:5000/success.php";
            $input->ErrorPageUrl="http://localhost:5000/fail.php";
            $input->Country="";
            $input->Currency="";
            $input->Extra="";
            $input->TurkcellServiceId="0";
            $result = $client->SaleWithTicket( array(
                "token" =>  (array) $token,
                "input" =>  (array) $input
            ));

//Request
            input_request= Input()
            input_request.MPAY = ""
            input_request.Content = "TLFN01-Telefon"
            input_request.SendOrderResult ="true"
            input_request.PaymentTypeId =request.POST.get('paymentTypeId')
            input_request.ReceivedSMSObjectId = "00000000-0000-0000-0000-000000000000"
            #region Product
            input_request.ProductList = []
            product = input_request.Product()
            product.ProductId = 0
            product.ProductCategory =request.POST.get('productCategoryId')
            product.ProductDescription="Telefon"
            product.Price = 0.01
            product.Unit = 1
            input_request.ProductList.append(product)
            #endregion
             
            input_request.SendNotificationSMS="true"
            input_request.OnSuccessfulSMS="basarili odeme yaptiniz"
            input_request.OnErrorSMS="basarisiz odeme yaptiniz"
            input_request.RequestGsmOperator=0
            input_request.RequestGsmType=0
            input_request.Url="http://127.0.0.1:8000/ProApi"
            input_request.SuccessfulPageUrl="http://127.0.0.1:8000/success"
            input_request.ErrorPageUrl="http://127.0.0.1:8000/fail"
            input_request.Country=""
            input_request.Currency=""
            input_request.Extra=""
            input_request.TurkcellServiceId="0"
            #region Token
            token_request= Token()
            token_request.UserCode=config.UserCode
            token_request.Pin=config.Pin
            #region EndToken
            req= ProApiRequest() 
            message =  req.execute(token_request,input_request) #Soap servis çağrısının başlatıldığı kısım. 

//Request
            token= Token.new
            token.UserCode= @settings.UserCode
            token.Pin=@settings.Pin 
    
            input= Soapinput.new
            input.MPAY = ""
            input.Content = "TLFN01-Telefon"
            input.SendOrderResult = true
            input.PaymentTypeId = 1
            input.ReceivedSMSObjectId = "00000000-0000-0000-0000-000000000000"
               
            #region product
            input.ProductList = Array.new()
            p=Product.new
            p.ProductId=0
            p.ProductCategory=params[:productCategoryId]
            p.ProductDescription="Telefon"
            p.Price=0.01
            p.Unit=1
            input.ProductList << p
                
            #endregion  #region product
            input.SendNotificationSMS=true
            input.OnSuccessfulSMS="basarili odeme yaptiniz"
            input.OnErrorSMS="basarisiz odeme yaptiniz"
            input.RequestGsmOperator=0
            input.RequestGsmType=0
            input.Url="localhost:3000/home/proapi"
            input.SuccessfulPageUrl="localhost:3000/home/success"
            input.ErrorPageUrl="localhost:3000/home/fail"
            input.Country=""
            input.Currency=""
            input.Extra=""
            input.TurkcellServiceId="0"
    
            req=Proapirequest.new
            proapi_result=req.execute(input,token) # soap servis çağrısının başladığı kısmı temsil etmektedir.          

//Request
            const data = ({
                token:{
                    UserCode:settings.userCode,
                    Pin:settings.pin
                    },
                input:{
                    MPAY:"",
                    Content : "TLFN-Telefon",
                    SendOrderResult:"true",
                    PaymentTypeId:request.PaymentTypeId,
                    Url:"localhost:3000/ApiPlus",
                    ProductList:[{"MSaleProduct":MSaleProduct}],
                    ReceivedSMSObjectId:"00000000-0000-0000-0000-000000000000",
                    SendNotificationSMS:"true",
                    OnSuccessfulSMS:"basarili odeme",
                    OnErrorSMS:"basarisiz odeme",
                    RequestGsmOperator:0,
                    RequestGsmType:0,
                    SuccessfulPageUrl : "http://localhost:3000/Success",
                    ErrorPageUrl : "http://localhost:3000/Fail",
                    Country : "",
                    Currency : "",
                    Extra : "",
                    TurkcellServiceId:0,
            }
                
            wirecard.ProApi(data).then(requestResult => {
                res.json(requestResult)
                }).catch(err => {
                    console.log(err)
                })          
            })
 

//Request 
            <?xml version="1.0" encoding="UTF-8" ?>
            <SaleWithTicket>
            <token>
                <UserCode>Wirecard tarafından verilen user code eklenecek</UserCode>
                <Pin>Wirecard tarafından verilen pin eklenecek</Pin>
            </token>
            <input>
                <MPAY>01</MPAY>     
                <Content>TLFN01-Telefon</Content>
                <SendOrderResult>true</SendOrderResult>
                <PaymentTypeId>1</PaymentTypeId>
                <ReceivedSMSObjectId>00000000-0000-0000-0000-000000000000</ReceivedSMSObjectId>
                <ProductList>
                    <MSaleProduct>
                        <ProductId>0</ProductId>
                        <ProductCategory>1</ProductCategory>   
                        <ProductDescription>Telefon</ProductDescription>
                        <Price>0.01</Price>
                        <Unit>1</Unit>
                    </MSaleProduct>
                </ProductList>
                <SendNotificationSMS>true</SendNotificationSMS>
                <OnSuccessfulSMS>basarili odeme yaptiniz</OnSuccessfulSMS>
                <OnErrorSMS>basarisiz odeme yaptiniz</OnErrorSMS>
                <RequestGsmOperator>0</RequestGsmOperator>
                <RequestGsmType>0</RequestGsmType>
                <Url>http://localhost:7597/Home/ProApi</Url>         
                <SuccessfulPageUrl>http://localhost:7597/Home/Success</SuccessfulPageUrl>       
                <ErrorPageUrl>http://localhost:7597/Home/Fail</ErrorPageUrl>    
                <Country></Country>    
                <Currency></Currency>    
                <Extra></Extra>     
                <TurkcellServiceId>0</TurkcellServiceId>
            </input>
            </SaleWithTicket>
//Response
            <?xml version="1.0" encoding="UTF-8" ?>
            <SaleWithTicketResult>
                <RedirectUrl></RedirectUrl>
                <StatusCode></StatusCode>		
                <ErrorCode></ErrorCode>
                <ErrorMessage></ErrorMessage>
            </SaleWithTicketResult>
                    

Üye İşyeri Ödeme Sayfası Entegrasyonu

Üye İşyeri Ödeme Sayfası, web servis tabanlı çalışan, satışların genellikle bir web sitesi üzerinden yapıldığı (bazı durumlarda satış SMS ile de başlatılabilir), ödeme işleminde Wirecard ortak ödeme sayfasını kullanmayan, müşterinin süreç boyunca üye işyerinin web sitesinden ayrılmadığı, çok sayıda ve değişken fiyatlı ürünleri/hizmetleri bulunan şirketler için uygundur.
Bu modelde üye işyeri, kendi sitesinden müşterinin telefon numarasını alır. Wirecard web servisine telefon numarası, fiyat ve kategori verileri iletilerek işlem başlatılır. İşlem asenkron gerçekleşir, bu sebeple işlem sonucu ayrı bir web servis metoduyla sorgulanır.
Wirecard sisteminde Üye İşyeri Ödeme Sayfası ile işlem yapılabilmesi için integration@3pay.com adresine yetki talebi iletilir.

Servis Girdi Parametreleri

Servis içinde ileticek Girdi (Input) Parametreleri
Parametre Adı Açıklama
Token

Token Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.

Input

Input Bilgileri. Aşağıdaki İç tabloda iç parametreleri anlatılmıştır.

Token Bilgileri
Parametre Adı Veri Tipi Açıklama
UserCode String

Wirecard tarafından atanan üye iş yeri numarası

Pin String

Wirecard tarafından atanan pin

Input Bilgileri
Parametre Adı Veri Tipi Açıklama
MPAY String

Üye iş yeri tarafından tanımlanan bir değer. Kullanımı isteğe bağlıdır. İşlemlerin üye işyeri sisteminde temsil edildiği ID ya da kullanıcı adı gibi değerler kullanılabilir.

Gsm String

Müşterinin telefon numarasını belirtir, 5XXXXXXXXX formatında olmalıdır

Content String

Sipariş içeriği/tanımı

SendOrderResult bool

İşlem Sonuç Servisi ile işlem sonuç bilgisi gönderim isteği
‘True’ bilgi gönderilsin
‘False’ bilgi gönderilmesin

PaymentTypeId Int

Ödeme yöntemi:

  • ‘1’ Tek çekim
  • ‘2’ Aylık abonelik (iletilen miktar her ay otomatik çekilir)
  • ‘3’ Haftalık abonelik (iletilen miktar her hafta otomatik çekilir)
  • ‘4’ 2 haftalık abonelik
  • ‘5’ 3 aylık abonelik
  • ‘6’ 6 aylık abonelik
  • ‘7’ aylık denemeli (ilk ay ücretlendirme yapılmaz)
  • ‘8’ haftalık denemeli (ilk hafta ücretlendirme yapılmaz)
  • ‘9’ 2 haftalık denemeli (ilk 2 hafta ücretlendirme yapılmaz)
  • ‘10’ 3 aylık denemeli
  • ‘11’ 6 aylık denemeli
  • ‘13’ 30 günlük

Url String

Ödemenin yapıldığı web sitesi.

ProductList List

Liste tipinde gönderilecek olan MSaleProduct elemanlarını barındıran Listeyi temsil eder. Bu Liste içerisinde tek bir adet MSaleProduct elemanı bulunmalıdır. MSaleProduct bilgileri aşağıdaki iç tabloda iç parametreleri anlatılmıştır.

ReceivedSMSObjectId Guid

Daima ‘00000000-0000-0000-0000-000000000000’ olarak gönderilmelidir.

SendNotificationSMS bool

Ödeme sonucunda kullanıcıya gönderilecek bilgi SMS’i isteği

  • "True" bilgi SMS’i gönderilsin
  • "False" bilgi SMS’i gönderilmesin

OnSuccessfulSMS String

SendNotificationSMS parametresi "True" verilmişse, ödemenin başarılı olması durumunda kullanıcıya gönderilecek bilgi SMS’i içeriğini belirtir.(Türkçe karakter kullanılmamalıdır)

OnErrorSMS String

SendNotificationSMS parametresi "True" verilmişse, ödemenin başarısız olması durumunda kullanıcıya gönderilecek bilgi SMS’i içeriğini belirtir.(Türkçe karakter kullanılmamalıdır)

RequestGsmOperator Int

Daima '0' olarak gönderilmelidir.

RequestGsmType Int

Daima '0' olarak gönderilmelidir.

TurkcellServiceId String

Entegrasyon çalışması süresince, operatör onayı gelene kadar '0' gönderilir.
Entegrasyon tamamlanıp operatörlerden onay alındıktan sonra üye işyerine Wirecard tarafından bildirilen, tüm mobil işlemlerde kullanılması gereken bir değerdir.

CustomerIpAddress String

Müşterinin IP adresi. Bu alan her işlemde dolu olarak iletilmelidir.

MSaleProduct Bilgileri
Parametre Adı Veri Tipi Açıklama
ProductId Int

Daima ‘0’ olarak iletilmelidir.

ProductCategory Int

Sipariş ile ilgili ürünün/servisin kategorisi:

  • ‘1’ Fiziksel Ürün
  • ‘2’ Oyun
  • ‘3’ Dijital İçerik
  • ‘4’ Servis
  • ‘5’ Sosyal Ağ/Arkadaşlık
  • ‘6’ Aidat/Otomat
  • ‘7’ Bahis
  • ‘8’ Sigorta
  • ‘10’ Kamu - Bilet - Fastfood
  • ‘11’ Cep Sigorta
  • ‘12’ Kutu Oyun
  • ‘14’ Mobil Uygulama / Mobil Market
  • ‘15’ Eğitim
  • ‘16’ Bağış (sadece Turkcell aboneleri bağış ödemesi yapabilir)
  • ‘19’ Sağlık
  • ‘20’ White Label Adult

ProductDescription String

Ürünün açıklaması

Price Double

Ödenecek tutar.

Unit Int

Daima '1' gönderilmelidir.

Servis Çıktı Parametreleri

Parametre Adı Veri Tipi Açıklama
OrderObjectId Guid

Sipariş Id'sini belirtir. İşlemin sonucunu sorgulamak için kullanılır.

Gsm String

Ödemenin yapıldığı telefon numarasını belirtir(5XXXXXXXXX formatında)

GsmOperator Int

Bu değer daima '0'dır. İşlem yapılan operatörü öğrenmek için bir sonraki maddeye bakınız.

GsmType Int

Bu değer daima '0'dır. Hattın faturalı mı yoksa faturasız mı olduğunu öğrenmek için bir sonraki maddeye bakınız.

State Int

İşlem durumunu belirtir. Bu değer nihai değildir. İşlem sonucunu öğrenmek için bir sonraki maddeye bakınız.
100’den küçük değerler ödemenin devam ettiğini belirtir.
100 ödemenin başarıyla sonuçlandığını belirtir.
100’den büyük değerler ödemenin başarısız olduğunu belirtir.

OrderChannelId Int

Bu değer daima ‘104’ olarak dönecektir.

PaymentCategoryId Int

Sipariş ile ilgili ürünün/servisin kategorisi

  • ‘1’ Fiziksel Ürün
  • ‘2’ Oyun
  • ‘3’ Dijital İçerik
  • ‘4’ Servis
  • ‘5’ Sosyal Ağ/Arkadaşlık
  • ‘6’ Aidat/Otomat
  • ‘7’ Bahis
  • ‘8’ Sigorta
  • ‘10’ Kamu - Bilet - Fastfood
  • ‘11’ Cep Sigorta
  • ‘12’ Kutu Oyun
  • ‘14’ Mobil Uygulama / Mobil Market
  • ‘15’ Eğitim
  • ‘16’ Bağış (sadece Turkcell aboneleri bağış ödemesi yapabilir)
  • ‘19’ Sağlık
  • ‘20’ White Label Adult

LastTransactionDate DateTime

Ödeme tarihini belirtir.

MPAY String

Üye iş yeri tanımlı değer.

SubscriberId Guid

Bu değer boş dönecektir. Yapılan işlem bir abonelik işlemi ise bir sonraki maddede anlatılan yöntemle abonelik idsi öğrenilebilir.

PIN String

Bu değer boş dönecektir. Yapılan işlem pinli kurgu ise kullanıcıya gönderilen PIN değerini öğrenmek için bir sonraki maddedeki yöntem kullanılır.

MicroPaymentResults List

İşlem sonuçlanmadığı için bu parametreler boş dönecektir. MMicroPaymentOutput elemanlarını barındıran listeyi temsil eder. MMicroPaymentOutput parametreleri aşağıdaki iç tabloda açıklanmıştır.

StatusCode Int

Sipariş durum kodunu belirtir. ‘0’ dönerse siparişin başarılı bir şekilde başladığını belirtir. Ödemenin başarılı sonuçlandığı anlamına gelmez.

ErrorCode String

Sipariş hata kodunu belirtir. Operatör tarafından gönderilir. Siparişe ait ödemenin hata kodudur.

ErrorMessage String

Sipariş hata açıklamasını belirtir. İlgili hata koduna ait açıklama.

MMicroPaymentOutput Bilgileri
Parametre Adı Veri Tipi
PaymentObjectId Guid
StatusCode Int
ErrorCode String
ErrorMessage String

Örnek Servis Çağrı Kodları


//Request
            _proApiApiPlusService = new SaleServiceSoapClient();
            #region Token
            var token = new Core.ApiPlusAndProApiService.MAuthToken();
            token.UserCode = base.settings.UserCode;
            token.Pin = base.settings.Pin;
            #endregion
            #region Product
            MSaleProduct product = new MSaleProduct();
            product.ProductId = 0;
            product.ProductCategory = productCategoryId;
            product.ProductDescription = "Telefon";
            product.Price = 0.01;
            product.Unit = 1;
            #endregion
            #region MSaleInput
            MSaleInput input = new MSaleInput();
            input.MPAY = "01";
            input.Gsm = gsmNumber;
            input.Content = "TLFN-Telefon";
            input.SendOrderResult = true;
            input.PaymentTypeId = paymentTypeId;
            input.Url = url;
            input.ReceivedSMSObjectId = new Guid("00000000-0000-0000-0000-000000000000");
            input.ProductList = new[] {product};
            input.SendNotificationSMS = true;
            input.OnSuccessfulSMS = "basarili odeme yaptiniz";
            input.OnErrorSMS = "basarisiz odeme yaptiniz";
            input.RequestGsmOperator = 0;
            input.RequestGsmType = 0;
            input.CustomerIpAddress = "127.0.0.1";
            input.Extra = "";
            input.TurkcellServiceId = "0";
            #endregion
            var result = _proApiApiPlusService.SaleWithConfirm(token, input);

//Request          
            com._3pay.services.SaleService service = new com._3pay.services.SaleService();
            com._3pay.services.SaleServiceSoap port = service.getSaleServiceSoap();
            com._3pay.services.MAuthToken token = new com._3pay.services.MAuthToken();
            com._3pay.services.MSaleInput input = new com._3pay.services.MSaleInput();
            com._3pay.services.MSaleProduct mSaleProduct = new com._3pay.services.MSaleProduct();
            com._3pay.services.ArrayOfMSaleProduct arrayOfMSaleProduct = new com._3pay.services.ArrayOfMSaleProduct();
            token.setUserCode(settings.userCode);
            token.setPin(settings.pin);
             
            mSaleProduct.setProductId(0);
            mSaleProduct.setProductCategory(Integer.parseInt(request.getParameter("productCategoryId")));
            mSaleProduct.setProductDescription("Bilgisayar");
            mSaleProduct.setPrice(0.01);
            mSaleProduct.setUnit(1);
            input.setMPAY("");
            input.setGsm(request.getParameter("gsmNumber"));        
            input.setContent("Bilgisayar");
            input.setSendOrderResult(true);
            input.setPaymentTypeId(Integer.parseInt(request.getParameter("paymentTypeId")));
            input.setUrl("http://localhost:8084/wirecard-java/api_plus.htm");
            input.setReceivedSMSObjectId("00000000-0000-0000-0000-000000000000");        
            input.setSendNotificationSMS(true);
            
            arrayOfMSaleProduct.getMSaleProduct().add(mSaleProduct);
            input.setProductList(arrayOfMSaleProduct);
             
            input.setOnSuccessfulSMS("basarili odeme yaptiniz");
            input.setOnErrorSMS("basarisiz odeme yaptiniz");
            input.setRequestGsmOperator(0);        
            input.setRequestGsmType(0);
            input.setTurkcellServiceId("");
            input.setExtra("");
            input.setCustomerIpAddress("127.0.0.1");        
             
            com._3pay.services.MSaleOutput result = port.saleWithConfirm(token, input);

//Request
            $token = new Token();
            $token->UserCode =  $settings->UserCode; 
            $token->Pin =  $settings->Pin;
            $product = new Product();
            $product->ProductId=0;
            $product->ProductCategory=$_POST["productCategoryId"];
            $product->ProductDescription="Telefon";
            $product->Price=0.01;
            $product->Unit=1;
            $input= new input();
            $input->MPAY="";
            $input->Gsm =$_POST["gsmNumber"];
            $input->Content ="TLFN01-Telefon";
            $input->SendOrderResult=true;
            $input->PaymentTypeId=$_POST["paymentTypeId"];
            $input->ReceivedSMSObjectId="00000000-0000-0000-0000-000000000000";
            $input->ProductList=array($product);
            $input->SendNotificationSMS=true;
            $input->OnSuccessfulSMS="basarili odeme yaptiniz";
            $input->OnErrorSMS="basarisiz odeme yaptiniz";
            $input->Url=helper::getCurrentUrl();
            $input->RequestGsmOperator=0;
            $input->RequestGsmType=0;
            $input->Extra="";
            $input->TurkcellServiceId="0";
            $result = $client-> SaleWithConfirm( array(
                "token" =>  (array) $token,
                "input" =>  (array) $input
            ));

//Request
            input_request= Input()
            input_request.MPAY = ""
            input_request.Gsm =request.POST.get('gsm')
            input_request.Content = "TLFN01-Telefon"
            input_request.SendOrderResult ="true"
            input_request.PaymentTypeId =request.POST.get('paymentTypeId')
            input_request.ReceivedSMSObjectId = "00000000-0000-0000-0000-000000000000"
      
            #region Product
            input_request.ProductList = []
            product = input_request.Product()
            product.ProductId = 0
            product.ProductCategory =request.POST.get('productCategoryId')
            product.ProductDescription="Telefon"
            product.Price = 0.01
            product.Unit = 1
            input_request.ProductList.append(product)
            #endregion
       
            input_request.SendNotificationSMS="true"
            input_request.OnSuccessfulSMS="basarili odeme"
            input_request.OnErrorSMS="basarisiz odeme"
            input_request.Url="localhost:3000/home/apiplus"
            input_request.RequestGsmOperator=0
            input_request.RequestGsmType=0
            input_request.Extra=""
            input_request.TurkcellServiceId="0"
            input_request.CustomerIpAddress="http://127.0.0.1:8000/ApiPlus"
            #region Token
            token_request= Token()
            token_request.UserCode=config.UserCode
            token_request.Pin=config.Pin
            #region EndToken
            req= ApiPlusRequest() 
            message =  req.execute(token_request,input_request) #Soap servis çağrısının başlatıldığı kısım.

//Request
            #region Token
            token= Token.new
            token.UserCode= @settings.UserCode
            token.Pin=@settings.Pin 
            #endregion
            #region input
            input= Soapinput.new
            input.MPAY = ""
            input.Gsm = params[:gsm]
            input.Content = "TLFN01-Telefon"
            input.SendOrderResult = true
            input.PaymentTypeId = params[:paymentTypeId]
            input.ReceivedSMSObjectId = "00000000-0000-0000-0000-000000000000"
            #region ProductList
            input.ProductList = Array.new()
            p=Product.new
            p.ProductId=0
            p.ProductCategory=params[:productCategoryId]
            p.ProductDescription="Telefon"
            p.Price=0.01
            p.Unit=1
            input.ProductList << p
            #endregion
            input.SendNotificationSMS=true
            input.OnSuccessfulSMS="basarili odeme"
            input.OnErrorSMS="basarisiz odeme"
            input.Url="localhost:3000/home/apiplus"
            input.RequestGsmOperator=0
            input.RequestGsmType=0
            input.Extra=""
            input.TurkcellServiceId="0"
            input.CustomerIpAddress="127.0.0.1"
            #endregion 
            req=Apiplusrequest.new
            apiplus_result=req.execute(input,token) # soap servis çağrısının başladığı kısmı temsil etmektedir.

//Request       
            const data = ({
            token:{
                UserCode:settings.userCode,
                Pin:settings.pin
                },
            input:{
                MPAY:"",
                Gsm: request.Gsm,
                Content : "TLFN-Telefon",
                SendOrderResult:"true",
                PaymentTypeId:request.PaymentTypeId,
                Url:"localhost:3000/ApiPlus",
                ProductList:[{"MSaleProduct":MSaleProduct}],
                ReceivedSMSObjectId:"00000000-0000-0000-0000-000000000000",
                SendNotificationSMS:"true",
                OnSuccessfulSMS:"basarili odeme",
                OnErrorSMS:"basarisiz odeme",
                RequestGsmOperator:0,
                RequestGsmType:0,
                TurkcellServiceId:0,
                CustomerIpAddress:"127.0.0.1"
                }          
            })
              
            wirecard.ApiPlus(data).then(requestResult => {
                res.json(requestResult)
            }).catch(err => {
                console.log(err)
            })
 

//Request 
            <?xml version="1.0" encoding="UTF-8" ?>
            <SaleWithConfirm>
            <token>
                <UserCode></UserCode>
                <Pin></Pin>
            </token>
            <input>
                <MPAY></MPAY>
                <Gsm></Gsm>
                <Content>Bilgisayar</Content>
                <SendOrderResult>true</SendOrderResult>
                <PaymentTypeId>1</PaymentTypeId>
                <Url>http://localhost:7597/Home/ApiPlus</Url>
                <ProductList>
                    <MSaleProduct>
                        <ProductId>0</ProductId>
                        <ProductCategory>0</ProductCategory>         
                        <ProductDescription>Bilgisayar</ProductDescription>
                        <Price>0.01</Price>
                        <Unit>1</Unit>
                    </MSaleProduct>
                </ProductList>
                <ReceivedSMSObjectId>00000000-0000-0000-0000-000000000000</ReceivedSMSObjectId>
                <SendNotificationSMS>true</SendNotificationSMS>
                <OnSuccessfulSMS>basarili odeme yaptiniz</OnSuccessfulSMS>
                <OnErrorSMS>basarisiz odeme yaptiniz</OnErrorSMS>
                <RequestGsmOperator>0</RequestGsmOperator>
                <RequestGsmType>0</RequestGsmType> 
                <TurkcellServiceId>0</TurkcellServiceId>
                <Extra></Extra>
                <CustomerIpAddress>127.0.0.1</CustomerIpAddress>
            </input>
            </SaleWithConfirm>
//Response
            <?xml version="1.0" encoding="UTF-8" ?>
            <SaleWithConfirmResult>
                <OrderObjectId>f2b47e50-51bb-4c40-bc7f-03e639bc1c03</OrderObjectId>
                <Gsm></Gsm>
                <GsmOperator>0</GsmOperator>
                <GsmType>0</GsmType>
                <State>0</State>
                <OrderChannelId>0</OrderChannelId>
                <PaymentCategoryId>0</PaymentCategoryId>
                <LastTransactionDate>2018-01-05T18:11:59.1205384+03:00</LastTransactionDate>
                <MPAY></MPAY>
                <SubscriberId>00000000-0000-0000-0000-000000000000</SubscriberId>
                <PIN></PIN>
                <MicroPaymentResults>
	                //İşlem sonuçlanmadığı için bu parametreler boş dönecektir.
                    <MMicroPaymentOutput>
                        <PaymentObjectId></PaymentObjectId>
                        <StatusCode></StatusCode>
                        <ErrorCode></ErrorCode>
                        <ErrorMessage></ErrorMessage>
		            </MMicroPaymentOutput>
	            </MicroPaymentResults>
                <StatusCode>0</StatusCode>
                <ErrorCode>M121005</ErrorCode>
                <ErrorMessage>Istek kaydedildi</ErrorMessage>
            </SaleWithConfirmResult>
                    

SMS-Keyword Entegrasyonu

Bu kurguda satış bir web sitesi üzerinden yapılmaz. Üye işyeri tarafından Wirecard sisteminde bir ürün oluşturulur ve ürünle ilişkilendirilmiş bir keyword tanımlanır. Üye işyeri bu keyword'ü muhtelif bilgilendirme kanallarıyla müşteriye iletir (web sitesi, gazete ilanı, broşür, vs). Müşteri'nin bu keyword'ü SMS ile 7979’a göndermesiyle işlem başlar ve satış gerçekleşir. Bu kurguda gerçekleşen işlemlerin üye işyerine iletilmesi için üye işyeri tarafından İşlem Sonuç Servisi başlığında açıklanan şekilde bir web servis geliştirmesi gereklidir. İşlem sonuçları Wirecard Ödeme tarafından bu web servise iletilecektir.

Aşağıdaki Adımları takip ederek Sms-Keyword Entegrasyonu işlemlerinizi tamamlayabilirsiniz.

  1. https://www.wirecard.com.tr adresinden üye işyeri kullanıcı adı ve şifresiyle giriş yapılır.
  2. Bilgiler bölümündeki Ürünler linkine tıklanır.
  3. Soldaki Yeni Ekle linkine tıklanır.
  4. Ürüne ilişkin bilgiler doldurularak Ekle butonuna tıklanır.
  5. Oluşturulan ürüne Wirecard tarafından onay verilmesi sağlanır (bd@3pay.com adresine talep iletilerek).
  6. Wirecard entegrasyon yetkilisiyle birlikte keyword belirlenir (integration@3pay.com), entegrasyon yetkilisi bu keywordü ürünle ilişkilendirir.
  7. İşlem sonucunu öğrenmek için İşlem Sonuç Servisi kullanılır.

SMS-Keyword Entegrasyonu (Pinli)

Pinler, bir ürün veya hizmetin müşteri tarafından alınmasını sağlayacak tek kullanımlık şifrelerdir. SMS-Keyword modelindeki akışın sonunda müşteriye 7979’dan bir pin gönderilir. Pinler ürün ile ilişkili olup üye işyeri tarafından düzenli olarak integration@3pay.com adresine gönderilmelidir. Her pin tek kullanımlık olduğu için unique olmasına dikkat edilmelidir. Ayrıca bir işlemde kullanılan bir pin başka bir işlemde tekrar kullanılamaz.

Aşağıdaki Adımları takip ederek SMS-Keyword Entegrasyonu (Pinli) işlemlerinizi tamamlayabilirsiniz.

  1. https://www.wirecard.com.tr adresinden üye işyeri kullanıcı adı ve şifresiyle giriş yapılır.
  2. Bilgiler bölümündeki Ürünler linkine tıklanır.
  3. Soldaki Yeni Ekle linkine tıklanır.
  4. Ürüne ilişkin bilgiler doldurularak Ekle butonuna tıklanır.
  5. Oluşturulan ürüne Wirecard tarafından onay verilmesi sağlanır (bd@3pay.com adresine talep iletilerek).
  6. Wirecard Ödeme entegrasyon yetkilisiyle birlikte keyword belirlenir (integration@3pay.com), entegrasyon yetkilisi bu keywordü ürünle ilişkilendirir.
  7. Müşteriye gönderilecek pin Listesi, integration@3pay.com adresine ürün ismi belirtilerek gönderilir.
  8. İşlem sonucunu öğrenmek için İşlem Sonuç Servisi kullanılır.

SMS-Keyword Yönlendirme Entegrasyonu

Bu kurguda üye işyeri tarafından ürün oluşturulamamaktadır. Müşteri, üye işyerinin belirleyeceği bir keyword ile bu keyword'ün sonuna eklenecek bir ibareyi SMS ile 7979’a göndererek işlemi başlatır.
Örnek SMS: “SATINAL 150”
Bu örnekte “SATINAL” kısmı keyword prefixidir. Ardından gelen “150” kısmı ise üye işyerinin sistemi tarafından yorumlanarak nasıl bir satın alma işlemi gerçekleşeceğinin belirlenmesini sağlar (örneğin müşterinin 150 puan satın alması gibi).
Bu kurgunun sistemsel akışında farklılık bulunmaktadır. Öncelikle üye işyeri tarafından SMS İçeriği İletim Servisi başlığında açıklanan şekilde bir web servis geliştirmelidir. Müşterinin 7979’a gönderdiği mesaj, Wirecard Ödeme tarafından SMS İçeriği İletim Servisi doğrudan üye işyerine iletilir. Üye işyeri sistemi bu mesajın içeriğini yorumlayarak müşteriden alınacak tutarı belirler. Ardından Üye İşyeri Ödeme Sayfası Entegrasyonu başlığında açıklanan web servisi kullanarak ödeme işleminin yapılmasını sağlar.

Aşağıdaki Adımları takip ederek SMS-Keyword Yönlendirme Entegrasyonu işlemlerinizi tamamlayabilirsiniz.

  1. Üye işyeri tarafından Wirecard yetkilileri ile birlikte bir keyword prefix belirlenir.
  2. SMS İçeriği İletim Servisi başlığında açıklanan şekilde bir web servis geliştirilir. Müşterilerin ilgili keyword prefix ile 7979’a göndereceği mesaj metni Wirecard tarafından bu web servise yönlendirilecektir.
  3. Seçilen keyword’ün tanımlanması için integration@3pay.com adresine bilgi iletilir.
  4. İletilen SMS metinleri üye işyerinin sistemi tarafından yorumlanır, müşteriden çekilecek tutar tespit edilir.
  5. Üye İşyeri Ödeme Sayfası Entegrasyonu başlığında açıklanan şekilde müşteriden çekilecek tutar web servise iletilir.
  6. İşlem sonucunu öğrenmek için İşlem Sonuç Servisi kullanılır.