Changeset 3143032
- Timestamp:
- 08/28/2024 03:18:12 PM (18 months ago)
- Location:
- rappibank-gateway
- Files:
-
- 38 added
- 10 edited
-
tags/1.0.5 (added)
-
tags/1.0.5/Rappibank_Gateway_Credit.php (added)
-
tags/1.0.5/Rappibank_Gateway_Pix.php (added)
-
tags/1.0.5/assets (added)
-
tags/1.0.5/assets/banner-1544x500.jpg (added)
-
tags/1.0.5/assets/banner-1544x500.png (added)
-
tags/1.0.5/assets/banner-722x250.jpg (added)
-
tags/1.0.5/assets/favicon.png (added)
-
tags/1.0.5/assets/icon-256x256.png (added)
-
tags/1.0.5/assets/icon-bigode.svg (added)
-
tags/1.0.5/assets/icon.png (added)
-
tags/1.0.5/assets/icon.svg (added)
-
tags/1.0.5/assets/rappibank.svg (added)
-
tags/1.0.5/assets/screenshot-1.png (added)
-
tags/1.0.5/assets/screenshot-2.png (added)
-
tags/1.0.5/assets/screenshot-3.png (added)
-
tags/1.0.5/changelog.txt (added)
-
tags/1.0.5/css (added)
-
tags/1.0.5/css/rppbr_admin.css (added)
-
tags/1.0.5/css/rppbr_custom.css (added)
-
tags/1.0.5/include (added)
-
tags/1.0.5/include/rppbr_callback.php (added)
-
tags/1.0.5/include/rppbr_constants.php (added)
-
tags/1.0.5/include/rppbr_encrypt.php (added)
-
tags/1.0.5/include/rppbr_functions.php (added)
-
tags/1.0.5/include/rppbr_settings.php (added)
-
tags/1.0.5/languages (added)
-
tags/1.0.5/languages/rappibank-gateway-pt_BR.mo (added)
-
tags/1.0.5/languages/rappibank-gateway-pt_BR.po (added)
-
tags/1.0.5/languages/rappibank-gateway.pot (added)
-
tags/1.0.5/rappibank-gateway.php (added)
-
tags/1.0.5/readme.txt (added)
-
tags/1.0.5/view (added)
-
tags/1.0.5/view/creditcardform.php (added)
-
tags/1.0.5/view/options.php (added)
-
tags/1.0.5/view/pix.html (added)
-
tags/1.0.5/view/thankyou.php (added)
-
trunk/Rappibank_Gateway_Credit.php (modified) (5 diffs)
-
trunk/Rappibank_Gateway_Pix.php (modified) (3 diffs)
-
trunk/changelog.txt (modified) (1 diff)
-
trunk/css/rppbr_admin.css (modified) (1 diff)
-
trunk/css/rppbr_custom.css (modified) (1 diff)
-
trunk/include/rppbr_callback.php (modified) (1 diff)
-
trunk/include/rppbr_functions.php (modified) (2 diffs)
-
trunk/include/rppbr_settings.php (modified) (1 diff)
-
trunk/rappibank-gateway.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/view/creditcardform.php (added)
Legend:
- Unmodified
- Added
- Removed
-
rappibank-gateway/trunk/Rappibank_Gateway_Credit.php
r3137607 r3143032 69 69 70 70 $installments = $this->get_installments(); 71 72 71 if ($installments == null) { 73 72 return; 74 73 } 75 74 76 $fields = array(); 77 78 $cvc_field = '<p class="form-row form-row-last"> 79 <label for="card-cvc">' . esc_html__('Código do cartão', 'rappibank-gateway') . ' <span class="required">*</span></label> 80 <input id="card-cvc" class="input-text wc-credit-card-form-card-cvc" inputmode="numeric" autocomplete="off" autocorrect="no" autocapitalize="no" spellcheck="no" type="tel" maxlength="4" placeholder="' . esc_attr__('CVC', 'rappibank-gateway') . '" name="card-cvc" style="width:100px" /> 81 </p>'; 82 83 $default_fields = array( 84 'card-number-field' => '<p class="form-row form-row-wide"> 85 <label for="card-number">' . esc_html__('Número do cartão', 'rappibank-gateway') . ' <span class="required">*</span></label> 86 <input id="card-number" class="input-text wc-credit-card-form-card-number" inputmode="numeric" autocomplete="cc-number" autocorrect="no" autocapitalize="no" spellcheck="no" type="tel" placeholder="•••• •••• •••• ••••" name="card-number" /> 87 </p>', 88 'card-holder-field' => '<p class="form-row form-row-wide"> 89 <label for="card-holder">' . esc_html__('Nome do portador', 'rappibank-gateway') . ' <span class="required">*</span></label> 90 <input id="card-holder" class="input-text wc-credit-card-form-card-holder" maxlength="30" spellcheck="no" type="text" name="card-holder" /> 91 </p>', 92 'card-document-field' => '<p class="form-row form-row-wide"> 93 <label for="card-document">' . esc_html__('CPF', 'rappibank-gateway') . ' <span class="required">*</span></label> 94 <input id="card-document" class="input-text wc-credit-card-form-card-document" maxlength="14" spellcheck="no" type="text" name="card-document" /> 95 </p>', 96 'card-expiry-field' => '<p class="form-row form-row-first"> 97 <label for="card-expiry">' . esc_html__('Validade (MM/AA)', 'rappibank-gateway') . ' <span class="required">*</span></label> 98 <input id="card-expiry" class="input-text wc-credit-card-form-card-expiry" inputmode="numeric" autocomplete="cc-exp" autocorrect="no" autocapitalize="no" spellcheck="no" type="tel" placeholder="' . esc_attr__('MM / AA', 'rappibank-gateway') . '" name="card-expiry" /> 99 </p>', 100 ); 101 102 if (!$this->supports('credit_card_form_cvc_on_saved_method')) { 103 $default_fields['card-cvc-field'] = $cvc_field; 104 } 105 106 $fields = wp_parse_args($fields, apply_filters('woocommerce_credit_card_form_fields', $default_fields, $this->id)); 107 ?> 108 109 <fieldset id="wc-<?php echo esc_attr($this->id); ?>-cc-form" class='wc-credit-card-form wc-payment-form'> 110 <p style="margin-bottom:15px"><?php echo esc_html( $this->settings['app_message'] ) ?></p> 111 <?php wp_nonce_field( 'rpp-credit-form_'.$this->id ); ?> 112 <?php do_action('woocommerce_credit_card_form_start', $this->id); ?> 113 <p class="form-row form-row-wide"> 114 <label for="installments">Parcelas:<span class="required">*</span></label> 115 <select id="installments" class="form-select rppbr-select" name="installments"> 116 <option>-- selecione --</option> 117 <?php foreach ($installments as $installment) { 118 echo "<option value=\"" . esc_html( $installment['installments'] ) . "\">" . esc_html( $installment['installments'] . "x de " . number_format($installment['installmentValue'], 2, ',', '.') ) . " (R$" . number_format($installment['totalWithInterests'], 2, ',', '.') . ")</option>"; 119 } 120 ?> 121 </select> 122 </p> 123 <?php 124 foreach ($fields as $field) { 125 echo $field; // phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped 126 } 127 ?> 128 <?php do_action('woocommerce_credit_card_form_end', $this->id); ?> 129 <div class="clear"></div> 130 </fieldset> 131 <?php 132 133 if ($this->supports('credit_card_form_cvc_on_saved_method')) { 134 echo '<fieldset>' . esc_html( $cvc_field ) . '</fieldset>'; // phpcs:ignore WordPress.XSS.EscapeOutput.OutputNotEscaped 135 } 75 include 'view/creditcardform.php'; 136 76 } 137 77 … … 163 103 public function validate_fields() 164 104 { 165 $installments = wc_clean($_POST['installments']); // the number of installments that customer whants to pay 105 // the number of installments that customer whants to pay 106 $installments = wc_clean($_POST['installments']); // phpcs:ignore 166 107 rppbr_validate_installments($installments); 167 108 168 $card_number = wc_clean($_POST['card-number']); 109 $card_number = wc_clean($_POST['card-number']); // phpcs:ignore 169 110 rppbr_validate_card_number($card_number); 170 111 171 $card_expirity = wc_clean($_POST['card-expiry']); 112 $card_expirity = wc_clean($_POST['card-expiry']); // phpcs:ignore 172 113 rppbr_validate_card_expirity($card_expirity); 173 114 174 $card_cvc = wc_clean($_POST['card-cvc']); 115 $card_cvc = wc_clean($_POST['card-cvc']); // phpcs:ignore 175 116 rppbr_validate_card_cvc($card_cvc); 176 117 177 $card_holder = wc_clean($_POST['card-holder']); 118 $card_holder = wc_clean($_POST['card-holder']); // phpcs:ignore 178 119 rppbr_validate_card_holder($card_holder); 179 120 180 $card_document = wc_clean($_POST['card-document']); 121 $card_document = wc_clean($_POST['card-document']); // phpcs:ignore 181 122 rppbr_validate_document($card_document); 182 123 } … … 276 217 echo 'retorno_api'; 277 218 // Verifique se a solicitação é válida 278 if (!isset($_GET['gateway_pagamento_personalizado']) || $_GET['gateway_pagamento_personalizado'] != 'retorno') { 219 if (!isset($_GET['gateway_pagamento_personalizado']) || $_GET['gateway_pagamento_personalizado'] != 'retorno') { // phpcs:ignore 279 220 wp_die('Solicitação inválida'); 280 221 } 281 222 282 223 // Verifique se o pedido existe 283 $order_id = wc_clean($_GET['order_id']); 224 $order_id = wc_clean($_GET['order_id']); // phpcs:ignore 284 225 $order = wc_get_order($order_id); 285 226 if (!$order) { … … 288 229 289 230 // Verifique se o pagamento foi bem sucedido 290 $status = wc_clean($_GET['status']); 231 $status = wc_clean($_GET['status']); // phpcs:ignore 291 232 if ($status == 'sucesso') { 292 233 // Atualize o status do pedido para "Concluído" 293 234 $order->update_status('completed', __('Pagamento concluído com sucesso.', 'rappibank-gateway')); 294 235 // Redirecione o usuário para a página de sucesso do pedido 295 wp_ redirect($this->get_return_url($order));236 wp_safe_redirect($this->get_return_url($order)); 296 237 exit; 297 238 } else { … … 299 240 $this->error_message = __('Ocorreu um erro ao processar o pagamento. Por favor, tente novamente.', 'rappibank-gateway'); 300 241 // Redirecione o usuário para a página de pagamento 301 wp_ redirect($order->get_checkout_payment_url());242 wp_safe_redirect($order->get_checkout_payment_url()); 302 243 exit; 303 244 } -
rappibank-gateway/trunk/Rappibank_Gateway_Pix.php
r3137607 r3143032 163 163 { 164 164 // Verifique se a solicitação é válida 165 if (!isset($_GET['gateway_pagamento_personalizado']) || $_GET['gateway_pagamento_personalizado'] != 'retorno') { 165 if (!isset($_GET['gateway_pagamento_personalizado']) || $_GET['gateway_pagamento_personalizado'] != 'retorno') { // phpcs:ignore 166 166 wp_die('Solicitação inválida'); 167 167 } 168 168 169 169 // Verifique se o pedido existe 170 $order_id = wc_clean($_GET['order_id']); 170 $order_id = wc_clean($_GET['order_id']); // phpcs:ignore 171 171 $order = wc_get_order($order_id); 172 172 if (!$order) { … … 175 175 176 176 // Verifique se o pagamento foi bem sucedido 177 $status = wc_clean($_GET['status']); 177 $status = wc_clean($_GET['status']); // phpcs:ignore 178 178 if ($status == 'sucesso') { 179 179 // Atualize o status do pedido para "Concluído" 180 180 $order->update_status('completed', __('Pagamento concluído com sucesso.', 'rappibank-gateway')); 181 181 // Redirecione o usuário para a página de sucesso do pedido 182 wp_ redirect($this->get_return_url($order));182 wp_safe_redirect($this->get_return_url($order)); 183 183 exit; 184 184 } else { … … 186 186 $this->error_message = __('Ocorreu um erro ao processar o pagamento. Por favor, tente novamente.', 'rappibank-gateway'); 187 187 // Redirecione o usuário para a página de pagamento 188 wp_ redirect($order->get_checkout_payment_url());188 wp_safe_redirect($order->get_checkout_payment_url()); 189 189 exit; 190 190 } -
rappibank-gateway/trunk/changelog.txt
r3137607 r3143032 1 1 *** Changelog *** 2 2 3 = 1.0.0 - 2024-07-22 = 3 2024-08-20 - version 1.0.5 4 * Fix - Refatoramento, bugfixes e melhorias diversas. 5 6 2024-08-16 - version 1.0.4 7 * Fix - Refatoramento e melhorias de segurança. 8 9 2024-08-06 - version 1.0.3 10 * Enhancement - Opção de taxas sendo paga pelo estabelecimento ou pelo cliente. 11 * Fix - Notas adicionadas como usuário do sistema. 12 13 2024-08-01 - version 1.0.2 - 14 * Fix - Melhoria nas mensagens de retorno do pagamento com cartão 15 16 2024-07-29 - version 1.0.1 17 * Enhancement - Estorno em dois formatos: do portal para o Woocommerce e do Woocommerce para o Portal 18 * Fix - Melhorias de desempenho 19 * Fix - Correção de problemas 20 21 2024-07-22 - version 1.0.0 4 22 * Enhancement - Versão inicial - cobrança com cartão de crédito 5 23 * Enhancement - Adicionado cobrança via PIX 6 24 * Fix - Melhorias de desempenho 7 25 * Fix - Correção de problemas 8 9 = 1.0.1 - 2024-07-29 =10 * Enhancement - Estorno em dois formatos: do portal para o Woocommerce e do Woocommerce para o Portal11 * Fix - Melhorias de desempenho12 * Fix - Correção de problemas13 14 = 1.0.2 - 2024-08-01 =15 * Fix - Melhoria nas mensagens de retorno do pagamento com cartão16 17 = 1.0.3 - 2024-08-06 =18 * Enhancement - Opção de taxas sendo paga pelo estabelecimento ou pelo cliente.19 * Fix - Notas adicionadas como usuário do sistema.20 21 = 1.0.4 - 2024-08-16 =22 * Fix - Refatoramento e melhorias de segurança. -
rappibank-gateway/trunk/css/rppbr_admin.css
r3137607 r3143032 18 18 width: 100%; 19 19 } 20 -
rappibank-gateway/trunk/css/rppbr_custom.css
r3137607 r3143032 11 11 box-sizing: border-box; 12 12 } 13 14 .wc-credit-card-form.wc-payment-form .input-text { 15 font-size: 1.5em!important; 16 } 17 .wc-credit-card-form.wc-payment-form .form-select { 18 font-size: 1.5em!important; 19 color: #111111; 20 } -
rappibank-gateway/trunk/include/rppbr_callback.php
r3137607 r3143032 65 65 header('HTTP/1.1 200 OK'); 66 66 67 $token = sanitize_text_field($_GET['token']); 67 $token = sanitize_text_field($_GET['token']); // phpcs:ignore 68 68 69 69 if (!rppbr_verify_token($token)) { -
rappibank-gateway/trunk/include/rppbr_functions.php
r3137607 r3143032 132 132 if (get_option('rppbr_activation_redirect', false)) { 133 133 delete_option('rppbr_activation_redirect'); 134 wp_ redirect(add_query_arg('page', 'rppbr', admin_url('admin.php')));134 wp_safe_redirect(add_query_arg('page', 'rppbr', admin_url('admin.php'))); 135 135 } 136 136 } … … 244 244 if ($status_code >= 200 && $status_code <= 299) { 245 245 return true; 246 } else if ($status_code == 400) {247 error_log('FALHA ==> ' . wp_json_encode($response));248 wc_add_notice('Falha ao processar o reembolso. Verifique os dados e tente novamente. Erro: ' . $this->get_response_error($response), 'error');249 return;250 246 } else { 251 247 error_log('FALHA ==> ' . wp_json_encode($response)); 252 wc_add_notice('Falha ao processar o reembolso: ' . $response['response']['message'], 'error'); 253 return; 248 $response_data = json_decode(wp_remote_retrieve_body($response), true); 249 $message = $response_data['message']; 250 $traceId = $response_data['traceId']; 251 wc_add_notice('Falha ao processar o reembolso. Verifique os dados e tente novamente. (' . $traceId . '): ' . $message, 'error'); 254 252 return false; 255 253 } -
rappibank-gateway/trunk/include/rppbr_settings.php
r3137607 r3143032 89 89 } 90 90 91 if (isset($_GET['settings-updated'])) { 91 if (isset($_GET['settings-updated'])) { // phpcs:ignore 92 92 add_settings_error('rppbr_messages', 'rppbr_message', 'Configurações salvas com sucesso', 'updated'); 93 93 } -
rappibank-gateway/trunk/rappibank-gateway.php
r3137755 r3143032 6 6 * Description: Permite utilizar o Rappibank como forma de pagamento 7 7 * License: GPLv2 8 * Version: 1.0. 48 * Version: 1.0.5 9 9 * Author: Rappibank 10 10 * Domain Path: /languages -
rappibank-gateway/trunk/readme.txt
r3137755 r3143032 5 5 Domain Path: /languages 6 6 Requires at least: 6.5 7 Tested up to: 6. 5.58 Stable tag: 1.0. 47 Tested up to: 6.6 8 Stable tag: 1.0.5 9 9 Requires PHP: 7.0 10 10 License: GPLv2 or later … … 33 33 = Como faço para me cadastrar? = 34 34 35 Para se cadastrar, acesse o site do [Rappibank, Brasil](https://rappibank.com.br), e clique no botão "C adastre-se".35 Para se cadastrar, acesse o site do [Rappibank, Brasil](https://rappibank.com.br), e clique no botão "Criar conta". 36 36 37 37 == Screenshots ==
Note: See TracChangeset
for help on using the changeset viewer.