Puan ile Ödeme

BAĞLANTI ADRESLERİ

Gerçek Ortam

Ayrıca iletilecektir.

Test Ortam

https://testposws.param.com.tr/turkpos.ws/service_turkpos_prod.asmx

Test Parametresi Değer
CLIENT_CODE 10738
CLIENT_USERNAME Test
CLIENT_PASSWORD Test
GUID 0c13d406-873b-403b-9c09-a5766840d98c


  • Puan ile Ödeme
  • İşlem Sorgulama
  • İşlem İptal/İade Kısmi
Metot Adı: TP_WMD_UCD_WP

Puan ile tahsilat yapmak için kullanılır. Bu metot hem 3D hem NS işlemleri destekler. Islem_Guvenlik_Tip parametresi 3D işlem başlatmak için 3D değerini, Nonsecure işlem başlatmak için NS değerini alır.

Önemli Bilgi

Nonsecure İşlemler için
  1. Puan = 0 (Puansız Kredi Kartı işlemi, normal satış işlemi) Toplam_Tutar değeri kadar kredi kartından TL harcatma işlemi yapılır. Herhangi bir puan harcaması yapılmaz.
    Örnek: Sepet tutarı 5,58 TL ve bu tutarın tamamı 5,58 TL si kredi kartından harcatılır. Kredi kartından ayrıca puan harcatma işlemi olmayacaktır.
  2. Puan = Toplam_Tutar (Full puan kullanılarak tahsilat alma) Toplam_Tutar değerinin tamamı puan olarak kredi kartından çekilir. Toplam_Tutar ve Puan parametre değerileri eşit olmalıdır.
    Örnek: Sepet tutarı 5,58 TL ve bu tutarın tamamı 5,58 TL si puan olacak şekilde tahsilat alınmak isteniyorsa, kredi kartın puan harcatma 5,58 TL olacaktır. Kredi kartından ayrıca TL harcatma işlemi olmayacaktır.
  3. Puan < Toplam_Tutar (Karma işlem, puan ve kredi kartından tahsilat alma) Toplam_Tutar değerinden Puan değeri çıkarılarak kredi kartından TL harcatma yapılır. Kredi kartı TL harcatma işlemi başarısız ise, puan harcatma işlemi yapılmaz. Kredi kartı TL harcatma işlemi başarılı ve puan harcatma işlemi başarısız ise kredi kartı harcatma işlemi iptal edilir.
    Örnek: Sepet tutarı 5,58 TL ve bu tutarın 1,42 TL si puan olacak şekilde tahsilat alınmak isteniyorsa, kredi kartın TL harcatma 4,16 TL, kredi kartından puan harcatma 1,42 TL olacaktır.
3D İşlemler için
  1. Puan = 0 (Puansız Kredi Kartı işlemi, normal satış işlemi) Toplam_Tutar değeri kadar kredi kartından TL harcatma işlemi yapılmak üzere 3D doğrulama ekranına yönlendirilir. 3D doğrulama başarılı ise kredi kartından TL harcatması yapılır. Herhangi bir puan harcaması yapılmaz.
    Örnek: Sepet tutarı 5,58 TL ve bu tutarın tamamı 5,58 TL si kredi kartından harcatılır. Kredi kartından ayrıca puan harcatma işlemi olmayacaktır.
  2. Puan = Toplam_Tutar (Full puan kullanılarak tahsilat alma) Toplam_Tutar değerinin tamamı puan olarak kredi kartından çekilmek üzere 3D doğrulama ekranına yönlendirilir. 3D doğrulama başarılı ise kredi kartından puan harcatması yapılır. Kredi kartından ayrıca TL harcatma işlemi yapılmaz. Toplam_Tutar ve Puan parametre değerileri eşit olmalıdır.
    Örnek: Sepet tutarı 5,58 TL ve bu tutarın tamamı 5,58 TL si puan olacak şekilde tahsilat alınmak isteniyorsa, kredi kartın puan harcatma 5,58 TL olacaktır. Kredi kartından ayrıca TL harcatma işlemi olmayacaktır.
  3. Puan < Toplam_Tutar (Karma işlem, puan ve kredi kartından tahsilat alma) Toplam_Tutar değerinden Puan değeri çıkarılarak kredi kartından TL harcatma yapılmak üzere 3D doğrulama ekranına yönlendirilir. 3D doğrulama başarılı ise Kredi kartı TL harcatma işlemi yaptırılır. Kredi kartı TL harcatma işlemi başarısız ise, Kredi kartı puan harcatma işlemi yapılmaz. Kredi kartı TL harcatma işlemi başarılı ve puan harcatma işlemi başarısız ise kredi kartı harcatma işlemi iptal edilir.
    Örnek: Sepet tutarı 5,58 TL ve bu tutarın 1,42 TL si puan olacak şekilde tahsilat alınmak isteniyorsa, kredi kartın TL harcatma 4,16 TL, kredi kartından puan harcatma 1,42 TL olacaktır.

Parametre Zorunlu Tip Uzunluk Açıklama
G Evet Nesne - ST_WS_Guvenlik Nesnesi
GUID Evet String 36 Üye İşyerine ait Anahtar
KK_Sahibi Evet String 100 Kredi Kartı Sahibi
KK_No Evet String 16 Kredi Kartı numarası
KK_SK_Ay Evet String 2 2 hane Son Kullanma Ay
KK_SK_Yil Evet String 4 4 haneli Son Kullanma Yıl
KK_CVC Evet String 3 CVC Kodu
KK_Sahibi_GSM Hayır String 10 Kredi Kartı Sahibi GSM No, Başında 0 olmadan (5xxxxxxxxx)
Hata_URL Evet String 256 Ödeme işlemi başarısız olursa yönlenecek sayfa adresi Islem_Guvenlik_Tip = “NS” için boş geçilir.
Basarili_URL Evet String 256 Ödeme işlemi başarılı olursa yönlenecek sayfa adresi Islem_Guvenlik_Tip = “NS” için boş geçilir.
Siparis_ID Evet String 50 Siparişe özel tekil ID. Bu değeri daha önce gönderdiyseniz sistem yeni Siparis_ID atar. İşlem sonucunda bu Siparis_ID yi döner.
Siparis_Aciklama Hayır String 250 Siparişe ait açıklama
Taksit Evet Integer 2 Seçilen Taksit Sayısı. Tek çekim için 1 gönderiniz.
Islem_Tutar Evet String - Sipariş Tutarı, (sadece virgüllü kuruş formatında 1000,50)
Toplam_Tutar Evet String - Komisyon Dahil Sipariş Tutarı, (sadece virgüllü kuruş formatında 1000,50)
Islem_Hash Evet String - İşlem Hash Değeri ( https://dev.param.com.tr/tr/hash-hesaplama adresinden metot adına göre detayları bulabilirsiniz.)
Islem_Guvenlik_Tip Evet String 2 3D veya NS (Nonsecure)
Islem_ID Hayır String - İşleme ait Sipariş ID haricinde tekil ID opsiyoneldir.
IPAdr Evet String 50 IP Adresi
Ref_URL Hayır String 256 Ödemenin gerçekleştiği sayfanın URLsi
Data1 Hayır String 250 Extra Alan 1
Data2 Hayır String 250 Extra Alan 2
Data3 Hayır String 250 Extra Alan 3
Data4 Hayır String 250 Extra Alan 4
Data5 Hayır String 250 Extra Alan 5
Puan Evet String - Kullanılacak puan tutarı, (sadece virgüllü kuruş formatında Örnek 1000,50)
Pos_ID Hayır String - İşlemin geçeceği POS_ID değeri. Default için “0” değeri gönderilir.
Islem_Tip Evet String - Satış işlemleri için SALE değeri alır.
Parametre Tip Uzunluk Açıklama
Sonuc Integer - İşlem sonucu
Sonuc_Str String - İşlem sonucu açıklama
Islem_ID Long - SID Değeri
Islem_GUID String - İşlem GUID değeri
UCD_HTML String - 3D HTML kod
UCD_MD String - 3D MD değeri
Bank_Trans_ID String - Banka Transaction ID değeri
Bank_AuthCode String - Banka Auth Code değeri
Bank_HostMsg String - Banka HostMsg değeri
Banka_Sonuc_Kod Integer - Bankanın döndüğü kod
Bank_Extra String - Banka Extra değeri
Bank_HostRefNum String - Banka RRN değeri
Siparis_ID String - Request te gönderilen Siparis_ID değeri

NonSecure işlemler için
Sonuc > 0 ise UCD_HTML nin 'NONSECURE' eşitliği aranır. Eğer eşitse İşlem sonlanır. Islem_ID değeri Dekont No değeridir. Başarılı bir NonSecure işlemi için, Sonuc > 0, Islem_ID > 0 ve UCD_HTML='NONSECURE' olmalıdır. Aksi durumda işlem başarısızdır. NONSECURE işlemin hatalı olması durumunda Sonuc_Str değer bankadan gelen hata mesajını döner.

3D işlemler için
UCD_HTML içeriğini ekrana bastırdığınızda Banka 3D ekranı görüntülenecektir. 3D doğrulama yapıldıktan sonra Basarili_URL veya Hata_URL sayfalarınıza aşağıdaki parametreler post edilecektir.

Parametre Tip Uzunluk Açıklama
md String - TP_WMD_Pay metodu UCD_MD parametresine gönderilecek MD değeri
mdStatus Integer 1 3D Doğrulama Sonucudur. 1:Başarılı - Diğer durumlarda 3D doğrulama başarısızdır.
orderId String - TP_WMD_UCD_WP metoduna gönderilen Siparis_ID değeri
transactionAmount String - TP_WMD_UCD_WP metoduna gönderilen İşlem Tutarı
islemGUID String - TP_WMD_UCD_WP metodundan dönen İşlem GUID değeri
islemHash String - TP_WMD_UCD_WP metodundan dönen İşlem Hash değeri

Hash Kontrolü
Parametre doğrulaması yapmak için aşağıdaki işlemler uygulanmalıdır.

Hash değerini oluşturan parametreler
islemGUID + md + mdStatus + orderId +Üye iş yerine ait anahtar ( anahtar Lower küçük olarak gidilmeli)

Hash değeri based64 olarak kodlanmıştır. (SHA1)

Örnek kod
Dim _sha As SHA1 = New SHA1CryptoServiceProvider()
Dim _bytes() As Byte = System.Text.Encoding.UTF8.GetBytes(islemGUID + md + mdStatus + orderId + Üye İşyerine ait Anahtar)
Dim _hashingbytes() As Byte = _sha.ComputeHash(_bytes)
Dim _hash As String = Convert.ToBase64String(_hashingbytes)

Oluşturduğunuz hash değeri ile post edilen islemHash değeri aynı olmalıdır.

mdStatus Değerleri

1 = Doğrulanmış İşlem (Full 3D)
2, 3, 4 = kart kayıtlı değil (Half 3D)
5, 6, 7, 8 = Geçerli doğrulama yok veya sistem hatası
0 = Doğrulama Başarısız

mdStatus : 1, 2, 3, 4 ise Ödemeyi tamamlamak için TP_WMD_Pay metoduna istek gönderebilirsiniz.
mdStatus : 0,5,6,7,8 ise 3D doğrulama başarısızdır. TP_WMD_Pay metoduna istek göndermeyiniz..

Satış İşlemini tamamlama (3D İşlemler için)
Metot Adı: TP_WMD_Pay

Doğrulaması yapılan kartlardan tutar çekimi yapmak için bu metot kullanılır.

Parametre Zorunlu Tip Uzunluk Açıklama
G Evet Nesne - ST_WS_Guvenlik Nesnesi
GUID Evet String 36 Üye İşyerine ait Anahtar
UCD_MD Evet String - Banka 3D MD değeri
Islem_GUID Evet String 36 İşlem GUID değeri
Siparis_ID Evet String - Sipariş ID değeri
Parametre Tip Uzunluk Açıklama
Sonuc Integer - İşlem sonucu
Sonuc_Ack String 36 İşlem sonuç açıklama
Dekont_ID String 36 İşlemin Dekont ID si
Siparis_ID String - Sipariş ID değeri
UCD_MD String - Banka 3D MD Değeri
Bank_Trans_ID String - Banka Transaction ID değeri
Bank_AuthCode String - Banka Auth Code değeri
Bank_HostMsg String - Banka HostMsg değeri
Bank_Extra String - Banka Extra değeri
Bank_Sonuc_Kod Integer - Banka Sonuç Kod değeri
Bank_HostRefNum String - Banka RRN değeri
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<TP_WMD_Pay xmlns="https://turkpos.com.tr/">
<G>
<CLIENT_CODE>10738</CLIENT_CODE>
<CLIENT_USERNAME>test</CLIENT_USERNAME>
<CLIENT_PASSWORD>test</CLIENT_PASSWORD>
</G>
<GUID>0c13d406-873b-403b-9c09-a5766840d98c</GUID>
<UCD_MD>TP_WMD_UCD' den dönen değer.</UCD_MD>
<Islem_GUID>TP_WMD_UCD_WP' den dönen değer.</Islem_GUID>
<Siparis_ID>TP_WMD_UCD_WP' de kullanılan Siparis_ID değeri</Siparis_ID>
</TP_WMD_Pay>
</soap:Body>
</soap:Envelope>
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<TP_WMD_PayResponse xmlns="https://turkpos.com.tr/">
<TP_WMD_PayResult>
<Sonuc>1</Sonuc>
<Sonuc_Ack>Başarılı</Sonuc_Ack>
<Dekont_ID>3003884577</Dekont_ID>
<Siparis_ID>testdokumani001</Siparis_ID>
<UCD_MD>1000000089300991</UCD_MD>
<Bank_Trans_ID>62802134</Bank_Trans_ID>
<Bank_AuthCode>S84698</Bank_AuthCode>
<Bank_HostMsg>Success</Bank_HostMsg>
<Bank_Extra>KazanilanPuan:|KazanilanPuanTLTutar:</Bank_Extra>
<Bank_Sonuc_Kod>0</Bank_Sonuc_Kod>
<Bank_HostRefNum>313711117493</Bank_HostRefNum>
<Komisyon_Oran>1.75</Komisyon_Oran>
</TP_WMD_PayResult>
</TP_WMD_PayResponse>
</soap:Body>
</soap:Envelope>

Sonuc > 0 ve Dekont_ID > 0 ise işlem başarılıdır. Aksi halde işlem başarısızdır.

Metot Adı: TP_Islem_Sorgulama_WP

TP_WMD_UCD_WP metoduyla yapılan işlemlerin sorgulaması için kullanılır.

Parametre Zorunlu Tip Uzunluk Açıklama
G Evet Nesne - ST_WS_Guvenlik Nesnesi
GUID Evet String 36 Üye İşyerine ait Anahtar
Dekont_ID Hayır String - Dekont_ID değeri, opsiyonel
Siparis_ID Hayır String 36 TP_WMD_UCD_WP metodunda gönderilen siparis_ID değeri.
Islem_ID Hayır String 16 Islem_ID değeri, opsiyonel
Ref_No Hayır String - Ref_No değeri ile yapılan kısmi iade işlemleri ref_no özelinde sorgulama için kullanılır.
Parametre Tip Uzunluk Açıklama
Sonuc Integer - İşlem sonucu
Sonuc_Str String - İşlem sonucu açıklama
Islem_ID Long - SID Değeri
Siparis_ID String - Request te gönderilen Siparis_ID değeri
List Nesne - CL_WP: İşlem Detayları

CL_WP Nesnesi:

TP_Islem_Sorgulama_WP metod dönüşündeki Liste tipini ifade etmektedir.

Parametre Tip Uzunluk Açıklama
Dekont_ID String - Dekont_ID değeri
Islem_Tip String - İşlem Türü SALE - PRE_AUTH - POST_AUTH
Durum String - İşlem Durumu SUCCESS - PARTIAL_REFUND - FAIL - BANK_FAIL - CANCEL - REFUND
Tarih String - İşlem Tarihi
Tutar Money - İşlem Tutarı
Komisyon_Oran Money - İşlemin komisyon oranı
Komisyon_Tutar Money - İşlemin komisyon tutarı
Iade_Tutar Money - Toplam iade edilen tutar
Iade_Edilebilir_Tutar Money - Kalan iade edilebilir tutar
Banka_Sonuc_Aciklama String - Banka sonuç açıklama değeri
Taksit String - Taksit değeri
Ext_Data String - Ödeme Metodundaki Data1, Data2, Data3, Data4, Data5 alanlarının “ | ” ile birleştirilmiş hali döner.
KK_No String - İşlem yapılan kredi kartı no maskeli değeri
Bank_Extra String - Bank Extra değeri
Bank_HostRefNum String - Bank Bank_HostRefNum değeri
Bank_Trans_ID String - Bank Bank_Trans_ID değeri
Bank_AuthCode String - Bank Bank_AuthCode değeri
Metot Adı: TP_Islem_Iptal_Iade_Kismi_WP

TP_WMD_UCD_WP metoduyla yapılan işlemlerin iptal ve iadesi yapılırken kullanılır. Kısmi İadelerde oransal iade yapılır.

Parametre Zorunlu Tip Uzunluk Açıklama
G Evet Nesne - ST_WS_Guvenlik Nesnesi
GUID Evet String 36 Üye İşyerine ait Anahtar
Durum Evet String - Iptal veya Iade
Siparis_ID Hayır String 36 TP_WMD_UCD_WP metodunda gönderilen siparis_ID değeri.
Tutar Evet Money - Iptal veya Iade edilmek istenen değer
Ref_No Hayır String - Bu değer opsiyonel olarak gönderilmektedir. Kısmı iade işlemlerinde aynı Ref_No ile birden fazla kayıt gönderildiğinde başarılı iptal iade kaydı varsa o ref no için tekrar iade yapılmaması için kullanılmaktadır. Eğer Boş olarak gönderilirse daha önceden kısmı iade yapılıp yapılmadığı kontrol edilmeyecektir
Parametre Tip Uzunluk Açıklama
Sonuc Integer - İşlem sonucu
Sonuc_Str String - İşlem sonucu açıklama
Siparis_ID String - Request te gönderilen Siparis_ID değeri
List Nesne - CL_WP_II: İşlem Detayları

CL_WP_II Nesnesi:

TP_Islem_Iptal_Iade_Kismi_WP metod dönüşündeki Liste tipini ifade etmektedir.

Parametre Tip Uzunluk Açıklama
Sonuc Integer - İşlem sonucu
Sonuc_Str String - İşlem sonucu açıklama
Banka_Sonuc_Kod Integer - Bankadan dönen sonuç kod değeri
Islem_Tip String - POINT (puan) veya SALE (satış) değerini alır.
Bank_Extra String - Bank Extra değeri
Bank_HostRefNum String - Bank Bank_HostRefNum değeri
Bank_Trans_ID String - Bank Bank_Trans_ID değeri
Bank_AuthCode String - Bank Bank_AuthCode değeri