-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,7 +10,7 @@ | |
}, | ||
"require-dev": { | ||
"orchestra/testbench": "^3.8", | ||
"phpstan/phpstan": "1.4.*" | ||
"phpstan/phpstan": "1.7.6" | ||
This comment has been minimized.
Sorry, something went wrong.
This comment has been minimized.
Sorry, something went wrong.
php-wizard
Author
Collaborator
|
||
}, | ||
"autoload": { | ||
"psr-4": { | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
<?php | ||
|
||
namespace Condividendo\LaravelCBI; | ||
|
||
use Condividendo\LaravelCBI\Entities\InitiatingParty; | ||
use Condividendo\LaravelCBI\Tags\GroupHeader as GroupHeaderTag; | ||
|
||
class PaymentRequestBuilder | ||
{ | ||
/** | ||
* @var string | ||
*/ | ||
protected $messageId; | ||
|
||
/** | ||
* @var string | ||
*/ | ||
protected $creditTime; | ||
|
||
/** | ||
* @var int | ||
*/ | ||
protected $numberOfTxs; | ||
|
||
/** | ||
* @var string | ||
*/ | ||
protected $ctrlSum; | ||
|
||
/** | ||
* @var array<\Condividendo\LaravelCBI\Entities\InitiatingParty> | ||
*/ | ||
protected $initiatingParty; | ||
|
||
public function setMessageId(string $messageId): self | ||
{ | ||
$this->messageId = $messageId; | ||
|
||
return $this; | ||
} | ||
|
||
public function setCreditTime(string $creditTime): self | ||
{ | ||
$this->creditTime = $creditTime; | ||
|
||
return $this; | ||
} | ||
|
||
public function setNumberOfTxs(int $numberOfTxs): self | ||
{ | ||
$this->numberOfTxs = $numberOfTxs; | ||
|
||
return $this; | ||
} | ||
|
||
public function setControlSum(string $ctrlSum): self | ||
{ | ||
$this->ctrlSum = $ctrlSum; | ||
|
||
return $this; | ||
} | ||
|
||
public function setInitiatingParty(InitiatingParty $initiatingParty): self | ||
{ | ||
$this->initiatingParty = $initiatingParty; | ||
|
||
return $this; | ||
} | ||
|
||
protected function makeGroupHeader(): GroupHeaderTag | ||
{ | ||
return GroupHeaderTag::make()->setMessageId($this->messageId) | ||
->setNumberOfTxs($this->numberOfTxs) | ||
->setCreditTime($this->creditTime) | ||
->setControlSum($this->ctrlSum) | ||
->setInitiatingParty($this->initiatingParty->getTag()); | ||
} | ||
|
||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
<?php | ||
namespace Condividendo\LaravelCBI\Tags; | ||
|
||
use Condividendo\LaravelCBI\Traits\Makeable; | ||
use Condividendo\LaravelCBI\Traits\UsesDate; | ||
use DOMDocument; | ||
use DOMElement; | ||
|
||
class CreditTime extends Tag | ||
{ | ||
use Makeable; | ||
use UsesDate; | ||
|
||
/** | ||
* @var string | ||
*/ | ||
private $creditTime; | ||
|
||
public function setCreditTime(string $creditTime): self | ||
{ | ||
$this->creditTime = self::makeDateIso8601($creditTime); | ||
|
||
return $this; | ||
} | ||
|
||
/** | ||
* @noinspection PhpUnhandledExceptionInspection | ||
*/ | ||
public function toDOMElement(DOMDocument $dom): DOMElement | ||
{ | ||
return $dom->createElement('CreDtTm',$this->creditTime); | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
<?php | ||
namespace Condividendo\LaravelCBI\Tags; | ||
|
||
use Condividendo\LaravelCBI\Traits\Makeable; | ||
use Condividendo\LaravelCBI\Traits\UsesDecimal; | ||
use DOMDocument; | ||
use DOMElement; | ||
|
||
class CtrlSum extends Tag | ||
{ | ||
use Makeable; | ||
use UsesDecimal; | ||
|
||
/** | ||
* @var string | ||
*/ | ||
private $controlSum; | ||
|
||
public function setControlSum(string $controlSum): self | ||
{ | ||
$this->controlSum = self::makeDecimal($controlSum); | ||
|
||
return $this; | ||
} | ||
|
||
/** | ||
* @noinspection PhpUnhandledExceptionInspection | ||
*/ | ||
public function toDOMElement(DOMDocument $dom): DOMElement | ||
{ | ||
return $dom->createElement('CtrlSum',$this->controlSum); | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
<?php | ||
namespace Condividendo\LaravelCBI\Tags; | ||
|
||
use Condividendo\LaravelCBI\Traits\Makeable; | ||
use Condividendo\LaravelCBI\Tags\MessageId; | ||
use Condividendo\LaravelCBI\Tags\InitiatingParty; | ||
use Condividendo\LaravelCBI\Tags\CreditTime; | ||
use Condividendo\LaravelCBI\Tags\NumberOfTxs; | ||
use Condividendo\LaravelCBI\Tags\CtrlSum; | ||
use DOMDocument; | ||
use DOMElement; | ||
|
||
class GroupHeader extends Tag | ||
{ | ||
use Makeable; | ||
|
||
/** | ||
* @var \Condividendo\LaravelCBI\Tags\MessageId | ||
*/ | ||
private $messageId; | ||
|
||
/** | ||
* @var \Condividendo\LaravelCBI\Tags\CreditTime | ||
*/ | ||
private $creditTime; | ||
|
||
/** | ||
* @var \Condividendo\LaravelCBI\Tags\NumberOfTxs | ||
*/ | ||
private $numberOfTxs; | ||
|
||
/** | ||
* @var \Condividendo\LaravelCBI\Tags\CtrlSum | ||
*/ | ||
private $ctrlSum; | ||
|
||
/** | ||
* @var \Condividendo\LaravelCBI\Tags\InitiatingParty | ||
*/ | ||
private $initiatingParty; | ||
|
||
public function setMessageId(string $messageId): self | ||
{ | ||
$this->messageId = MessageId::make()->setMessageId($messageId); | ||
|
||
return $this; | ||
} | ||
|
||
public function setCreditTime(string $creditTime): self | ||
{ | ||
$this->creditTime = CreditTime::make()->setCreditTime($creditTime); | ||
|
||
return $this; | ||
} | ||
|
||
public function setNumberOfTxs(int $numberOfTxs): self | ||
{ | ||
$this->numberOfTxs = NumberOfTxs::make()->setNumberOfTxs($numberOfTxs); | ||
|
||
return $this; | ||
} | ||
|
||
public function setControlSum(string $controlSum): self | ||
{ | ||
$this->ctrlSum = CtrlSum::make()->setControlSum($controlSum); | ||
|
||
return $this; | ||
} | ||
|
||
public function setInitiatingParty(InitiatingParty $initiatingParty): self | ||
{ | ||
$this->initiatingParty = $initiatingParty; | ||
|
||
return $this; | ||
} | ||
|
||
/** | ||
* @noinspection PhpUnhandledExceptionInspection | ||
*/ | ||
public function toDOMElement(DOMDocument $dom): DOMElement | ||
{ | ||
$e = $dom->createElement('GrpHdr'); | ||
|
||
$e->appendChild($this->messageId->toDOMElement($dom)); | ||
$e->appendChild($this->initiatingParty->toDOMElement($dom)); | ||
|
||
return $e; | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
<?php | ||
namespace Condividendo\LaravelCBI\Tags; | ||
|
||
use Condividendo\LaravelCBI\Traits\Makeable; | ||
use DOMDocument; | ||
use DOMElement; | ||
|
||
class Id extends Tag | ||
{ | ||
use Makeable; | ||
|
||
/** | ||
* @var string | ||
*/ | ||
private $id; | ||
|
||
public function setId(string $id): self | ||
{ | ||
$this->id = $id; | ||
|
||
return $this; | ||
} | ||
|
||
/** | ||
* @noinspection PhpUnhandledExceptionInspection | ||
*/ | ||
public function toDOMElement(DOMDocument $dom): DOMElement | ||
{ | ||
return $dom->createElement('Id',$this->id); | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
<?php | ||
namespace Condividendo\LaravelCBI\Tags; | ||
|
||
use Condividendo\LaravelCBI\Traits\Makeable; | ||
use Condividendo\LaravelCBI\Tags\Name; | ||
use Condividendo\LaravelCBI\Tags\Id; | ||
use DOMDocument; | ||
use DOMElement; | ||
|
||
class InitiatingParty extends Tag | ||
{ | ||
use Makeable; | ||
|
||
/** | ||
* @var \Condividendo\LaravelCBI\Tags\Name | ||
*/ | ||
private $name; | ||
|
||
/** | ||
* @var \Condividendo\LaravelCBI\Tags\InitiatingPartyId | ||
*/ | ||
private $id; | ||
|
||
public function setName(string $name): self | ||
{ | ||
$this->name = Name::make()->setName($name); | ||
|
||
return $this; | ||
} | ||
|
||
public function setId(string $id, string $issr): self | ||
{ | ||
$this->id = InitiatingPartyId::make()->setId($id,$issr); | ||
|
||
return $this; | ||
} | ||
|
||
/** | ||
* @noinspection PhpUnhandledExceptionInspection | ||
*/ | ||
public function toDOMElement(DOMDocument $dom): DOMElement | ||
{ | ||
$e = $dom->createElement('InitgPty'); | ||
|
||
$e->appendChild($this->name->toDOMElement($dom)); | ||
$e->appendChild($this->id->toDOMElement($dom)); | ||
|
||
return $e; | ||
} | ||
} |
@php-wizard: