Skip to content
This repository was archived by the owner on Apr 24, 2023. It is now read-only.

Commit 610c635

Browse files
authored
Merge pull request #80 from gabriellucius/shopping-cart-recovery
PagSeguro shopping cart recovery option
2 parents 6c86cef + d4cf7b5 commit 610c635

File tree

9 files changed

+48
-0
lines changed

9 files changed

+48
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ Para acessar e configurar o módulo acesse o menu PagSeguro -> Configurações.
6161
- **oferecer desconto para ...**: ativa/desativa desconto para checkouts utilizando este meio de pagamento
6262
- **percentual de desconto**: define o percentual de desconto a ser concedido para o meio de pagamento escolhido
6363
- **transações -> abandonadas**: permite consultar as transações que foram abandonadas nos últimos 10 dias, desta forma você pode enviar emails de recuperação de venda. O e-mail conterá um link que redirecionará o comprador para o fluxo de pagamento, exatamente no ponto onde ele parou.
64+
- **habilitar recuperação de carrinho**: Habilita a recuperação de carrinho do PagSeguro. (por padrão está desabilitada)
6465
- **listar parcelamento**: Habilita a exibição de uma listagem de parcelas na tela de visualização do produto. (Irá exibir o maior parcelamento disponível para o produto na tela de exibição do mesmo)
6566

6667
-------------------------

app/code/community/UOL/PagSeguro/Model/PaymentMethod.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ public function paymentDefault()
112112
*/
113113
private function payment($payment)
114114
{
115+
$this->setShoppingCartRecovery($payment);
115116
$payment->setReference(Mage::getStoreConfig('uol_pagseguro/store/reference').$this->order->getId());
116117
$payment->setCurrency('BRL');
117118
$this->setItems($payment);
@@ -353,4 +354,24 @@ private function setSenderPhone($payment)
353354
$payment->setSender()->setPhone()->withParameters($phone['areaCode'], $phone['number']);
354355
}
355356
}
357+
358+
/**
359+
* Set PagSeguro recovery shopping cart value
360+
*
361+
* @param \PagSeguro\Domains\Requests\DirectPayment\Boleto
362+
* | \PagSeguro\Domains\Requests\DirectPayment\CreditCard
363+
* | \PagSeguro\Domains\Requests\DirectPayment\OnlineDebit
364+
* | \PagSeguro\Domains\Requests\Payment
365+
* $payment
366+
* @return void
367+
*/
368+
private function setShoppingCartRecovery($payment)
369+
{
370+
$recoveryValue = Mage::getStoreConfig('payment/pagseguro/shopping_cart_recovery');
371+
if (Mage::getStoreConfig('payment/pagseguro/shopping_cart_recovery') == true) {
372+
$payment->addParameter()->withParameters('enableRecovery', 'true');
373+
} else {
374+
$payment->addParameter()->withParameters('enableRecovery', 'false');
375+
}
376+
}
356377
}

app/code/community/UOL/PagSeguro/etc/system.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,17 @@ limitations under the License.
278278
<show_in_website>1</show_in_website>
279279
<show_in_store>1</show_in_store>
280280
</installments>
281+
<shopping_cart_recovery translate="label">
282+
<label>HABILITAR RECUPERAÇÃO DE CARRINHO</label>
283+
<tooltip>Habilita/desabilita a recuperação de carrinho do PagSeguro.</tooltip>
284+
<comment>Para saber mais sobre a recuperação de carrinho do PagSeguro, clique &lt;a href=&quot;https://pagseguro.uol.com.br/para-seu-negocio/online/recuperacao-de-carrinho&quot; target=&quot;_blank&quot;&gt;aqui&lt;/a&gt;.</comment>
285+
<frontend_type>select</frontend_type>
286+
<source_model>adminhtml/system_config_source_yesno</source_model>
287+
<sort_order>186</sort_order>
288+
<show_in_default>1</show_in_default>
289+
<show_in_website>1</show_in_website>
290+
<show_in_store>1</show_in_store>
291+
</shopping_cart_recovery>
281292
</fields>
282293
</pagseguro>
283294

lib/PagseguroPhpSdk/source/Domains/Requests/DirectPayment/Boleto/Request.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
use PagSeguro\Domains\Requests\DirectPayment\Sender;
3030
use PagSeguro\Domains\Requests\Item;
3131
use PagSeguro\Domains\Requests\Notification;
32+
use PagSeguro\Domains\Requests\Parameter;
3233
use PagSeguro\Domains\Requests\ReceiverEmail;
3334
use PagSeguro\Domains\Requests\Redirect;
3435
use PagSeguro\Domains\Requests\Reference;
@@ -50,6 +51,7 @@ class Request implements Requests
5051
Notification::getUrl insteadof Redirect;
5152
Notification::setUrl insteadof Redirect;
5253
}
54+
use Parameter;
5355
use ReceiverEmail;
5456
use Sender;
5557
use Shipping;

lib/PagseguroPhpSdk/source/Domains/Requests/DirectPayment/CreditCard/Request.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
use PagSeguro\Domains\Requests\DirectPayment\Sender;
3232
use PagSeguro\Domains\Requests\Item;
3333
use PagSeguro\Domains\Requests\Notification;
34+
use PagSeguro\Domains\Requests\Parameter;
3435
use PagSeguro\Domains\Requests\ReceiverEmail;
3536
use PagSeguro\Domains\Requests\Redirect;
3637
use PagSeguro\Domains\Requests\Reference;
@@ -55,6 +56,7 @@ class Request implements Requests
5556
Notification::getUrl insteadof Redirect;
5657
Notification::setUrl insteadof Redirect;
5758
}
59+
use Parameter;
5860
use ReceiverEmail;
5961
use Sender;
6062
use Shipping;

lib/PagseguroPhpSdk/source/Domains/Requests/DirectPayment/OnlineDebit/Request.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
use PagSeguro\Domains\Requests\DirectPayment\Sender;
3030
use PagSeguro\Domains\Requests\Item;
3131
use PagSeguro\Domains\Requests\Notification;
32+
use PagSeguro\Domains\Requests\Parameter;
3233
use PagSeguro\Domains\Requests\ReceiverEmail;
3334
use PagSeguro\Domains\Requests\Redirect;
3435
use PagSeguro\Domains\Requests\Reference;
@@ -50,6 +51,7 @@ class Request implements Requests
5051
Notification::getUrl insteadof Redirect;
5152
Notification::setUrl insteadof Redirect;
5253
}
54+
use Parameter;
5355
use ReceiverEmail;
5456
use Sender;
5557
use Shipping;

lib/PagseguroPhpSdk/source/Parsers/DirectPayment/Boleto/Request.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
use PagSeguro\Parsers\DirectPayment\Mode;
3636
use PagSeguro\Parsers\Error;
3737
use PagSeguro\Parsers\Item;
38+
use PagSeguro\Parsers\Parameter;
3839
use PagSeguro\Parsers\Parser;
3940
use PagSeguro\Parsers\ReceiverEmail;
4041
use PagSeguro\Parsers\Sender;
@@ -53,6 +54,7 @@ class Request extends Error implements Parser
5354
use Item;
5455
use Method;
5556
use Mode;
57+
use Parameter;
5658
use ReceiverEmail;
5759
use Sender;
5860
use Shipping;
@@ -74,6 +76,7 @@ public static function getData(\PagSeguro\Domains\Requests\DirectPayment\Boleto
7476
Item::getData($boleto, $properties),
7577
Method::getData($properties),
7678
Mode::getData($boleto, $properties),
79+
Parameter::getData($boleto),
7780
ReceiverEmail::getData($boleto, $properties),
7881
Sender::getData($boleto, $properties),
7982
Shipping::getData($boleto, $properties)

lib/PagseguroPhpSdk/source/Parsers/DirectPayment/CreditCard/Request.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
use PagSeguro\Parsers\DirectPayment\Mode;
3939
use PagSeguro\Parsers\Error;
4040
use PagSeguro\Parsers\Item;
41+
use PagSeguro\Parsers\Parameter;
4142
use PagSeguro\Parsers\Parser;
4243
use PagSeguro\Parsers\ReceiverEmail;
4344
use PagSeguro\Parsers\Sender;
@@ -58,6 +59,7 @@ class Request extends Error implements Parser
5859
use Item;
5960
use Method;
6061
use Mode;
62+
use Parameter;
6163
use ReceiverEmail;
6264
use Sender;
6365
use Shipping;
@@ -81,6 +83,7 @@ public static function getData(\PagSeguro\Domains\Requests\DirectPayment\CreditC
8183
Item::getData($creditCard, $properties),
8284
Method::getData($properties),
8385
Mode::getData($creditCard, $properties),
86+
Parameter::getData($creditCard),
8487
ReceiverEmail::getData($creditCard, $properties),
8588
Sender::getData($creditCard, $properties),
8689
Shipping::getData($creditCard, $properties),

lib/PagseguroPhpSdk/source/Parsers/DirectPayment/OnlineDebit/Request.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
use PagSeguro\Parsers\DirectPayment\Mode;
3535
use PagSeguro\Parsers\Error;
3636
use PagSeguro\Parsers\Item;
37+
use PagSeguro\Parsers\Parameter;
3738
use PagSeguro\Parsers\Parser;
3839
use PagSeguro\Parsers\ReceiverEmail;
3940
use PagSeguro\Parsers\Sender;
@@ -53,6 +54,7 @@ class Request extends Error implements Parser
5354
use Item;
5455
use Method;
5556
use Mode;
57+
use Parameter;
5658
use ReceiverEmail;
5759
use Sender;
5860
use Shipping;
@@ -73,6 +75,7 @@ public static function getData(\PagSeguro\Domains\Requests\DirectPayment\OnlineD
7375
Item::getData($onlineDebit, $properties),
7476
Method::getData($properties),
7577
Mode::getData($onlineDebit, $properties),
78+
Parameter::getData($onlineDebit),
7679
ReceiverEmail::getData($onlineDebit, $properties),
7780
Sender::getData($onlineDebit, $properties),
7881
Shipping::getData($onlineDebit, $properties)

0 commit comments

Comments
 (0)