-
Notifications
You must be signed in to change notification settings - Fork 125
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
355 additions
and
0 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,16 @@ | ||
<?php | ||
|
||
require_once('config.php'); | ||
|
||
# create request class | ||
$request = new \Iyzipay\Request\CreateSettlementToBalanceRequest(); | ||
$request->setSubMerchantKey("11654127"); | ||
$request->setCallbackUrl("https://www.callback"); | ||
$request->setPrice("0.1"); | ||
|
||
# make request | ||
$settlementToBalance = \Iyzipay\Model\SettlementToBalance::create($request, Config::options()); | ||
|
||
echo '<pre>'; | ||
# print result | ||
print_r($settlementToBalance); |
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,25 @@ | ||
<?php | ||
|
||
namespace Iyzipay\Model\Mapper; | ||
|
||
use Iyzipay\Model\SettlementToBalance; | ||
|
||
class SettlementToBalanceMapper extends SettlementToBalanceResourceMapper | ||
{ | ||
public static function create($rawResult = null) | ||
{ | ||
return new SettlementToBalanceMapper($rawResult); | ||
} | ||
|
||
public function mapSettlementToBalanceFrom(SettlementToBalance $settlementToBalance, $jsonObject) | ||
{ | ||
parent::mapSettlementToBalanceResourceFrom($settlementToBalance, $jsonObject); | ||
return $settlementToBalance; | ||
} | ||
|
||
public function mapSettlementToBalance(SettlementToBalance $settlementToBalance) | ||
{ | ||
|
||
return $this->mapSettlementToBalanceFrom($settlementToBalance, $this->jsonObject); | ||
} | ||
} |
35 changes: 35 additions & 0 deletions
35
src/Iyzipay/Model/Mapper/SettlementToBalanceResourceMapper.php
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,35 @@ | ||
<?php | ||
|
||
namespace Iyzipay\Model\Mapper; | ||
|
||
use Iyzipay\Model\SettlementToBalanceResource; | ||
|
||
class SettlementToBalanceResourceMapper extends IyzipayResourceMapper | ||
{ | ||
public static function create($rawResult = null) | ||
{ | ||
return new SettlementToBalanceResourceMapper($rawResult); | ||
} | ||
|
||
public function mapSettlementToBalanceResourceFrom(SettlementToBalanceResource $settlementToBalanceResource, $jsonObject) | ||
{ | ||
parent::mapResourceFrom($settlementToBalanceResource, $jsonObject); | ||
|
||
if (isset($jsonObject->url)) { | ||
$settlementToBalanceResource->setUrl($jsonObject->url); | ||
} | ||
if (isset($jsonObject->token)) { | ||
$settlementToBalanceResource->setToken($jsonObject->token); | ||
} | ||
if (isset($jsonObject->isSettingsAllTime)) { | ||
$settlementToBalanceResource->setIsSettingsAllTime($jsonObject->isSettingsAllTime); | ||
} | ||
|
||
return $settlementToBalanceResource; | ||
} | ||
|
||
public function mapSettlementToBalanceResource(SettlementToBalanceResource $settlementToBalanceResource) | ||
{ | ||
return $this->mapSettlementToBalanceResourceFrom($settlementToBalanceResource, $this->jsonObject); | ||
} | ||
} |
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,17 @@ | ||
<?php | ||
|
||
namespace Iyzipay\Model; | ||
|
||
use Iyzipay\Model\Mapper\SettlementToBalanceMapper; | ||
use Iyzipay\Options; | ||
use Iyzipay\Request\CreateSettlementToBalanceRequest; | ||
|
||
class SettlementToBalance extends SettlementToBalanceResource | ||
{ | ||
public static function create(CreateSettlementToBalanceRequest $request, Options $options) | ||
{ | ||
$rawResult = parent::httpClient()->post($options->getBaseUrl() . "/payment/settlement-to-balance/init", parent::getHttpHeaders($request, $options), $request->toJsonString()); | ||
|
||
return SettlementToBalanceMapper::create($rawResult)->jsonDecode()->mapSettlementToBalance(new SettlementToBalance()); | ||
} | ||
} |
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,42 @@ | ||
<?php | ||
|
||
namespace Iyzipay\Model; | ||
|
||
use Iyzipay\IyzipayResource; | ||
|
||
class SettlementToBalanceResource extends IyzipayResource | ||
{ | ||
private $url; | ||
private $token; | ||
private $isSettingsAllTime; | ||
|
||
public function getUrl() | ||
{ | ||
return $this->url; | ||
} | ||
|
||
public function setUrl($url) | ||
{ | ||
$this->url = $url; | ||
} | ||
|
||
public function getToken() | ||
{ | ||
return $this->token; | ||
} | ||
|
||
public function setToken($token) | ||
{ | ||
$this->token = $token; | ||
} | ||
|
||
public function getIsSettingsAllTime() | ||
{ | ||
return $this->isSettingsAllTime; | ||
} | ||
|
||
public function setIsSettingsAllTime($isSettingsAllTime) | ||
{ | ||
$this->isSettingsAllTime = $isSettingsAllTime; | ||
} | ||
} |
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,63 @@ | ||
<?php | ||
|
||
namespace Iyzipay\Request; | ||
|
||
use Iyzipay\JsonBuilder; | ||
use Iyzipay\Request; | ||
use Iyzipay\RequestStringBuilder; | ||
|
||
class CreateSettlementToBalanceRequest extends Request | ||
{ | ||
private $subMerchantKey; | ||
private $callbackUrl; | ||
private $price; | ||
|
||
public function getSubMerchantKey() | ||
{ | ||
return $this->subMerchantKey; | ||
} | ||
|
||
public function setSubMerchantKey($subMerchantKey) | ||
{ | ||
$this->subMerchantKey = $subMerchantKey; | ||
} | ||
|
||
public function getCallbackUrl() | ||
{ | ||
return $this->callbackUrl; | ||
} | ||
|
||
public function setCallbackUrl($callbackUrl) | ||
{ | ||
$this->callbackUrl = $callbackUrl; | ||
} | ||
|
||
public function getPrice() | ||
{ | ||
return $this->price; | ||
} | ||
|
||
public function setPrice($price) | ||
{ | ||
$this->price = $price; | ||
} | ||
|
||
public function getJsonObject() | ||
{ | ||
return JsonBuilder::fromJsonObject(parent::getJsonObject()) | ||
->add("subMerchantKey", $this->getSubMerchantKey()) | ||
->add("callbackUrl", $this->getCallbackUrl()) | ||
->addPrice("price", $this->getPrice()) | ||
->getObject(); | ||
} | ||
|
||
public function toPKIRequestString() | ||
{ | ||
return RequestStringBuilder::create() | ||
->appendSuper(parent::toPKIRequestString()) | ||
->append("subMerchantKey", $this->getSubMerchantKey()) | ||
->append("callbackUrl", $this->getCallbackUrl()) | ||
->appendPrice("price", $this->getPrice()) | ||
->getRequestString(); | ||
} | ||
} |
34 changes: 34 additions & 0 deletions
34
tests/Iyzipay/Tests/Model/Mapper/SettlementToBalanceMapperTest.php
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,34 @@ | ||
<?php | ||
|
||
namespace Iyzipay\Tests\Model\Mapper; | ||
|
||
use Iyzipay\Model\Mapper\RefundToBalanceMapper; | ||
use Iyzipay\Model\Mapper\SettlementToBalanceMapper; | ||
use Iyzipay\Model\RefundToBalance; | ||
use Iyzipay\Model\SettlementToBalance; | ||
use Iyzipay\Tests\TestCase; | ||
|
||
class SettlementToBalanceMapperTest extends TestCase | ||
{ | ||
public function test_should_map_settlement_to_balance_mapper() | ||
{ | ||
$json = $this->retrieveJsonFile("settlement_to_balance.json"); | ||
|
||
$settlementToBalance = SettlementToBalanceMapper::create($json)->jsonDecode()->mapSettlementToBalance(new SettlementToBalance()); | ||
|
||
$this->assertNotEmpty($settlementToBalance); | ||
$this->assertEquals("123456", $settlementToBalance->getToken()); | ||
$this->assertEquals("https://url", $settlementToBalance->getUrl()); | ||
$this->assertEquals("434343", $settlementToBalance->getIsSettingsAllTime()); | ||
$this->assertEquals("failure", $settlementToBalance->getStatus()); | ||
$this->assertEquals("10000", $settlementToBalance->getErrorCode()); | ||
$this->assertEquals("error_message", $settlementToBalance->getErrorMessage()); | ||
$this->assertEquals("ERROR_GROUP", $settlementToBalance->getErrorGroup()); | ||
$this->assertEquals("1458545234852", $settlementToBalance->getSystemTime()); | ||
$this->assertEquals("tr", $settlementToBalance->getLocale()); | ||
$this->assertEquals("123456", $settlementToBalance->getConversationId()); | ||
$this->assertJson($settlementToBalance->getRawResult()); | ||
$this->assertJsonStringEqualsJsonString($json, $settlementToBalance->getRawResult()); | ||
|
||
} | ||
} |
35 changes: 35 additions & 0 deletions
35
tests/Iyzipay/Tests/Model/Mapper/SettlementToBalanceResourceMapper.php
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,35 @@ | ||
<?php | ||
|
||
namespace Iyzipay\Tests\Model\Mapper; | ||
|
||
use Iyzipay\Model\Mapper\RefundToBalanceMapper; | ||
use Iyzipay\Model\Mapper\SettlementToBalanceMapper; | ||
use Iyzipay\Model\Mapper\SettlementToBalanceResourceMapper; | ||
use Iyzipay\Model\RefundToBalance; | ||
use Iyzipay\Model\SettlementToBalance; | ||
use Iyzipay\Tests\TestCase; | ||
|
||
class SettlementToBalanceResourceMapperTest extends TestCase | ||
{ | ||
public function test_should_map_settlement_to_balance_resource() | ||
{ | ||
$json = $this->retrieveJsonFile("settlement_to_balance.json"); | ||
|
||
$settlementToBalance = SettlementToBalanceResourceMapper::create($json)->jsonDecode()->mapSettlementToBalanceResource(new SettlementToBalance()); | ||
|
||
$this->assertNotEmpty($settlementToBalance); | ||
$this->assertEquals("123456", $settlementToBalance->getToken()); | ||
$this->assertEquals("https://url", $settlementToBalance->getUrl()); | ||
$this->assertEquals("434343", $settlementToBalance->getIsSettingsAllTime()); | ||
$this->assertEquals("failure", $settlementToBalance->getStatus()); | ||
$this->assertEquals("10000", $settlementToBalance->getErrorCode()); | ||
$this->assertEquals("error_message", $settlementToBalance->getErrorMessage()); | ||
$this->assertEquals("ERROR_GROUP", $settlementToBalance->getErrorGroup()); | ||
$this->assertEquals("1458545234852", $settlementToBalance->getSystemTime()); | ||
$this->assertEquals("tr", $settlementToBalance->getLocale()); | ||
$this->assertEquals("123456", $settlementToBalance->getConversationId()); | ||
$this->assertJson($settlementToBalance->getRawResult()); | ||
$this->assertJsonStringEqualsJsonString($json, $settlementToBalance->getRawResult()); | ||
|
||
} | ||
} |
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,19 @@ | ||
<?php | ||
|
||
namespace Iyzipay\Tests\Model; | ||
|
||
use Iyzipay\Model\SettlementToBalance; | ||
use Iyzipay\Request\CreateSettlementToBalanceRequest; | ||
use Iyzipay\Tests\IyzipayResourceTestCase; | ||
|
||
class SettlementToBalanceTest extends IyzipayResourceTestCase | ||
{ | ||
public function test_should_settlement_to_balance() | ||
{ | ||
$this->expectHttpPost(); | ||
|
||
$settlementToBalance = SettlementToBalance::create(new CreateSettlementToBalanceRequest(), $this->options); | ||
|
||
$this->verifyResource($settlementToBalance); | ||
} | ||
} |
57 changes: 57 additions & 0 deletions
57
tests/Iyzipay/Tests/Request/CreateSettlementToBalanceRequestTest.php
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,57 @@ | ||
<?php | ||
|
||
namespace Iyzipay\Tests\Request; | ||
|
||
use Iyzipay\Request\CreateSettlementToBalanceRequest; | ||
use Iyzipay\Tests\TestCase; | ||
|
||
class CreateSettlementToBalanceRequestTest extends TestCase | ||
{ | ||
public function test_should_get_json_object() | ||
{ | ||
$request = $this->prepareRequest(); | ||
$jsonObject = $request->getJsonObject(); | ||
|
||
|
||
$this->assertEquals("123456", $jsonObject["subMerchantKey"]); | ||
$this->assertEquals("https://callback", $jsonObject["callbackUrl"]); | ||
$this->assertEquals("0.01", $jsonObject["price"]); | ||
} | ||
|
||
public function test_should_convert_to_pki_request_string() | ||
{ | ||
$request = $this->prepareRequest(); | ||
|
||
$str = "[subMerchantKey=123456," . | ||
"callbackUrl=https://callback,". | ||
"price=0.01]"; | ||
|
||
|
||
$this->assertEquals($str, $request->toPKIRequestString()); | ||
} | ||
|
||
public function test_should_get_json_string() | ||
{ | ||
$request = $this->prepareRequest(); | ||
|
||
$json = ' | ||
{ | ||
"subMerchantKey":"123456", | ||
"callbackUrl":"https://callback", | ||
"price":"0.01" | ||
}'; | ||
|
||
$this->assertJson($request->toJsonString()); | ||
$this->assertJsonStringEqualsJsonString($json, $request->toJsonString()); | ||
} | ||
|
||
private function prepareRequest() | ||
{ | ||
$request = new CreateSettlementToBalanceRequest(); | ||
$request->setSubMerchantKey("123456"); | ||
$request->setCallbackUrl("https://callback"); | ||
$request->setPrice("0.01"); | ||
return $request; | ||
} | ||
} |
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,12 @@ | ||
{ | ||
"token":"123456", | ||
"url":"https://url", | ||
"isSettingsAllTime": "434343", | ||
"status": "failure", | ||
"errorCode": 10000, | ||
"errorMessage": "error_message", | ||
"errorGroup": "ERROR_GROUP", | ||
"locale": "tr", | ||
"systemTime": "1458545234852", | ||
"conversationId": "123456" | ||
} |