Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adicionado status PAYMENT_REVIEW para novos pedidos e habilitado rotina de checagem de status de pedidos por padrão #309

Open
wants to merge 16 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
f7d8ef3
Adicionado status PAYMENT_REVIEW para novos pedidos e habilitado roti…
eneiasramos Jun 13, 2022
56d7088
Adicionado status PAID para pedidos que foram pagos
eneiasramos Jun 14, 2022
b11e879
Ajustado algumas configurações padrão em config.xml
eneiasramos Jun 14, 2022
8a8d3c2
Atualizado modulo RicardoMartins_PagSeguro: alterado atributo padrão …
eneiasramos Jun 16, 2022
5f8876b
Atualizado modulo RicardoMartins_PagSeguro: adicionado suporte a hash…
eneiasramos Jun 16, 2022
a3e6324
Adicionado suporte a pagamento via API
eneiasramos Jun 17, 2022
fe248c1
Ajustado validação para suporte a hash de email
eneiasramos Jun 17, 2022
8698dd7
Adicionado elvis operator para status PAID (em caso de não-configurad…
eneiasramos Jun 17, 2022
1391af2
Adicionado rotina para obter sessionID via API para ser utilizado no …
eneiasramos Aug 14, 2022
b9f0337
Adicionado campo de instruções de pagamento para cartão de crédito
eneiasramos Aug 14, 2022
073d8ff
Adicionado constante CODE para comparar metódo de pagamento
eneiasramos Aug 18, 2022
b367223
Ajustado notificationURL em RicardoMartins_PagSeguro_Helper_Internal:…
eneiasramos Aug 20, 2022
b2ef0bf
Merge branch 'master' into eneiasramos
eneiasramos Dec 15, 2022
974bbfa
Merge branch 'r-martins:master' into eneiasramos
eneiasramos Sep 27, 2023
8ac1985
Atualizado configurações para address_telephone_attribute => cellphon…
eneiasramos Sep 27, 2023
428c24d
Adicionado validação para celular e removido config para dob
eneiasramos Sep 27, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -667,7 +667,8 @@ protected function _confirmPayment($payment, $notification)

$order->addStatusHistoryComment
(
sprintf('Fatura #%s criada com sucesso.', $invoice->getIncrementId())
sprintf('Fatura #%s criada com sucesso.', $invoice->getIncrementId()),
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Se passar como false ele não mudará o status do pedido depois da fatura criada. Não consigo ver sentido neste ser o comportamento padrão. Pedidos com fatura gerada viram Processing (ou outro status associado como padrao pro Processing).

Mage::getStoreConfig('payment/rm_pagsecuro_cc/paid_status')
);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,8 @@ protected function _order($payment, $amount, $ccIdx)
{
$order = $payment->getOrder();

$order->setState(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW, true);
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nem todo pagamento começa como Payment review. Isso poderia confundir o comprador. Ex: Pedido com Boleto deve entrar como Pending e não review. Review só ocorre no caso de análise de fraude de um pagamento realizado/capturado com sucesso.


if ($this->isMultiCardPayment($payment)) {
$cardData = $payment->getAdditionalInformation("cc" . $ccIdx);
$payment->setData("_current_card_index", $ccIdx);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ public function toOptionArray()
{
$options = array(
array('value' => 'md5', 'label' => 'MD5'),
array('value' => 'sha256', 'label' => 'SHA256')
array('value' => 'sha256', 'label' => 'SHA256'),
array('value' => 'sha512', 'label' => 'SHA512'),
);

return $options;
Expand Down
15 changes: 13 additions & 2 deletions app/code/community/RicardoMartins/PagSeguro/Model/Source/Hash.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ class RicardoMartins_PagSeguro_Model_Source_Hash
public function toOptionArray()
{
$options = array();
if(!function_exists('hash') || !in_array('sha256',hash_algos()) || !in_array('md5',hash_algos())){
if (!$this->_isHashable()) {
$options[] = array('value'=>0, 'label'=>'Não suportado no seu ambiente.');
return $options;
}
Expand All @@ -32,12 +32,23 @@ public function toOptionArray()
*/
public function toArray()
{
if(!function_exists('hash') || !in_array('sha256',hash_algos()) || !in_array('md5',hash_algos())){
if (!$this->_isHashable()) {
return array(
0 => Mage::helper('adminhtml')->__('No')
);
}

return Mage::getModel('adminhtml/system_config_source_yesno')->toArray();
}

/**
* @return bool
*/
private function _isHashable()
{
return function_exists('hash')
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

O método original usa || (OR) para verificar a ausência do suporte de qualquer um dos tipos de hash. Receio que deva fazer o mesmo aqui.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ajustado fe248c1

&& in_array('sha512',hash_algos())
&& in_array('sha256',hash_algos())
&& in_array('md5',hash_algos());
}
}
15 changes: 10 additions & 5 deletions app/code/community/RicardoMartins/PagSeguro/etc/config.xml
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@
<active>0</active>
<title>Cartão de Crédito - via PagSeguro UOL</title>
<order_status>pending</order_status>
<paid_status>paid</paid_status>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A alteração do status do pedido se dá definindo o status padrão para aquele state. A maioria dos módulos de pagamento usa isso como padrão.
Porque um pedido via Pagseguro + Cartão de credito passaria a usar outro status?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

É muito útil para integrações de pedidos, caso seja necessário utilizar um status personalizado para pedidos pagos.

Ou para visualizações de pedidos no admin personalizadas como o do Toluca Store.

Adicionei um fallback para utilizar o status atual caso um novo não for configurado 8698dd7

<allowspecific>0</allowspecific>
<flag>42x20</flag>
<payment_action>order</payment_action>
Expand All @@ -173,17 +174,21 @@
<!--<specificcountry>BR</specificcountry>-->
<group_restriction>0</group_restriction>
<info_brl>1</info_brl>
<total_installments>0</total_installments>
<owner_dob_attribute>dob</owner_dob_attribute>
<show_total>1</show_total>
<installment_limit>1</installment_limit>
<force_installments_selection>0</force_installments_selection>
<installments_product>0</installments_product>
<sort_order>1</sort_order>
</rm_pagseguro_cc>
<rm_pagseguro>
<customer_cpf_attribute>taxvat</customer_cpf_attribute>
<address_telephone_attribute>telephone</address_telephone_attribute>
<customer_cpf_attribute>customer|taxvat</customer_cpf_attribute>
<address_telephone_attribute>fax</address_telephone_attribute>
<address_street_attribute>street_1</address_street_attribute>
<address_number_attribute>street_2</address_number_attribute>
<address_neighborhood_attribute>street_2</address_neighborhood_attribute>
<address_complement_attribute>street_3</address_complement_attribute>
<address_neighborhood_attribute>street_4</address_neighborhood_attribute>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Boa. Não sei como deixei isso passar.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aconteceu meu caro :)

<notification_url_nosid>1</notification_url_nosid>
<ws_url>https://ws.pagseguro.uol.com.br/v2/</ws_url>
<ws_url_app>https://ws.ricardomartins.net.br/pspro/v7/wspagseguro/v2/</ws_url_app>
<js_url>https://stc.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js</js_url>
Expand All @@ -194,7 +199,7 @@
<jsdelivr_enabled>1</jsdelivr_enabled>
<jsdelivr_minify>1</jsdelivr_minify>
<stc_mirror>1</stc_mirror>
<updater_enabled>0</updater_enabled>
<updater_enabled>1</updater_enabled>
<send_status_change_email>0</send_status_change_email>
</rm_pagseguro>
<rm_pagseguro_kiosk>
Expand Down
9 changes: 9 additions & 0 deletions app/code/community/RicardoMartins/PagSeguro/etc/system.xml
Original file line number Diff line number Diff line change
Expand Up @@ -343,6 +343,15 @@
<show_in_website>1</show_in_website>
<show_in_store>0</show_in_store>
</order_status>
<paid_status translate="label">
<label>Paid Order Status</label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_order_status</source_model>
<sort_order>22</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</paid_status>
<flag>
<label>Tamanho da bandeira do cartão</label>
<frontend_type>select</frontend_type>
Expand Down
3 changes: 2 additions & 1 deletion app/locale/pt_BR/RicardoMartins_PagSeguro.csv
Original file line number Diff line number Diff line change
Expand Up @@ -196,4 +196,5 @@
"invalid security field","código de segurança inválido"
"PagSeguro: Payment with two credit cards is only available in the application model. Authorize your account for free to enable it.","PagSeguro: Pagamento com dois cartões só está disponível no modelo de aplicação. Autorize sua conta gratuitamente."
"Not applicable","Não aplicável"
"Show Download PDF Button","Mostrar Botão de Download em PDF"
"Show Download PDF Button","Mostrar Botão de Download em PDF"
"Paid Order Status","Status Pago do Pedido"