3D’siz Satış İşlemi

Web Servis İsteği

Ödeme web servis isteği aşağıda belirtilen URL’ e ve yine aşağıda belirtilen JSON formatında yapılan bir Restful web servis isteğidir.

Headers: Content-Type = application/json  


	{   
	"version":"1.0",
	"apikey":"5d39dca1550747fb9407a17f93489afd",
	"transactiontime": 1443600845,  
	"transactionId": "tx_123345679",
	"signature": "a4de0f95233617dc62de3c358251f4b2c1341ad9c050296b00a36e17420ab48c",  
	"description": "E-ticaret Ödemesi",  
	"amount": 12300,  
	"currency": "TRY",  
		  "installment": 1,  
		  "card": {  
		        "cardholdername": "Ali Veli",  
		        "cardnumber": "4355084355084358",  
		        "expireyear": "18",  
		        "expiremonth": "12",  
		        "securitycode": "000"  
		    },  
		  "basketitems": [  
		        {  
		        "description": "Boyama Kalem Seti",  
		        "productcode": "7cefdf61-38cd-4b35-b5f0-4c98c5805d41",  
		        "amount": 8750,  
		        "vatratio": 18,  
		        "count": 1,  
		        "url": "http: //www.alivelimarket.com.tr/boyama-kalem-seti" ,
		        "BasketItemType":1,
		        "BasketItemId": "basket_1"
		        },  
		        {  
		        "description": "Boyama Kitabı",  
		        "productcode": "7cefdf61-38cd-4b35-b5f0-4c98c5805d41",  
		        "amount": 2550,  
		        "vatratio": 18,  
		        "count": 3,  
		        "url": "http: //www. alivelimarket.com.tr/boyama-kitabi",
		        "BasketItemType": 1,
		        "BasketItemId": "basket_2"
		        },  
		        {  
		        "description": "KargoBedeli",  
		        "amount": 1000,  
		        "vatratio": "18",  
		        "count": 1, 
		        "BasketItemType": 3,
		        "BasketItemId": "basket_3" 
		        }  
		    ],  
		    "customer": {  
		        "name": "Ali",  
		        "surname": "Veli",  
		        "email": "ali.veli@alivelimarket.com.tr",  
		        "ipaddress": "72.125.165.16",  
		        "phonenumber": "5337654321",  
		        "code": "7cefdf61-38cd-4b35-b5f0-4c98c5805d41",
		        "tckn": 12345678910,
		        "VatNumber": 12345678910,
		        "MemberSince": 20151124,
		        "Birthdate": 19781123
		    },  
		    "shippingaddress": {  
		        "name": "Ali Veli",  
		        "address": "Kuştepe Mahallesi Mecidiyeköy Yolu Cad. No:12 Trump Towers Kule:2 Kat:11 Mecidiyeköy",  
		        "country": "Türkiye",  
		        "countrycode": "TUR",  
		        "city": "İstanbul",  
		        "citycode": "34",  
		        "zipcode": "34580",
		        "District": "Şişli",
		        "DistrictCode": null,
		       "ShippingCompany": "XXX"
		
		    },  
		    "invoiceaddress": {  
		        "name": "Ali Veli",  
		        "address": "Kuştepe Mahallesi Mecidiyeköy Yolu Cad. No:12 Trump Towers Kule:2 Kat:11 Şişli",  
		        "country": "Türkiye",  
		        "countrycode": "TUR",  
		        "city": "İstanbul",  
		        "citycode": "34",  
		        "zipcode": "34580" ,
		        "District": "Şişli",
		        "DistrictCode": null,
		        "ShippingCompany": "XXX"
		
		    },  
		    "extras": [  
		        {  
		        "key": "INT_SPRS_KODU",  
		        "value": "spr_123456789"  
		        }  
		    ]  
	 
	}

	package com.hepsipay.sample;

import java.util.ArrayList;
import java.util.List;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import com.hepsipay.client.model.Basketitem;
import com.hepsipay.client.model.Card;
import com.hepsipay.client.model.Customer;
import com.hepsipay.client.model.Extra;
import com.hepsipay.client.model.InvoiceAddress;
import com.hepsipay.client.model.ShippingAddress;
import com.hepsipay.client.model.request.payment.Payment;
import com.hepsipay.client.model.response.PaymentResponse;
import com.hepsipay.client.service.PaymentService;
import com.hepsipay.client.type.BasketItemType;
import com.hepsipay.client.type.Currency;
import com.hepsipay.client.util.HepsiPayUtil;

/**
 * 
 * @author Ahmet Faruk Bişkinler,
 * @Support PixelTürk Web Studio, "destek@pixelturk.net"
 *
 */
public class SamplePayment extends Sample {
	private final static Logger logger = LogManager.getRootLogger();
	
	public static void main(String[] args) {
		Payment paymentRequest = new Payment();
		
		/**
		 * Create Payment Request
		 * Ödeme İsteği Oluştur
		 */
		//		paymentRequest.setTransactiontime();    // Ödeme İşlem Zamanı, Varsayılan zaman ise şuan.
		//		paymentRequest.setTransactionId("tx_" .  rand(100000, 999999));    // Ödemeye Ait Tekil Kodu (Maksimum 40 karakterdir)
		paymentRequest.setTransactionId(HepsiPayUtil.generateRandomTranstionId()); // Ödemeye Ait Tekil Kodu (Maksimum 40 karakterdir)
		paymentRequest.setDescription("E-Ticaret Ödemesi"); // Açıklama alanıdır (Maksimum 40 karakterdir)
		paymentRequest.setAmount("120,99"); // Toplam Ödeme Tutarı
		paymentRequest.setCurrency(Currency.TL.getCode()); // Toplam Ödeme Tutar Birimi
		paymentRequest.setInstallment(1); // Ödeme Taksit Sayısı (1'den 12'ye kadar taksit değeridir)
		
		/**
		 * Credit Card Info
		 * Kredi Kartı Bilgileri
		 */
		Card card = new Card();
		card.setCardHolderName("John Doe"); // Kart İsim Soyisim (Maksimum 40 karakterdir. Sadece alfabetik karakterler ve boşluk kabul eder)
		card.setCardNumber("4355084355084358"); // Kart Numarası (15 veya 16 haneli nümerik değerdir)
		card.setExpireMonth("12"); // Kart Son Kullanım Tarihi (2 haneli nümerik değerdir.)
		card.setExpireYear("18"); // Kart Son Kullanım Tarihi (2 haneli nümerik değerdir.)
		card.setSecuritycode("000"); // Kart CVV (3 veya 4 haneli nümerik değerdir.)
		paymentRequest.setCard(card);
		
		/**
		 * Customer Info
		 * Müşteri Bilgileri
		 */
		Customer customer = new Customer();
		customer.setName("Ali"); // Müşteri İsim (Maksimum 20 karakterdir. Sadece alfabetik karakterler ve boşluk kabul eder.)
		customer.setSurname("Veli"); // Müşteri Soyisim (Maksimum 20 karakterdir. Sadece alfabetik karakterler ve boşluk kabul eder.)
		customer.setEmail("ali.veli@alivelimarket.com.tr"); // Müşteri Mail (Eposta adresidir.)
		customer.setIpaddress("72.125.165.16"); // Müşteri IP Adresi (IP adresidir.)
		customer.setPhonenumber("+905350000000"); // Müşteri Telefon Numarası (Maksimum 13 karakterdir. Sadece nümerik ve + değerlerini alabilir.)
		customer.setCode("7cefdf61-38cd-4b35-b5f0-4c98c5805d41"); // Müşteri Kodu (Maksimum 36 karakterdir.)
		customer.setTckn("12345678910"); // Müşteri Kimik Numarısı (TC Kimlik numarasıdır.)
		customer.setVatNumber("12345678910"); // Müşteri Vergi Numarası (Şirketlere ve firmalara tekil vergi numarası)
		customer.setMemberSince("20151124"); // Müşteri Üyelik tarihi (Müşteri üyelik tarihi formatı YYYYMMDD’dır.)
		customer.setBirthdate("19781123"); // Müşteri Doğum tarihi (Müşteri üyelik tarihi formatı YYYYMMDD’dır.)
		paymentRequest.setCustomer(customer);
		
		/**
		 * Shipping Address
		 * Teslimat/Nakliye Adresi
		 */
		ShippingAddress shippingAddress = new ShippingAddress();
		shippingAddress.setName("Ali Veli"); // Sipariş Teslimatının yapılacağı kişi adı ve soyadı (Maksimum 40 karakterdir. Sadece alfabetik karakterler ve boşluk kabul eder.)
		shippingAddress.setAddress("Kuştepe Mahallesi Mecidiyeköy Yolu Cad. No:12 Trump Towers Kule:2 Kat:11 Mecidiyeköy"); // Siparişin teslim edileceği adres (Maksimum 500 karakterdir. Sadece alfanümerik karakterler, &.,/: ve boşluk karakterini kabul eder.)
		shippingAddress.setCountry("Türkiye"); // Sipariş teslimatının yapılacağı ülke (Maksimum 20 karakterdir. Sadece alfabetik olabilir.)
		shippingAddress.setCountrycode("TUR"); // Sipariş teslimatının yapılacağı ülke (2 veya 3 haneli ISO ülke kodudur.Sadece alfabetik olabilir.)
		shippingAddress.setCity("Istanbul"); // Sipariş teslimatının yapılacağı şehir (Maksimum 20 karakterdir.Sadece alfabetik olabilir.)
		shippingAddress.setCitycode("34"); // Sipariş teslimatının yapılacağı şehir (Şehire ait ulusal veya uluslararası kod alanıdır. Türkiye için plaka kodu kullanılabilir.)
		shippingAddress.setZipcode("34580"); // Sipariş teslimatının yapılacağı posta kodu (Uluslararası posta kodu alanıdır.)
		shippingAddress.setDistrict("Şişli"); // Sipariş teslimatının yapılacağı ilçe (İlçe alanıdır.)
		shippingAddress.setDistrictCode(""); // Sipariş teslimatının yapılacağı ilçe kodu (İlçe kodu alanıdır.)
		shippingAddress.setShippingCompany("XXX"); // Taşıyıcı kargo bilgisi (Taşıyıcı kargo bilgisi alanıdır.)
		paymentRequest.setShippingaddress(shippingAddress);
		
		/**
		 * Invoice Address
		 * Fature Adresi
		 */
		InvoiceAddress invoceAddress = new InvoiceAddress();
		invoceAddress.setName("Ali Veli"); // Fatura kesilecek kişi veya kurum adı (Maksimum 40 karakterdir. Sadece alfanümerik karakterler, & . ve boşluk karakterini kabul eder.)
		invoceAddress.setAddress("Kuştepe Mahallesi Mecidiyeköy Yolu Cad. No:12 Trump Towers Kule:2 Kat:11 Şişli"); // Fatura adresi (Maksimum 500 karakterdir. Sadece alfanümerik karakterler, &.,/: ve boşluk karakterini kabul eder.)
		invoceAddress.setCountry("Türkiye"); // Fatura ülkesi (Maksimum 20 karakterdir. Sadece alfabetik olabilir.)
		invoceAddress.setCountrycode("TUR"); // Fatura ülkesi (2 veya 3 haneli ISO ülke kodudur. Sadece alfabetik olabilir.)
		invoceAddress.setCity("Istanbul"); // Fatura şehri (Maksimum 20 karakterdir. Sadece alfabetik olabilir.)
		invoceAddress.setCitycode("34"); // Fatura şehri (Şehire ait ulusal veya uluslararası kod alanıdır. Türkiye için plaka kodu kullanılabilir.)
		invoceAddress.setZipcode("34580"); // Fatura zip code (Uluslararası posta kodu alanıdır.)
		invoceAddress.setDistrict("Şişli"); // Sipariş teslimatının yapılacağı ilçe (İlçe alanıdır.)
		invoceAddress.setDistrictCode(""); // Sipariş teslimatının yapılacağı ilçe kodu (İlçe kodu alanıdır.)
		invoceAddress.setShippingCompany("XXX"); // Taşıyıcı kargo bilgisi (Taşıyıcı kargo bilgisi alanıdır.)
		paymentRequest.setInvoiceaddress(invoceAddress);
		
		/**
		 * Cart
		 * Sepet
		 */
		List basketList = new ArrayList<>();
		Basketitem firstBasketitem = new Basketitem();
		firstBasketitem.setDescription("Boyama Kalem Seti"); // Ürün ismi (Maksimum 40 karakterdir.)
		firstBasketitem.setProductcode("7cefdf61-38cd-4b35-b5f0-4c98c5805d41"); // Ürün kodu (Maksimum 36 karakterdir.)
		firstBasketitem.setAmount("87,50"); // Ürün fiyatı (Nokta ve virgülden arındırılmış double değerdir.)
		firstBasketitem.setVatratio("18"); // Tutarın KDV içerip içermediğini belirtir (0, 8 veya 18 değerlerini alabilir.)
		firstBasketitem.setCount("1"); // Ürün miktarı (Maksimum 3 haneli nümerik değerdir.)
		firstBasketitem.setUrl("http://www.alivelimarket.com.tr/boyama-kalem-seti"); // Ürün web adresi (Web URL'idir)
		firstBasketitem.setBasketItemType(BasketItemType.PHYSICAL.getCode()); // Ürün tipi (Ürünler için PHYSICAL, Kargo bilgisi için SHIPPING.)
		firstBasketitem.setBasketItemId("basket_1"); // Ürün kodu (Maksimum 40 karakterdir.)
		basketList.add(firstBasketitem);
		
		Basketitem secondBasketitem = new Basketitem();
		secondBasketitem.setDescription("Boyama Kitabı");
		secondBasketitem.setProductcode("7cefdf61-38cd-4b35-b5f0-4c98c5805d41");
		secondBasketitem.setAmount("25,50");
		secondBasketitem.setVatratio("18");
		secondBasketitem.setCount("3");
		secondBasketitem.setUrl("http://www.alivelimarket.com.tr/boyama-kitabi");
		secondBasketitem.setBasketItemType(BasketItemType.PHYSICAL.getCode());
		secondBasketitem.setBasketItemId("basket_2");
		basketList.add(secondBasketitem);
		
		Basketitem thirdBasketitem = new Basketitem();
		thirdBasketitem.setDescription("KargoBedeli");
		thirdBasketitem.setAmount("10,00");
		thirdBasketitem.setVatratio("18");
		thirdBasketitem.setCount("1");
		thirdBasketitem.setBasketItemType(BasketItemType.SHIPPING.getCode());
		thirdBasketitem.setBasketItemId("basket_3");
		basketList.add(thirdBasketitem);
		
		paymentRequest.setBasketitems(basketList);
		
		List extraList = new ArrayList<>();
		Extra extra1 = new Extra();
		extra1.setKey("INT_SPRS_KODU");
		extra1.setValue("spr_123456789");
		extraList.add(extra1);

		Extra extra2 = new Extra();
		extra2.setKey("INT_MUSTERI_KODU");
		extra2.setValue("mus_123456789");
		extraList.add(extra2);
		
		paymentRequest.setExtras(extraList);

		PaymentService paymentService = new PaymentService(hepsiPaySettings);
		PaymentResponse paymentResponse = paymentService.makePayment(paymentRequest);
		
		logger.debug(paymentResponse);
	}
	
	
}


?php 

require_once('config.php');

/**
 * Create Payment Request
 * Ödeme İsteği Oluştur
 */
$request = new \Hepsipay\Request\CreatePaymentRequest();

/**
 * Set Options
 * Ayarları Set Et
 */
$request->setOptions($options);


$request->setTransactionTime();    // Ödeme İşlem Zamanı, Varsayılan zaman ise şuan.
$request->setTransactionId("tx_" . rand(100000, 999999));    // Ödemeye Ait Tekil Kodu (Maksimum 40 karakterdir)
$request->setDescription("E-Ticaret Ödemesi"); // Açıklama alanıdır (Maksimum 40 karakterdir)
$request->setAmount("12099"); // Toplam Ödeme Tutarı (120,99 TL için 12099 girilmesi gerekmektedir. Diğer örnek: 1 TL için 100 giriniz.)
$request->setCurrency(\Hepsipay\Model\Currency::TL); // Toplam Ödeme Tutar Birimi
$request->setInstallment(1); // Ödeme Taksit Sayısı (1'den 12'ye kadar taksit değeridir)

/**
 * Credit Card Info
 * Kredi Kartı Bilgileri
 */
$card = new \Hepsipay\Model\Card();
$card->setCardHolderName("John Doe"); // Kart İsim Soyisim (Maksimum 40 karakterdir. Sadece alfabetik karakterler ve boşluk kabul eder)
$card->setCardNumber("4355084355084358"); // Kart Numarası (15 veya 16 haneli nümerik değerdir)
$card->setExpireMonth("12"); // Kart Son Kullanım Tarihi (2 haneli nümerik değerdir.)
$card->setExpireYear("18"); // Kart Son Kullanım Tarihi (2 haneli nümerik değerdir.)
$card->setSecurityCode("000"); // Kart CVV (3 veya 4 haneli nümerik değerdir.)
$request->setCard($card);

/**
 * Customer Info
 * Müşteri Bilgileri
 */
$customer = new \Hepsipay\Model\Customer();
$customer->setName("Ali"); // Müşteri İsim (Maksimum 20 karakterdir. Sadece alfabetik karakterler ve boşluk kabul eder.)
$customer->setSurName("Veli"); // Müşteri Soyisim (Maksimum 20 karakterdir. Sadece alfabetik karakterler ve boşluk kabul eder.)
$customer->setEmail("ali.veli@alivelimarket.com.tr"); // Müşteri Mail (Eposta adresidir.)
$customer->setIpAddress("72.125.165.16"); // Müşteri IP Adresi (IP adresidir.)
$customer->setPhoneNumber("+905350000000"); // Müşteri Telefon Numarası (Maksimum 13 karakterdir. Sadece nümerik ve + değerlerini alabilir.)
$customer->setCode("7cefdf61-38cd-4b35-b5f0-4c98c5805d41"); // Müşteri Kodu (Maksimum 36 karakterdir.)
$customer->setTckn("12345678910"); // Müşteri Kimik Numarısı (TC Kimlik numarasıdır.)
$customer->setVatNumber("12345678910"); // Müşteri Vergi Numarası (Şirketlere ve firmalara tekil vergi numarası)
$customer->setMemberSince("20151124"); // Müşteri Üyelik tarihi (Müşteri üyelik tarihi formatı YYYYMMDD’dır.)
$customer->setBirthDate("19781123"); // Müşteri Doğum tarihi (Müşteri üyelik tarihi formatı YYYYMMDD’dır.)
$request->setCustomer($customer);

/**
 * Shipping Address
 * Teslimat/Nakliye Adresi
 */
$shippingAddress = new \Hepsipay\Model\Address();
$shippingAddress->setName("Ali Veli"); // Sipariş Teslimatının yapılacağı kişi adı ve soyadı (Maksimum 40 karakterdir. Sadece alfabetik karakterler ve boşluk kabul eder.)
$shippingAddress->setAddress("Kuştepe Mahallesi Mecidiyeköy Yolu Cad. No:12 Trump Towers Kule:2 Kat:11 Mecidiyeköy"); // Siparişin teslim edileceği adres (Maksimum 500 karakterdir. Sadece alfanümerik karakterler, &.,/: ve boşluk karakterini kabul eder.)
$shippingAddress->setCountry("Türkiye"); // Sipariş teslimatının yapılacağı ülke (Maksimum 20 karakterdir. Sadece alfabetik olabilir.)
$shippingAddress->setCountryCode("TUR"); // Sipariş teslimatının yapılacağı ülke (2 veya 3 haneli ISO ülke kodudur.Sadece alfabetik olabilir.)
$shippingAddress->setCity("Istanbul"); // Sipariş teslimatının yapılacağı şehir (Maksimum 20 karakterdir.Sadece alfabetik olabilir.)
$shippingAddress->setCityCode("34"); // Sipariş teslimatının yapılacağı şehir (Şehire ait ulusal veya uluslararası kod alanıdır. Türkiye için plaka kodu kullanılabilir.)
$shippingAddress->setZipCode("34580"); // Sipariş teslimatının yapılacağı posta kodu (Uluslararası posta kodu alanıdır.)
$shippingAddress->setDistrict("Şişli"); // Sipariş teslimatının yapılacağı ilçe (İlçe alanıdır.)
$shippingAddress->setDistrictCode(""); // Sipariş teslimatının yapılacağı ilçe kodu (İlçe kodu alanıdır.)
$shippingAddress->setShippingCompany("XXX"); // Taşıyıcı kargo bilgisi (Taşıyıcı kargo bilgisi alanıdır.)
$request->setShippingAddress($shippingAddress);

/**
 * Invoice Address
 * Fature Adresi
 */
$invoceAddress = new \Hepsipay\Model\Address();
$invoceAddress->setName("Ali Veli"); // Fatura kesilecek kişi veya kurum adı (Maksimum 40 karakterdir. Sadece alfanümerik karakterler, & . ve boşluk karakterini kabul eder.)
$invoceAddress->setAddress("Kuştepe Mahallesi Mecidiyeköy Yolu Cad. No:12 Trump Towers Kule:2 Kat:11 Şişli"); // Fatura adresi (Maksimum 500 karakterdir. Sadece alfanümerik karakterler, &.,/: ve boşluk karakterini kabul eder.)
$invoceAddress->setCountry("Türkiye"); // Fatura ülkesi (Maksimum 20 karakterdir. Sadece alfabetik olabilir.)
$invoceAddress->setCountryCode("TUR"); // Fatura ülkesi (2 veya 3 haneli ISO ülke kodudur. Sadece alfabetik olabilir.)
$invoceAddress->setCity("Istanbul"); // Fatura şehri (Maksimum 20 karakterdir. Sadece alfabetik olabilir.)
$invoceAddress->setCityCode("34"); // Fatura şehri (Şehire ait ulusal veya uluslararası kod alanıdır. Türkiye için plaka kodu kullanılabilir.)
$invoceAddress->setZipCode("34580"); // Fatura zip code (Uluslararası posta kodu alanıdır.)
$invoceAddress->setDistrict("Şişli"); // Sipariş teslimatının yapılacağı ilçe (İlçe alanıdır.)
$invoceAddress->setDistrictCode(""); // Sipariş teslimatının yapılacağı ilçe kodu (İlçe kodu alanıdır.)
$invoceAddress->setShippingCompany("XXX"); // Taşıyıcı kargo bilgisi (Taşıyıcı kargo bilgisi alanıdır.)
$request->setInvoiceAddress($invoceAddress);

/**
 * Cart
 * Sepet
 */
$basketItems = array();
$firstBasketItem = new \Hepsipay\Model\BasketItem();
$firstBasketItem->setDescription("Boyama Kalem Seti"); // Ürün ismi (Maksimum 40 karakterdir.)
$firstBasketItem->setProductCode("7cefdf61-38cd-4b35-b5f0-4c98c5805d41"); // Ürün kodu (Maksimum 36 karakterdir.)
$firstBasketItem->setAmount("8750"); // Ürün fiyatı (Nokta ve virgülden arındırılmış double değerdir.)
$firstBasketItem->setVatRatio("18"); // Tutarın KDV içerip içermediğini belirtir (0, 8 veya 18 değerlerini alabilir.)
$firstBasketItem->setCount("1"); // Ürün miktarı (Maksimum 3 haneli nümerik değerdir.)
$firstBasketItem->setUrl("http://www.alivelimarket.com.tr/boyama-kalem-seti"); // Ürün web adresi (Web URL'idir)
$firstBasketItem->setBasketItemType(\Hepsipay\Model\BasketItemType::PHYSICAL); // Ürün tipi (Ürünler için PHYSICAL, Kargo bilgisi için SHIPPING.)
$firstBasketItem->setBasketItemId("basket_1");  // Ürün kodu (Maksimum 40 karakterdir.)
$basketItems[] = $firstBasketItem;

$secondBasketItem = new \Hepsipay\Model\BasketItem();
$secondBasketItem->setDescription("Boyama Kitabı");
$secondBasketItem->setProductCode("7cefdf61-38cd-4b35-b5f0-4c98c5805d41");
$secondBasketItem->setAmount("2550");
$secondBasketItem->setVatRatio("18");
$secondBasketItem->setCount("3");
$secondBasketItem->setUrl("http://www.alivelimarket.com.tr/boyama-kitabi");
$secondBasketItem->setBasketItemType(\Hepsipay\Model\BasketItemType::PHYSICAL);
$secondBasketItem->setBasketItemId("basket_2");
$basketItems[1] = $secondBasketItem;

$thirdBasketItem = new \Hepsipay\Model\BasketItem();
$thirdBasketItem->setDescription("KargoBedeli");
$thirdBasketItem->setAmount("1000");
$thirdBasketItem->setVatRatio("18");
$thirdBasketItem->setCount("1");
$thirdBasketItem->setBasketItemType(\Hepsipay\Model\BasketItemType::SHIPPING);
$thirdBasketItem->setBasketItemId("basket_3");
$basketItems[] = $thirdBasketItem;

$request->setBasketItems($basketItems);

/**
 * Make Request
 * İsteği Oluştur
 */
$response = \Hepsipay\Model\Payment::create($request);

/**
 * Print Response ve Request Details
 * Yanıtı ve İstek Detaylarını Yazdır
 */
echo "<pre>";
echo "\nRESPONSE\n\n";
print_r($response); // Response
echo "\nREQUEST\n\n";
print_r($request->toJsonString()); // Request
echo "</pre>";



  
  var paymentRequest = new PaymentRequest
{
	Version = "1.0",
	ApiKey = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlIjoxLCJBcGlLZXkiOiJhNTNkZjYwZjUwNmY0MzBjYTRjNzQzNTRkNDU1Y2RlYyJ9.O-eJWMK1sHt3JZgHFsnJp6yyiqmbzdyuOOe0-AvnHzg",
	TransactionId = "TestSale00002",
	TransactionTime = "1443600845",
	Amount = 5499,
	Description = "E-ticaretÖdemesi",
	Currency = "TRY",
	Installment = 1,
	Card = new Card
	{
		CardHolderName = "Ahmet Mehmet",
		CardNumber = "4355084355084358",
		ExpireMonth = "02",
		ExpireYear = "20",
		SecurityCode = "000"
	},
	BasketItems = new List
	{
		new BasketItem
		{
			Description = "BoyamaKalemSeti",
			ProductCode = "7cefdf61-38cd-4b35-b5f0-4c98c5805d41",
			Amount = 8750,
			VatRatio = 18,
			Count = 1,
			Url = "http://www.ahmetmarket.com.tr/boyama-kalem-seti"
		},
		new BasketItem
		{
			Description = "BoyamaKitabı",
			ProductCode = "7cefdf61-38cd-4b35-b5f0-4c98c5805d41",
			Amount = 2550,
			VatRatio = 18,
			Count = 3,
			Url = "http://www.ahmetmarket.com.tr/boyama-kitabi"
		},
		new BasketItem
		{
			Description = "KargoBedeli",
			Amount = 1000,
			VatRatio = 18,
			Count = 1
		}
	},
	Customer = new Customer
	{
		Name = "Ahmet",
		Surname = "Mehmet",
		Email = "ahmetmehmet@ahmetmarket.com.tr",
		PhoneNumber = "5337654321",
		Code = "7cefdf61-38cd-4b35-b5f0-4c98c5805d41",
		IpAddress = "127.0.0.1"
	},
	ShippingAddress = new ShippingAddress
	{
		Name = "Ahmet Mehmet",
		Address = "Kuştepe Mahallesi Mecidiyeköy Yolu Cad. No:12 Trump Towers Kule:2 Kat:11 ŞİŞLİ",
		Country = "Türkiye",
		CountryCode = "TUR",
		City = "İstanbul",
		CityCode = "34",
		ZipCode = "34580"
	},
	InvoiceAddress = new InvoiceAddress
	{
		Name = "Ahmet Mehmet",
		Address = "Kuştepe Mahallesi Mecidiyeköy Yolu Cad. No:12 Trump Towers Kule:2 Kat:11 ŞİŞLİ",
		Country = "Türkiye",
		CountryCode = "TUR",
		City = "İstanbul",
		CityCode = "34",
		ZipCode = "34580"
	},
	Extras = new List { new Extra { Key = "INT_SPRS_KODU", Value = "spr_123456789" } },
	MerchantCardId = "",
	SaveCreditCard = true,
	HashVersion = "1.1"
};
var apiUrl = "https://apientgr.hepsipay.com/payments/pay";
var paymentResponse = _paymentProcessor.Pay(paymentRequest, apiUrl, "123");

Web Servis Cevabı

Web Servis Cevabı alındığında MessageCode parametresi ile işlem durumu kontrol edilebilir. Ancak işlemlerinizin Güvenliğini sağlayabilmek için MessageCode paremetresi ile birlikte Amount ve Transactionid paremetreleri de kontrol edilmelidir.Bu kontrol ile işlem güvenliği sağlamış olur.


  { 
  "Amount": 12300,
  "TransactionType": 0, 
  "Installment": 9, 
  "ApiKey": "1ca71cb09c7f4a2188fbddfa90efb481",
  "TransactionId": "tx_121345678912345", 
  "TransactionTime": "1447752023",
  "Signature": "8480954d54d94e5f272c53caa69efdcb0b678e837d3997eec42c4dbfa636cdde",
  "Currency": "TRY", 
  "Extras": [ { "Key": "INT_SPRS_KODU", "Value": "spr_123456789" } ],
  "Success": true, 
  "MessageCode": "0000", 
  "Message": "Başarılı", 
  "UserMessage": "İşleminiz başarıyla gerçekleştirildi."
  }

Ürün veya hizmet arayabilirsiniz.