Skip to content

Commit

Permalink
Merge branch 'release/3.16.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
r-martins committed Mar 17, 2023
2 parents b0c8040 + 869b1a5 commit f67a444
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 12 deletions.
58 changes: 48 additions & 10 deletions app/code/community/RicardoMartins/PagSeguro/Model/Abstract.php
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ public function proccessNotificatonResult(SimpleXMLElement $xmlDocument)
{
$payment->setAdditionalInformation('transaction_status', $notification->getStatus());
}

if ($gatewayData = $notification->getGatewayData()) {
$payment->setAdditionalInformation('gateway_data', $gatewayData);
if (strpos($notification->getReference(), '-cc') !== false) {
Expand All @@ -99,7 +99,6 @@ public function proccessNotificatonResult(SimpleXMLElement $xmlDocument)
$payment->unsAdditionalInformation('gateway_data');
}
}


// process order based on returned status
switch($notification->getStatus())
Expand Down Expand Up @@ -432,18 +431,29 @@ public function callApi($params, $payment, $type='transactions')
if (false === $xml) {
switch($response){
case 'Unauthorized':
$helper->writeLog(
'Token/email não autorizado pelo PagSeguro. Verifique suas configurações no painel.'
);
$message = 'Token/email não autorizado pelo PagSeguro. Verifique suas configurações no painel.';
$helper->writeLog($message);
break;
case 'Forbidden':
$helper->writeLog(
'Acesso não autorizado à Api Pagseguro. Verifique se você tem permissão para
usar este serviço. Retorno: ' . var_export($response, true)
);
$message = 'Acesso não autorizado à Api Pagseguro. Verifique se você tem permissão para
usar este serviço.' ;
$helper->writeLog("{$message} Retorno: " . var_export($response, true));
break;
default:
$helper->writeLog('Retorno inesperado do PagSeguro. Retorno: ' . $response);
$message = 'Retorno inesperado do PagSeguro.';
$helper->writeLog("{$message} Retorno: " . $response);
}

try {
if ($type === 'transactions/refunds') {
$order = $payment->getOrder();
$order->addStatusHistoryComment("Reembolso não realizado. Mensagem: {$message}")
->setIsCustomerNotified(false);
$transactionCode = isset($params['transactionCode']) ? $params['transactionCode'] : "";
$this->notifyMerchant($order->getIncrementId(),$transactionCode,$message);
}
} catch (\Exception $e) {
$helper->writeLog('Erro ao realizar notificação de erro de reembolso: ' . $e->getMessage());
}

Mage::throwException(
Expand Down Expand Up @@ -960,6 +970,34 @@ protected function validateJsonResponse($response)
}
}

/**
* @param $incrementId
* @param $pagseguroTransactionCode
* @param $message
* @return void
*/
protected function notifyMerchant($incrementId,$pagseguroTransactionCode,$message)
{
$merchantName = Mage::getStoreConfig('trans_email/ident_sales/name');
$merchantEmail = Mage::getStoreConfig('trans_email/ident_sales/email');
$senderName = Mage::getStoreConfig('trans_email/ident_general/name');
$senderEmail = Mage::getStoreConfig('trans_email/ident_general/email');

$emailTemplate = Mage::getModel('core/email_template');
$emailTemplate->loadDefault('ricardomartins_pagseguro_email_template');

$vars = array();
$vars['merchant_name'] = $merchantName;
$vars['increment_id'] = $incrementId;
$vars['pagseguro_transaction_code'] = $pagseguroTransactionCode;
$vars['message'] = $message;

$emailTemplate->getProcessedTemplate($vars);
$emailTemplate->setSenderName($senderName);
$emailTemplate->setSenderEmail($senderEmail);

$emailTemplate->send($merchantEmail, $merchantName, $vars);
}
}


11 changes: 10 additions & 1 deletion app/code/community/RicardoMartins/PagSeguro/etc/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<config>
<modules>
<RicardoMartins_PagSeguro>
<version>3.15.8</version>
<version>3.16.0</version>
</RicardoMartins_PagSeguro>
</modules>
<global>
Expand Down Expand Up @@ -67,6 +67,15 @@
</observers>
</order_cancel_after>
</events>
<template>
<email>
<ricardomartins_pagseguro_email_template translate="label" module="ricardomartins_pagseguro">
<label>PagSeguro Notification Email</label>
<file>ricardomartins_pagseguro_notification.html</file>
<type>html</type>
</ricardomartins_pagseguro_email_template>
</email>
</template>
</global>
<frontend>
<routers>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<!--@subject {{var store.getFrontendName()}}: O reembolso para o pedido #{{var increment_id}} falhou @-->
<!--@vars
{"var increment_id":"Order Id",
"var pagseguro_transaction_code":"PagSeguro Transaction Code",
"var message":"Message"}
@-->
<!--@styles
@-->

{{template config_path="design/email/header"}}
{{inlinecss file="email-inline.css"}}
<table>
<tr>
<td>
<p>Houve um problema ao processar o reembolso do pedido abaixo.</p>
<p>Certifique-se de tomar as medidas necessárias para concluir o reembolso manualmente.</p>
</td>
</tr>
<tr>
<td><p>Pedido: {{var increment_id}}</p></td>
</tr>
<tr>
<td><p>Código da transação: {{var pagseguro_transaction_code}} (<a href="https://pagseguro.uol.com.br/transaction/details.jhtml?code={{var pagseguro_transaction_code}}">Ver no PagSeguro</a>)</p></td>
</tr>
<tr>
<td><p>Mensagem retornada: {{var message}}</p></td>
</tr>
</table>

{{template config_path="design/email/footer"}}
3 changes: 2 additions & 1 deletion modman
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ app/code/community/RicardoMartins/PagSeguro/* app/code/community/RicardoMartins/
js/pagseguro/pagseguro.js js/pagseguro/pagseguro.js
js/pagseguro/card.js js/pagseguro/card.js
app/design/adminhtml/default/default/layout/ricardomartins_pagseguro/* app/design/adminhtml/default/default/layout/ricardomartins_pagseguro/
app/design/adminhtml/default/default/template/ricardomartins_pagseguro/* app/design/adminhtml/default/default/template/ricardomartins_pagseguro/
app/design/adminhtml/default/default/template/ricardomartins_pagseguro/* app/design/adminhtml/default/default/template/ricardomartins_pagseguro/
app/locale/pt_BR/template/email/ricardomartins_pagseguro_notification.html app/locale/pt_BR/template/email/ricardomartins_pagseguro_notification.html

0 comments on commit f67a444

Please sign in to comment.