NAV
.NET

Başlangıç

İşyerimPOS ödeme API’si, internet üzerinden ödeme kabul eden tüm üye işyerlerinin ihtiyacına cevap verecek şekilde, oturum bilgisi tutmayan (stateless) Restful servis odaklı bir mimaride geliştirilmiştir. İşyerimPOS'un sunduğu sunucu taraflı programlama diline uygun istemciler (client) ile çok kolay entegre olunabilir. Başlamak için aşağıdaki adımları izleyebilirsiniz.

Tüm bankaların test ortamları dışarıya açık olmadığından testler esnasında HALK BANKSI veya İŞ BANKASI kartları ile test yapmanızı tavsiye ederiz.

Servis bağlantı adresleri

Test Ortamı Adresi:
API_URL : https://apitest.isyerimpos.com/v1/

Gerçek Ortam Adresi:
API_URL : https://api.isyerimpos.com/v1/


Test Ortamı Kullanıcı Bilgileri

MerchantId: 11039

UserId: 445

ApiKey: AQAAAAEAACcQAAAAEBfEWS9XGrZta1wfYC1qeTCA2gJIbDH1+rQEdrY8k4qE8EFtWf3i0Axyb4jY2uReyw==

Postman Dökümanı: IsyerimPOS API.postman_collection.json

Kimlik Doğrulama

Her istekte request header a aşağıdaki parametreler eklenmelidir

Kimlik doğrulama için tüm isteklerde request header içerisinde MerchantId, UserId ve ApiKey parametrelerinin gönderilmesi gerekmektedir.

Api erişimleri için, API üzerinden işlem yapma yetkisinin tanımlanmış olması ve API Kullanıcısı rolünde bir kullanıcı oluşturulması gerekmektedir.

Gerçek ortamda sadece tanımlanmış IP adresleri üzerinden erişim sağlanabilecektir.

API Metodları

Temel olarak aşağıdaki metodlar ile API üzerinden işlemlerinizi gerçekleştirebilirsiniz.

Taksit Seçenekleri

Kart tipi ve tutara göre taksit seçeneklerinin alınması

Kart türü ve tutarına göre taksit seçeneklerini döner. Debit veya yurtdışı kartlarında sadece tek çekim uygulanabilir. Maliyeti müşteriye yansıt seçeneği ile maliyet, karttan çekilecek tutara eklenerek işlem yapılabilir.

Input: CheckInstallment Output: Result>PaymentOptions< modelidir.

Request URL

POST API_URL/getInstallments

İstek Parametreleri

Parametre Zorunlu Varsayılan Tip Uzunluk Açıklama
CardNumber Evet   String 16 Kredi Kartı numarası
Amount Evet 0 Decimal - İşlem Tutarı
ReflectCost Hayır false Boolean - Maliyeti tutara ekle / ekleme

Yanıt Parametreleri

Parametre Tip Uzunluk Açıklama
Installments Nesne   Taksit Listesi
Installment Int Taksit Sayısı
Amount Decimal   Tutar
WithdrawAmount Decimal   Karttan çekilecek tutar
CostRate Decimal   Komisyon Oranı
CostAmout Decimal   Komisyon Tutarı
NetAmount Decimal   Hesaba Geçecek Tutar
CardInfo Nesne   Karta ait bilgiler
BankId Int   Kartın ait olduğu BKM Banka Idsi
CardType Int   Kart Türü
CardSchema Int   Visa,Master vb
CardBrand Int   Kart Markası World, Bonus vb
IsBusinessCard Boolean   Ticari Kart
IsCreditCard Boolean   Kredi Kartı

Ödeme İsteği

Ödeme İsteğinin gönderilmesi

3D ödeme işlemini başlatmak için kart bilgisi, tutar bilgisi, taksit sayısı ile birlikte varsa müşteri bilgisi ve satışa konu olan ürün bilgileri modele göre uygun şekilde gönderilir. Alınan ödemenin müşteri banka hesaplarına aktarılması isteniyorsa Payments listesi içerisinde hangi hesaba ne kadar gönderileceği belirtilebilir.

Gönderilen değerlerde bir hata varsa Result nesnesi IsDone = false olarak döner ve Message alanında hata sebebi belirtilir. Bu durumda işleme devam edilmez

Herhangi bir hata yoksa ResponseAsHtml alanı içerisinde 3d doğrulama için html kodu gönderilir. Bu kod olduğu gibi uygulama penceresi içerisinde gösterilir. İkinci bir yöntem olarak ise, dönüş nesnesi içinde yer alan PaymentLink parametresindeki adrese yönlendirme yapılır. Daha sonra otomatik olarak banka sayfasına yönlendirilir.

İşlem sonucunda bankadan alınan yanıt sunucu tarafında kontrol edildikten sonra yapılandırma ayarlarınızda veya modelde belirtilen dönüş adresine istek yapılır. Yapılan bu çağrı üzerinde sonuç kontrol adımı çağrılarak işlem kontrol edilir ve başarılı veya başarısız olarak süreç tamamlanır.

Input: PayRequest Output: Result>PayControlModel< modelidir.

Request URL

POST API_URL/payRequest3d

İstek Parametreleri

Parametre Zorunlu Varsayılan Tip Uzunluk Açıklama
ClientIp Evet   String 16 Müşteri ip adr
OrderId Hayır   String 64 Sipariş No
Installment Evet 0 Int - Taksit sayısı
Amount Evet 0 Decimal - İşlem tutarı
ReflectCost Hayır false Boolean - Maliyeti Tutara Ekle
CardInfo Evet false Nesne - Kart bilgisi
CardOwner Evet false String - Kart Sahibi
CardNo Evet false String 16 Kart numarası
Month Evet false String 2 Kart son kullanma ayı
Year Evet false String 2 veya 4 Kart son kullanma yılı
Cvv Evet false String - Kart güvenlik numarası
CustomerInfo Hayır false Nesne - Müşteri bilgisi
Name Hayır false String - Müşteri adı
Phone Hayır false String - Müşteri telefon numarası
Email Hayır false String - Müşteri eposta adresi
Address Hayır false String - Müşteri adres bilgisi
Description Hayır false String - İşlem açıklaması
Products Hayır   Liste - Ürünler listesi
Product Hayır   Nesne - Ürün Nesnesi
Name Hayır false String - Ürün adı
Count Hayır false Int - Ürün Adedi
UnitPrice Hayır false Decimal - Ürün birim fiyatı
Payments Hayır   Liste   Ödeme Listesi
Payment Hayır   Nesne   Ödeme Nesnesi
AccountOwner         Hesap Sahibi
IBAN         Iban
Description         İşlem açıklaması
Amount Evet 0 Decimal   Ödeme tutarı

Yanıt Parametreleri

Parametre Tip Uzunluk Açıklama
Uid Nesne   İşleme ait unique değer
PaymentLink String Client sayfasının yönlendirileceği ödeme adresi
ResponseAsHtml Int 3D Doğruma için ekrana bastırılacak hmtl kodu

Sonuç Kontrolü

İşlem sonucunun kontrolü

Ödeme isteği sonucunda tanımlanan adrese ?uid=UNIQUEID veya ?orderId=OrderId (UNIQUEID değeri bir önceki metodda belirdilen Uid değeridir) eklenerek callback yapıldıktan sonra bu metod çağrılarak işlemin başarılı olup olmadığı kontrol edilerek işlem tamamlanır

Input: string Output: Result>PayResponse< modelidir.

Request URL

POST API_URL/payResultCheck

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Komisyon oranları

Komisyon listesinin alınması

Üye işyerinize tanımlanmış profile göre tüm markalara ait komisyon oranları listesini döner.

Output: Result>Lits>Commission<< modelidir.

Request URL

POST API_URL/commissions

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

İptal Talebi

İptal Talebi

Başarılı bir işlemin iptal edilmesi için talep açılması amacıyla kullanılmaktadır. Aynı gün yapılan başarılı işlemler için kullanılabilir

Output: Result modelidir.

Request URL

POST API_URL/cancelRequest

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

İade Talebi

İade Talebi

Başarılı bir işlemin iade edilmesi için talep açılması amacıyla kullanılmaktadır. Farklı gün yapılan başarılı işlemler için kullanılabilir

Output: Result modelidir.

Request URL

POST API_URL/refundRequest

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ödeme Durum Kontrolü

Ödeme Durum Kontrolü

Pazaryeri ödemelerinin yapılıp yapılmadığının kontrolü için kullanılır

Output: Result modelidir.

Request URL

POST API_URL/paymentStatus

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ödeme Listesi

Ödeme Durum Kontrolü

Pazaryeri ödemelerinin ilgili tarihteki ödeme listesini verir

Output: Result modelidir.

Request URL

POST API_URL/paymentStatus

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Modeller

Kullanılan Modeller:

Result

public class Result
{
IsDone = result.IsDone;
Message = result.Message;
ErrorCode = result.ErrorCode;
Errors = result.Errors;
}

Pay

public class Result
{
IsDone = result.IsDone;
Message = result.Message;
ErrorCode = result.ErrorCode;
Errors = result.Errors;
}

CardInfo

public class CardInfo
{
public string CardOwner { get; set; }
public string CardNo { get; set; }
public string Month { get; set; }
public string Year { get; set; }
public string Cvv { get; set; }
}

CustomerInfo

public class CustomerInfo
{
public string Name { get; set; }
public string Email { get; set; }
public string Address { get; set; }
public string Phone { get; set; }
public string Description { get; set; }
}

Product

public class Product
{
public string Name { get; set; }
public int Count { get; set; }
public decimal UnitPrice { get; set; }
}

Payment

public class Payment
{
public string AccountOwner { get; set; }
public string IBAN { get; set; }
public string Description { get; set; }
public decimal Amount { get; set; }
}

CardType

public class CardType
{
Tanimsiz = 0,
KrediKarti = 1,
DebitKart = 2,
Acquiring = 3,
Onyuklemeli = 4
}

CardSchema

public class CardSchema
{
Tanimsiz = 0,
Visa = 1,
MasterCard = 2,
Amex = 3,
DinersClub = 4,
Jcb = 5,
Troy = 6,
UnionPay = 7,
ProprietaryDomestic = 8
}

CardBrand

public class CardBrand
{
Tanimsiz = 0,
Advantage = 1,
Axess = 2,
BankkartCombo = 3,
Bonus = 4,
CardFinans = 5,
Maximum = 6,
MilesSmiles = 7,
Paraf = 8,
SaglamKart = 9,
World = 10,
Bank24 = 11,
Param = 12,
HasatKart = 13,
UretenKart = 14,
ShopFly = 15,
Wings = 16,
Neo = 17,
Tosla = 18
}

ProcessStatus

public class ProcessStatus
{
Tanimsiz = 0,
Bekliyor = 1,
Bildirimde = 2,
Basarili = 4,
Basarisiz = 5,
Iptal = 6,
IptalSurecinde = 7,
IadeSurecinde = 8,
ChargeBackSurecinde = 9
}

Test Kartları

BANKA ŞEMAKART NOS.K.TARİHİ CVV 3D SMS ŞİFRESİ
ZİRAAT BANKASI Visa 4546711234567894 12/26 000 a
ZİRAAT BANKASI MasterCard 5401341234567891 12/26 000 a
FİNANSBANK Visa 4022774022774026 12/26 000
FİNANSBANK MasterCard 5456165456165454 12/26 000
AKBANK Visa 4355084355084358 12/26 000 a
AKBANK MasterCard 5571135571135575 12/26 000 a
İŞ BANKASI Visa 4508034508034509 12/26 000 a
İŞ BANKASI MasterCard 5406675406675403 12/26 000 a
HALK BANKASI Visa 4531444531442283 12/26 001 a
HALK BANKASI MasterCard 5818775818772285 12/26 001 a
YAPIKREDİ Visa 4506347027911094 03/22 000 34020
YAPIKREDİ MasterCard 5400619360964581 03/22 000 34020

Eklentiler

Woo Commerce Eklentisi: Woo Commerce

Open Cart Eklentisi: OpenCart

## Installation

#### Notice :

If you have installed any other theme on your opencart site, you have to copy below folder from this plugin: **catalog/view/theme/default/template** to your theme folder at: **catalog/view/theme/current_theme_folder**.

Hata Kodları

Servis sonucunda dönen hata kodları aşağıdaki gibidir:

Hata Kodu Açıklama
000 Başarılı İşlem
100
101
102
103
104
105
106
107
108
109
110