Skip to content

Commit

Permalink
Payment properties renaming
Browse files Browse the repository at this point in the history
  • Loading branch information
jxcodes committed Nov 29, 2021
1 parent 7826893 commit 30368a4
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 19 deletions.
26 changes: 13 additions & 13 deletions src/Sunat/DataMap.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ class DataMap
private $purchaseOrder;

private $formOfPayment;
private $creditInstallments = [];
private $amountToPayOnCredit = 0;
private $installments = [];
private $pendingAmount = 0;

/** @var InvoiceItems */
private $_items;
Expand Down Expand Up @@ -121,17 +121,17 @@ private function setFormOfPaymentField(&$data)
$this->formOfPayment = $formOfPayment;
// Caso crédito
if ($formOfPayment == Catalogo::FAC_FORM_OF_PAYMENT_CREDITO) {
if (!isset($payment['amountToPayOnCredit']) || is_nan($payment['amountToPayOnCredit']) || $payment['amountToPayOnCredit'] <= 0) {
throw new InvalidArgumentException("El campo 'amountToPayOnCredit', es obligatorio y debe ser mayor que cero para facturas y notas de crédito con forma de pago '" . Catalogo::FAC_FORM_OF_PAYMENT_CREDITO . "'");
if (!isset($payment['pendingAmount']) || is_nan($payment['pendingAmount']) || $payment['pendingAmount'] <= 0) {
throw new InvalidArgumentException("El campo 'pendingAmount', es obligatorio y debe ser mayor que cero para facturas y notas de crédito con forma de pago '" . Catalogo::FAC_FORM_OF_PAYMENT_CREDITO . "'");
}
if (!isset($payment['creditInstallments']) || !is_array($payment['creditInstallments']) || count($payment['creditInstallments']) == 0) {
throw new InvalidArgumentException("El campo 'creditInstallments', es obligatorio para facturas y notas de crédito con forma de pago '" . Catalogo::FAC_FORM_OF_PAYMENT_CREDITO . "'");
if (!isset($payment['installments']) || !is_array($payment['installments']) || count($payment['installments']) == 0) {
throw new InvalidArgumentException("El campo 'installments', es obligatorio para facturas y notas de crédito con forma de pago '" . Catalogo::FAC_FORM_OF_PAYMENT_CREDITO . "'");
}
$this->amountToPayOnCredit = $payment['amountToPayOnCredit'];
$this->creditInstallments = $this->parseCreditInstallments($payment['creditInstallments']);
$this->pendingAmount = $payment['pendingAmount'];
$this->installments = $this->parseInstallments($payment['installments']);
}
}
private function parseCreditInstallments($data)
private function parseInstallments($data)
{
$out = [];
foreach ($data as $key => $item) {
Expand Down Expand Up @@ -351,13 +351,13 @@ public function getItems()
*
* @return CreditInstallment[]
*/
public function getCrditInstallments()
public function getInstallments()
{
return $this->creditInstallments;
return $this->installments;
}
public function getAmountToPayOnCredit()
public function getPendingAmount()
{
return $this->amountToPayOnCredit;
return $this->pendingAmount;
}
/**
* Numero de items del documento
Expand Down
4 changes: 2 additions & 2 deletions src/Sunat/Document/BillMixin.php
Original file line number Diff line number Diff line change
Expand Up @@ -77,9 +77,9 @@ public function addPaymentTerms()
// Crédito
elseif ($formOfPayment == 'Credito') {
$paymentTerms = new PaymentTerms('FormaPago', 'Credito');
$paymentTerms->setAmount(new Amount($invoice->getAmountToPayOnCredit(), $currencyCode));
$paymentTerms->setAmount(new Amount($invoice->getPendingAmount(), $currencyCode));
$terms[] = $paymentTerms;
foreach ($invoice->getCrditInstallments() as $installement) {
foreach ($invoice->getInstallments() as $installement) {
$paymentTerms = new PaymentTerms('FormaPago', $installement->getId());
$paymentTerms->setAmount(new Amount($installement->getAmmount(), $currencyCode));
$paymentTerms->setPaymentDueDate($installement->getPaymentDueDate());
Expand Down
4 changes: 2 additions & 2 deletions tests/cases/facturas/factura-pago-credito.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
'purchaseOrder' => 7852166, // Numero de orden de commpra,
'payment' => [
'formOfPayment' => 'Credito', // Contado/Credito https://www.sunat.gob.pe/legislacion/superin/2020/anexo4-193-2020.pdf
'amountToPayOnCredit' => 400, // Monto a pagar en el caso de ser credito
'creditInstallments' => [
'pendingAmount' => 400, // Monto pendiente de pago
'installments' => [
['amount' => 200, 'paymentDueDate' => '2025/02/15'],
['amount' => 200, 'paymentDueDate' => '2025/03/15']
]
Expand Down
2 changes: 1 addition & 1 deletion tests/coverage.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@


Code Coverage Report:
2021-11-25 17:24:29
2021-11-29 16:16:19

Summary:
Classes: 12.36% (11/89)
Expand Down
2 changes: 1 addition & 1 deletion tests/edocs/ticket/20100454523-RC-20171118-00001.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1637879038110
1638220553174
Binary file modified tests/temp/qr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 30368a4

Please sign in to comment.