-
Notifications
You must be signed in to change notification settings - Fork 91
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #49 from efekocabas/develop
Added APM php client and tests
- Loading branch information
Showing
18 changed files
with
1,770 additions
and
109 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
<?php | ||
|
||
require_once('config.php'); | ||
|
||
# create request class | ||
$request = new \Iyzipay\Request\CreateApmInitializeRequest(); | ||
$request->setLocale(\Iyzipay\Model\Locale::TR); | ||
$request->setConversationId("123456789"); | ||
$request->setPrice("1"); | ||
$request->setPaidPrice("1.2"); | ||
$request->setCurrency(\Iyzipay\Model\Currency::EUR); | ||
$request->setCountryCode("DE"); | ||
$request->setPaymentChannel(\Iyzipay\Model\PaymentChannel::WEB); | ||
$request->setPaymentGroup(\Iyzipay\Model\PaymentGroup::PRODUCT); | ||
$request->setAccountHolderName("John Doe"); | ||
$request->setMerchantCallbackUrl("https://www.merchant.com/callback"); | ||
$request->setMerchantErrorUrl("https://www.merchant.com/error"); | ||
$request->setMerchantNotificationUrl("https://www.merchant.com/notification"); | ||
$request->setApmType(\Iyzipay\Model\ApmType::SOFORT); | ||
|
||
$buyer = new \Iyzipay\Model\Buyer(); | ||
$buyer->setId("BY789"); | ||
$buyer->setName("John"); | ||
$buyer->setSurname("Doe"); | ||
$buyer->setGsmNumber("905350000000"); | ||
$buyer->setEmail("email@email.com"); | ||
$buyer->setIdentityNumber("74300864791"); | ||
$buyer->setLastLoginDate("2015-10-05 12:43:35"); | ||
$buyer->setRegistrationDate("2013-04-21 15:12:09"); | ||
$buyer->setRegistrationAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1"); | ||
$buyer->setIp("85.34.78.112"); | ||
$buyer->setCity("Istanbul"); | ||
$buyer->setCountry("Turkey"); | ||
$buyer->setZipCode("34732"); | ||
$request->setBuyer($buyer); | ||
|
||
$shippingAddress = new \Iyzipay\Model\Address(); | ||
$shippingAddress->setContactName("Jane Doe"); | ||
$shippingAddress->setCity("Istanbul"); | ||
$shippingAddress->setCountry("Turkey"); | ||
$shippingAddress->setAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1"); | ||
$shippingAddress->setZipCode("34742"); | ||
$request->setShippingAddress($shippingAddress); | ||
|
||
$billingAddress = new \Iyzipay\Model\Address(); | ||
$billingAddress->setContactName("Jane Doe"); | ||
$billingAddress->setCity("Istanbul"); | ||
$billingAddress->setCountry("Turkey"); | ||
$billingAddress->setAddress("Nidakule Göztepe, Merdivenköy Mah. Bora Sok. No:1"); | ||
$billingAddress->setZipCode("34742"); | ||
$request->setBillingAddress($billingAddress); | ||
|
||
$basketItems = array(); | ||
$firstBasketItem = new \Iyzipay\Model\BasketItem(); | ||
$firstBasketItem->setId("BI101"); | ||
$firstBasketItem->setName("Binocular"); | ||
$firstBasketItem->setCategory1("Collectibles"); | ||
$firstBasketItem->setCategory2("Accessories"); | ||
$firstBasketItem->setItemType(\Iyzipay\Model\BasketItemType::PHYSICAL); | ||
$firstBasketItem->setPrice("0.3"); | ||
$basketItems[0] = $firstBasketItem; | ||
|
||
$secondBasketItem = new \Iyzipay\Model\BasketItem(); | ||
$secondBasketItem->setId("BI102"); | ||
$secondBasketItem->setName("Game code"); | ||
$secondBasketItem->setCategory1("Game"); | ||
$secondBasketItem->setCategory2("Online Game Items"); | ||
$secondBasketItem->setItemType(\Iyzipay\Model\BasketItemType::VIRTUAL); | ||
$secondBasketItem->setPrice("0.5"); | ||
$basketItems[1] = $secondBasketItem; | ||
|
||
$thirdBasketItem = new \Iyzipay\Model\BasketItem(); | ||
$thirdBasketItem->setId("BI103"); | ||
$thirdBasketItem->setName("Usb"); | ||
$thirdBasketItem->setCategory1("Electronics"); | ||
$thirdBasketItem->setCategory2("Usb / Cable"); | ||
$thirdBasketItem->setItemType(\Iyzipay\Model\BasketItemType::PHYSICAL); | ||
$thirdBasketItem->setPrice("0.2"); | ||
$basketItems[2] = $thirdBasketItem; | ||
$request->setBasketItems($basketItems); | ||
|
||
# make request | ||
$apmInitialize = \Iyzipay\Model\Apm::create($request, Config::options()); | ||
|
||
# print result | ||
print_r($apmInitialize); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
<?php | ||
|
||
require_once('config.php'); | ||
|
||
# create request class | ||
$request = new \Iyzipay\Request\RetrieveApmRequest(); | ||
$request->setLocale(\Iyzipay\Model\Locale::TR); | ||
$request->setConversationId("123456789"); | ||
$request->setPaymentId("1"); | ||
|
||
# make request | ||
$apmRetrieve = \Iyzipay\Model\Apm::retrieve($request, Config::options()); | ||
|
||
# print result | ||
print_r($apmRetrieve); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
<?php | ||
|
||
namespace Iyzipay\Model; | ||
|
||
use Iyzipay\Model\Mapper\ApmMapper; | ||
use Iyzipay\Options; | ||
use Iyzipay\Request\CreateApmInitializeRequest; | ||
use Iyzipay\Request\RetrieveApmRequest; | ||
|
||
class Apm extends ApmResource | ||
{ | ||
public static function create(CreateApmInitializeRequest $request, Options $options) | ||
{ | ||
$rawResult = parent::httpClient()->post($options->getBaseUrl() . "/payment/apm/initialize", parent::getHttpHeaders($request, $options), $request->toJsonString()); | ||
return ApmMapper::create($rawResult)->jsonDecode()->mapApm(new Apm()); | ||
} | ||
|
||
public static function retrieve(RetrieveApmRequest $request, Options $options) | ||
{ | ||
$rawResult = parent::httpClient()->post($options->getBaseUrl() . "/payment/apm/retrieve", parent::getHttpHeaders($request, $options), $request->toJsonString()); | ||
return ApmMapper::create($rawResult)->jsonDecode()->mapApm(new Apm()); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,262 @@ | ||
<?php | ||
|
||
namespace Iyzipay\Model; | ||
|
||
use Iyzipay\IyzipayResource; | ||
|
||
class ApmResource extends IyzipayResource | ||
{ | ||
private $redirectUrl; | ||
private $price; | ||
private $paidPrice; | ||
private $paymentId; | ||
private $merchantCommissionRate; | ||
private $merchantCommissionRateAmount; | ||
private $iyziCommissionRateAmount; | ||
private $iyziCommissionFee; | ||
private $basketId; | ||
private $currency; | ||
private $paymentItems; | ||
private $phase; | ||
private $accountHolderName; | ||
private $accountNumber; | ||
private $bankName; | ||
private $bankCode; | ||
private $bic; | ||
private $paymentPurpose; | ||
private $iban; | ||
private $countryCode; | ||
private $apm; | ||
private $mobilePhone; | ||
private $paymentStatus; | ||
|
||
public function getRedirectUrl() | ||
{ | ||
return $this->redirectUrl; | ||
} | ||
|
||
public function setRedirectUrl($redirectUrl) | ||
{ | ||
$this->redirectUrl = $redirectUrl; | ||
} | ||
|
||
public function getPrice() | ||
{ | ||
return $this->price; | ||
} | ||
|
||
public function setPrice($price) | ||
{ | ||
$this->price = $price; | ||
} | ||
|
||
public function getPaidPrice() | ||
{ | ||
return $this->paidPrice; | ||
} | ||
|
||
public function setPaidPrice($paidPrice) | ||
{ | ||
$this->paidPrice = $paidPrice; | ||
} | ||
|
||
public function getPaymentId() | ||
{ | ||
return $this->paymentId; | ||
} | ||
|
||
public function setPaymentId($paymentId) | ||
{ | ||
$this->paymentId = $paymentId; | ||
} | ||
|
||
public function getMerchantCommissionRate() | ||
{ | ||
return $this->merchantCommissionRate; | ||
} | ||
|
||
public function setMerchantCommissionRate($merchantCommissionRate) | ||
{ | ||
$this->merchantCommissionRate = $merchantCommissionRate; | ||
} | ||
|
||
public function getMerchantCommissionRateAmount() | ||
{ | ||
return $this->merchantCommissionRateAmount; | ||
} | ||
|
||
public function setMerchantCommissionRateAmount($merchantCommissionRateAmount) | ||
{ | ||
$this->merchantCommissionRateAmount = $merchantCommissionRateAmount; | ||
} | ||
|
||
public function getIyziCommissionRateAmount() | ||
{ | ||
return $this->iyziCommissionRateAmount; | ||
} | ||
|
||
public function setIyziCommissionRateAmount($iyziCommissionRateAmount) | ||
{ | ||
$this->iyziCommissionRateAmount = $iyziCommissionRateAmount; | ||
} | ||
|
||
public function getIyziCommissionFee() | ||
{ | ||
return $this->iyziCommissionFee; | ||
} | ||
|
||
public function setIyziCommissionFee($iyziCommissionFee) | ||
{ | ||
$this->iyziCommissionFee = $iyziCommissionFee; | ||
} | ||
|
||
public function getBasketId() | ||
{ | ||
return $this->basketId; | ||
} | ||
|
||
public function setBasketId($basketId) | ||
{ | ||
$this->basketId = $basketId; | ||
} | ||
|
||
public function getCurrency() | ||
{ | ||
return $this->currency; | ||
} | ||
|
||
public function setCurrency($currency) | ||
{ | ||
$this->currency = $currency; | ||
} | ||
|
||
public function getPaymentItems() | ||
{ | ||
return $this->paymentItems; | ||
} | ||
|
||
public function setPaymentItems($paymentItems) | ||
{ | ||
$this->paymentItems = $paymentItems; | ||
} | ||
|
||
public function getPhase() | ||
{ | ||
return $this->phase; | ||
} | ||
|
||
public function setPhase($phase) | ||
{ | ||
$this->phase = $phase; | ||
} | ||
|
||
public function getAccountHolderName() | ||
{ | ||
return $this->accountHolderName; | ||
} | ||
|
||
public function setAccountHolderName($accountHolderName) | ||
{ | ||
$this->accountHolderName = $accountHolderName; | ||
} | ||
|
||
public function getAccountNumber() | ||
{ | ||
return $this->accountNumber; | ||
} | ||
|
||
public function setAccountNumber($accountNumber) | ||
{ | ||
$this->accountNumber = $accountNumber; | ||
} | ||
|
||
public function getBankName() | ||
{ | ||
return $this->bankName; | ||
} | ||
|
||
public function setBankName($bankName) | ||
{ | ||
$this->bankName = $bankName; | ||
} | ||
|
||
public function getBankCode() | ||
{ | ||
return $this->bankCode; | ||
} | ||
|
||
public function setBankCode($bankCode) | ||
{ | ||
$this->bankCode = $bankCode; | ||
} | ||
|
||
public function getBic() | ||
{ | ||
return $this->bic; | ||
} | ||
|
||
public function setBic($bic) | ||
{ | ||
$this->bic = $bic; | ||
} | ||
|
||
public function getPaymentPurpose() | ||
{ | ||
return $this->paymentPurpose; | ||
} | ||
|
||
public function setPaymentPurpose($paymentPurpose) | ||
{ | ||
$this->paymentPurpose = $paymentPurpose; | ||
} | ||
|
||
public function getIban() | ||
{ | ||
return $this->iban; | ||
} | ||
|
||
public function setIban($iban) | ||
{ | ||
$this->iban = $iban; | ||
} | ||
|
||
public function getCountryCode() | ||
{ | ||
return $this->countryCode; | ||
} | ||
|
||
public function setCountryCode($countryCode) | ||
{ | ||
$this->countryCode = $countryCode; | ||
} | ||
|
||
public function getApm() | ||
{ | ||
return $this->apm; | ||
} | ||
|
||
public function setApm($apm) | ||
{ | ||
$this->apm = $apm; | ||
} | ||
|
||
public function getMobilePhone() | ||
{ | ||
return $this->mobilePhone; | ||
} | ||
|
||
public function setMobilePhone($mobilePhone) | ||
{ | ||
$this->mobilePhone = $mobilePhone; | ||
} | ||
|
||
public function getPaymentStatus() | ||
{ | ||
return $this->paymentStatus; | ||
} | ||
|
||
public function setPaymentStatus($paymentStatus) | ||
{ | ||
$this->paymentStatus = $paymentStatus; | ||
} | ||
} |
Oops, something went wrong.