Changeset 3352725
- Timestamp:
- 08/29/2025 03:35:59 PM (6 months ago)
- Location:
- rave-woocommerce-payment-gateway
- Files:
-
- 4 added
- 16 edited
- 1 copied
-
tags/3.1.0 (copied) (copied from rave-woocommerce-payment-gateway/trunk)
-
tags/3.1.0/changelog.txt (modified) (1 diff)
-
tags/3.1.0/i18n/languages/rave-woocommerce-payment-gateway.pot (modified) (7 diffs)
-
tags/3.1.0/includes/blocks/class-flutterwave-wc-gateway-blocks-support.php (modified) (2 diffs)
-
tags/3.1.0/includes/class-flutterwave.php (modified) (1 diff)
-
tags/3.1.0/includes/class-flw-wc-payment-gateway.php (modified) (11 diffs)
-
tags/3.1.0/includes/client/class-flw-wc-payment-gateway-sdk.php (modified) (1 diff)
-
tags/3.1.0/includes/util (added)
-
tags/3.1.0/includes/util/class-flutterwave-logger.php (added)
-
tags/3.1.0/rave-woocommerce-payment-gateway.php (modified) (1 diff)
-
tags/3.1.0/readme.txt (modified) (3 diffs)
-
trunk/changelog.txt (modified) (1 diff)
-
trunk/i18n/languages/rave-woocommerce-payment-gateway.pot (modified) (7 diffs)
-
trunk/includes/blocks/class-flutterwave-wc-gateway-blocks-support.php (modified) (2 diffs)
-
trunk/includes/class-flutterwave.php (modified) (1 diff)
-
trunk/includes/class-flw-wc-payment-gateway.php (modified) (11 diffs)
-
trunk/includes/client/class-flw-wc-payment-gateway-sdk.php (modified) (1 diff)
-
trunk/includes/util (added)
-
trunk/includes/util/class-flutterwave-logger.php (added)
-
trunk/rave-woocommerce-payment-gateway.php (modified) (1 diff)
-
trunk/readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
rave-woocommerce-payment-gateway/tags/3.1.0/changelog.txt
r3220062 r3352725 1 1 == Changelog == 2 = 3.1.0 = 3 * Added: Set Minimum Support to WooCommerce 6.9 or greater. 4 * Added: Flutterwave Logger instance using wc_logger. 2 5 = 2.3.6 = 3 6 * Fixed: Dynamic Adjustment to Custom Permalink Set by Merchant. -
rave-woocommerce-payment-gateway/tags/3.1.0/i18n/languages/rave-woocommerce-payment-gateway.pot
r3220062 r3352725 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Flutterwave WooCommerce 2.3.6\n"5 "Project-Id-Version: Flutterwave WooCommerce 3.1.0\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/rave-woocommerce-payment-gateway\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-0 1-10T09:07:15+00:00\n"12 "POT-Creation-Date: 2025-08-29T15:34:09+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 "X-Generator: WP-CLI 2.1 1.0\n"14 "X-Generator: WP-CLI 2.12.0\n" 15 15 "X-Domain: rave-woocommerce-payment-gateway\n" 16 16 … … 18 18 #. Translators: %s Plugin name. 19 19 #: rave-woocommerce-payment-gateway.php 20 #: includes/class-flw-wc-payment-gateway.php:2 2720 #: includes/class-flw-wc-payment-gateway.php:230 21 21 #: includes/views/html-admin-missing-woocommerce.php:15 22 22 msgid "Flutterwave WooCommerce" … … 43 43 msgstr "" 44 44 45 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:15 645 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:155 46 46 msgid "Visa" 47 47 msgstr "" 48 48 49 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:1 6049 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:159 50 50 msgid "American Express" 51 51 msgstr "" 52 52 53 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:16 453 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:163 54 54 msgid "Mastercard" 55 55 msgstr "" 56 56 57 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:17 157 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:170 58 58 msgctxt "Name of credit card" 59 59 msgid "Discover" 60 60 msgstr "" 61 61 62 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:17 562 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:174 63 63 msgid "JCB" 64 64 msgstr "" 65 65 66 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:17 966 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:178 67 67 msgid "Diners" 68 68 msgstr "" … … 138 138 #. translators: 1: payment reference 2: transaction reference 139 139 #: includes/class-flw-wc-payment-gateway-subscriptions.php:163 140 #, php-format 140 141 msgid "Payment via Flutterwave successful (Payment Reference: %1$s, Transaction Reference: %2$s)" 141 142 msgstr "" 142 143 143 #: includes/class-flw-wc-payment-gateway.php:15 2144 #: includes/class-flw-wc-payment-gateway.php:154 144 145 msgid "allows you to accept payment from cards and bank accounts in multiple currencies. You can also accept payment offline via USSD and POS." 145 146 msgstr "" 146 147 147 #: includes/class-flw-wc-payment-gateway.php:23 1148 #: includes/class-flw-wc-payment-gateway.php:234 148 149 msgid "Webhook Instruction" 149 150 msgstr "" 150 151 151 #: includes/class-flw-wc-payment-gateway.php:23 5152 #: includes/class-flw-wc-payment-gateway.php:238 152 153 msgid "Please copy this webhook URL and paste on the webhook section on your dashboard" 153 154 msgstr "" 154 155 155 #: includes/class-flw-wc-payment-gateway.php:25 6156 #: includes/class-flw-wc-payment-gateway.php:259 156 157 msgid "Enable/Disable" 157 158 msgstr "" 158 159 159 #: includes/class-flw-wc-payment-gateway.php:2 57160 #: includes/class-flw-wc-payment-gateway.php:260 160 161 msgid "Enable Flutterwave" 161 162 msgstr "" 162 163 163 #: includes/class-flw-wc-payment-gateway.php:2 59164 #: includes/class-flw-wc-payment-gateway.php:262 164 165 msgid "Enable Flutterwave as a payment option on the checkout page" 165 166 msgstr "" 166 167 167 #: includes/class-flw-wc-payment-gateway.php:26 4168 #: includes/class-flw-wc-payment-gateway.php:267 168 169 msgid "Enter Secret Hash" 169 170 msgstr "" 170 171 171 #: includes/class-flw-wc-payment-gateway.php:26 6172 #: includes/class-flw-wc-payment-gateway.php:269 172 173 msgid "Please change from default hash and ensure that <b>SECRET HASH</b> is the same with the one on your Flutterwave dashboard" 173 174 msgstr "" 174 175 175 #: includes/class-flw-wc-payment-gateway.php:27 0176 #: includes/class-flw-wc-payment-gateway.php:273 176 177 msgid "Payment method title" 177 178 msgstr "" 178 179 179 #: includes/class-flw-wc-payment-gateway.php:27 2180 #: includes/class-flw-wc-payment-gateway.php:2 78180 #: includes/class-flw-wc-payment-gateway.php:275 181 #: includes/class-flw-wc-payment-gateway.php:281 181 182 msgid "Optional" 182 183 msgstr "" 183 184 184 #: includes/class-flw-wc-payment-gateway.php:27 6185 #: includes/class-flw-wc-payment-gateway.php:279 185 186 msgid "Payment method description" 186 187 msgstr "" 187 188 188 #: includes/class-flw-wc-payment-gateway.php:28 2189 #: includes/class-flw-wc-payment-gateway.php:285 189 190 msgid "Test Public Key" 190 191 msgstr "" 191 192 192 #: includes/class-flw-wc-payment-gateway.php:28 4193 #: includes/class-flw-wc-payment-gateway.php:287 193 194 msgid "Required! Enter your Flutterwave test public key here" 194 195 msgstr "" 195 196 196 #: includes/class-flw-wc-payment-gateway.php:2 88197 #: includes/class-flw-wc-payment-gateway.php:291 197 198 msgid "Test Secret Key" 198 199 msgstr "" 199 200 200 #: includes/class-flw-wc-payment-gateway.php:29 0201 #: includes/class-flw-wc-payment-gateway.php:293 201 202 msgid "Required! Enter your Flutterwave test secret key here" 202 203 msgstr "" 203 204 204 #: includes/class-flw-wc-payment-gateway.php:29 4205 #: includes/class-flw-wc-payment-gateway.php:297 205 206 msgid "Live Public Key" 206 207 msgstr "" 207 208 208 #: includes/class-flw-wc-payment-gateway.php:29 6209 #: includes/class-flw-wc-payment-gateway.php:299 209 210 msgid "Required! Enter your Flutterwave live public key here" 210 211 msgstr "" 211 212 212 #: includes/class-flw-wc-payment-gateway.php:30 0213 #: includes/class-flw-wc-payment-gateway.php:303 213 214 msgid "Live Secret Key" 214 215 msgstr "" 215 216 216 #: includes/class-flw-wc-payment-gateway.php:30 2217 #: includes/class-flw-wc-payment-gateway.php:305 217 218 msgid "Required! Enter your Flutterwave live secret key here" 218 219 msgstr "" 219 220 220 #: includes/class-flw-wc-payment-gateway.php:30 6221 #: includes/class-flw-wc-payment-gateway.php:309 221 222 msgid "Payment Style on checkout" 222 223 msgstr "" 223 224 224 #: includes/class-flw-wc-payment-gateway.php:3 08225 #: includes/class-flw-wc-payment-gateway.php:311 225 226 msgid "Optional - Choice of payment style to use. Either inline or redirect. (Default: inline)" 226 227 msgstr "" 227 228 228 #: includes/class-flw-wc-payment-gateway.php:31 0229 #: includes/class-flw-wc-payment-gateway.php:313 229 230 msgctxt "payment_style" 230 231 msgid "Popup(Keep payment experience on the website)" 231 232 msgstr "" 232 233 233 #: includes/class-flw-wc-payment-gateway.php:31 1234 #: includes/class-flw-wc-payment-gateway.php:314 234 235 msgctxt "payment_style" 235 236 msgid "Redirect" 236 237 msgstr "" 237 238 238 #: includes/class-flw-wc-payment-gateway.php:31 6239 #: includes/class-flw-wc-payment-gateway.php:319 239 240 msgid "Autocomplete Order After Payment" 240 241 msgstr "" 241 242 242 #: includes/class-flw-wc-payment-gateway.php:3 17243 #: includes/class-flw-wc-payment-gateway.php:320 243 244 msgid "Autocomplete Order" 244 245 msgstr "" 245 246 246 #: includes/class-flw-wc-payment-gateway.php:32 0247 #: includes/class-flw-wc-payment-gateway.php:323 247 248 msgid "If enabled, the order will be marked as complete after successful payment" 248 249 msgstr "" 249 250 250 #: includes/class-flw-wc-payment-gateway.php:32 5251 #: includes/class-flw-wc-payment-gateway.php:328 251 252 msgid "Payment Options" 252 253 msgstr "" 253 254 254 #: includes/class-flw-wc-payment-gateway.php:3 27255 #: includes/class-flw-wc-payment-gateway.php:330 255 256 msgid "Optional - Choice of payment method to use. Card, Account etc." 256 257 msgstr "" 257 258 258 #: includes/class-flw-wc-payment-gateway.php:3 29259 #: includes/class-flw-wc-payment-gateway.php:332 259 260 msgctxt "payment_options" 260 261 msgid "All" 261 262 msgstr "" 262 263 263 #: includes/class-flw-wc-payment-gateway.php:33 0264 #: includes/class-flw-wc-payment-gateway.php:333 264 265 msgctxt "payment_options" 265 266 msgid "Card Only" 266 267 msgstr "" 267 268 268 #: includes/class-flw-wc-payment-gateway.php:33 1269 #: includes/class-flw-wc-payment-gateway.php:334 269 270 msgctxt "payment_options" 270 271 msgid "Account Only" 271 272 msgstr "" 272 273 273 #: includes/class-flw-wc-payment-gateway.php:33 2274 #: includes/class-flw-wc-payment-gateway.php:335 274 275 msgctxt "payment_options" 275 276 msgid "USSD Only" 276 277 msgstr "" 277 278 278 #: includes/class-flw-wc-payment-gateway.php:33 3279 #: includes/class-flw-wc-payment-gateway.php:336 279 280 msgctxt "payment_options" 280 281 msgid "QR Only" 281 282 msgstr "" 282 283 283 #: includes/class-flw-wc-payment-gateway.php:33 4284 #: includes/class-flw-wc-payment-gateway.php:337 284 285 msgctxt "payment_options" 285 286 msgid "Mpesa Only" 286 287 msgstr "" 287 288 288 #: includes/class-flw-wc-payment-gateway.php:33 5289 #: includes/class-flw-wc-payment-gateway.php:338 289 290 msgctxt "payment_options" 290 291 msgid "Ghana MM Only" 291 292 msgstr "" 292 293 293 #: includes/class-flw-wc-payment-gateway.php:33 6294 #: includes/class-flw-wc-payment-gateway.php:339 294 295 msgctxt "payment_options" 295 296 msgid "Rwanda MM Only" 296 297 msgstr "" 297 298 298 #: includes/class-flw-wc-payment-gateway.php:3 37299 #: includes/class-flw-wc-payment-gateway.php:340 299 300 msgctxt "payment_options" 300 301 msgid "Zambia MM Only" 301 302 msgstr "" 302 303 303 #: includes/class-flw-wc-payment-gateway.php:3 38304 #: includes/class-flw-wc-payment-gateway.php:341 304 305 msgctxt "payment_options" 305 306 msgid "Tanzania MM Only" 306 307 msgstr "" 307 308 308 #: includes/class-flw-wc-payment-gateway.php:34 3309 #: includes/class-flw-wc-payment-gateway.php:346 309 310 msgid "Mode" 310 311 msgstr "" 311 312 312 #: includes/class-flw-wc-payment-gateway.php:34 4313 #: includes/class-flw-wc-payment-gateway.php:347 313 314 msgid "Live mode" 314 315 msgstr "" 315 316 316 #: includes/class-flw-wc-payment-gateway.php:34 6317 #: includes/class-flw-wc-payment-gateway.php:349 317 318 msgid "Check this box if you're using your live keys." 318 319 msgstr "" 319 320 320 #: includes/class-flw-wc-payment-gateway.php:35 1321 #: includes/class-flw-wc-payment-gateway.php:35 2321 #: includes/class-flw-wc-payment-gateway.php:354 322 #: includes/class-flw-wc-payment-gateway.php:355 322 323 msgid "Disable Logging" 323 324 msgstr "" 324 325 325 #: includes/class-flw-wc-payment-gateway.php:35 4326 #: includes/class-flw-wc-payment-gateway.php:357 326 327 msgid "Check this box if you're disabling logging." 327 328 msgstr "" 328 329 329 #: includes/class-flw-wc-payment-gateway.php:3 59330 #: includes/class-flw-wc-payment-gateway.php:36 0330 #: includes/class-flw-wc-payment-gateway.php:362 331 #: includes/class-flw-wc-payment-gateway.php:363 331 332 msgid "Disable Barter" 332 333 msgstr "" 333 334 334 #: includes/class-flw-wc-payment-gateway.php:36 2335 #: includes/class-flw-wc-payment-gateway.php:365 335 336 msgid "Check the box if you want to disable barter." 336 337 msgstr "" 337 338 338 339 #. translators: %s: url 339 #: includes/class-flw-wc-payment-gateway.php:453 340 #: includes/class-flw-wc-payment-gateway.php:456 341 #, php-format 340 342 msgid "Flutterwave is enabled, but the API keys are not set. Please <a href=\"%s\">set your Flutterwave API keys</a> to be able to accept payments." 341 343 msgstr "" 342 344 343 345 #. translators: %s: shop cart url 344 #: includes/class-flw-wc-payment-gateway.php:490 346 #: includes/class-flw-wc-payment-gateway.php:493 347 #, php-format 345 348 msgid "Sorry, your session has expired. <a href=\"%s\" class=\"wc-backward\">Return to shop</a>" 346 349 msgstr "" 347 350 348 #: includes/class-flw-wc-payment-gateway.php:50 4351 #: includes/class-flw-wc-payment-gateway.php:507 349 352 msgid "We were unable to process your order, please try again." 350 353 msgstr "" 351 354 352 #: includes/class-flw-wc-payment-gateway.php:5 79355 #: includes/class-flw-wc-payment-gateway.php:582 353 356 msgid "Order Payment" 354 357 msgstr "" … … 360 363 #. translators: $1. Minimum WooCommerce version. $2. Current WooCommerce version. 361 364 #: includes/notices/class-flw-wc-payment-gateway-notices.php:32 365 #, php-format 362 366 msgid "Flutterwave WooCommerce requires WooCommerce %1$s or greater to be installed and active. kindly upgrade to a higher version of WooCommerce or downgrade to a lower version of Flutterwave WooCommerce that supports WooCommerce version %2$s." 363 367 msgstr "" … … 365 369 #. Translators: %s Plugin name. 366 370 #: includes/views/html-admin-missing-woocommerce.php:15 371 #, php-format 367 372 msgid "%s requires WooCommerce to be installed and activated in order to serve updates." 368 373 msgstr "" -
rave-woocommerce-payment-gateway/tags/3.1.0/includes/blocks/class-flutterwave-wc-gateway-blocks-support.php
r3027434 r3352725 51 51 require_once dirname( FLW_WC_PLUGIN_FILE ) . '/includes/class-flw-wc-payment-gateway.php'; 52 52 } 53 } 53 54 54 $this->gateway = new FLW_WC_Payment_Gateway(); 55 } else { 56 $gateways = WC()->payment_gateways->payment_gateways(); 57 $this->gateway = $gateways[ $this->name ]; 58 } 55 $this->gateway = new FLW_WC_Payment_Gateway(); 59 56 } 60 57 … … 71 68 return false; 72 69 } 70 71 $this->gateway = $gateways[ $this->name ]; 73 72 } 74 73 -
rave-woocommerce-payment-gateway/tags/3.1.0/includes/class-flutterwave.php
r3220062 r3352725 19 19 * @var string 20 20 */ 21 public string $version = ' 2.3.6';21 public string $version = '3.1.0'; 22 22 23 23 /** -
rave-woocommerce-payment-gateway/tags/3.1.0/includes/class-flw-wc-payment-gateway.php
r3220062 r3352725 26 26 require_once __DIR__ . '/client/class-flw-wc-payment-gateway-request.php'; 27 27 require_once __DIR__ . '/client/class-flw-wc-payment-gateway-sdk.php'; 28 require_once __DIR__ . '/util/class-flutterwave-logger.php'; 28 29 29 30 use Flutterwave\WooCommerce\Client\Flw_WC_Payment_Gateway_Request; 30 31 use Flutterwave\WooCommerce\Client\FLW_WC_Payment_Gateway_Sdk as FlwSdk; 31 32 use FLW_WC_Payment_Gateway_Event_Handler as FlwEventHandler; 33 use Flutterwave\WooCommerce\Util\Flutterwave_Logger; 32 34 33 35 /** … … 93 95 * Logger 94 96 * 95 * @var WC_Logger the logger96 */ 97 private WC_Logger $logger;97 * @var Flutterwave_Logger the logger 98 */ 99 private Flutterwave_Logger $logger; 98 100 /** 99 101 * Flutterwave Sdk … … 205 207 } 206 208 207 $this->sdk = new FlwSdk( $this->secret_key, self::$log_enabled ); 209 $this->logger = Flutterwave_Logger::instance(); 210 $this->sdk = new FlwSdk( $this->secret_key, self::$log_enabled ); 208 211 209 212 add_action( 'wp_enqueue_scripts', array( $this, 'payment_scripts' ) ); … … 594 597 */ 595 598 public function flw_verify_payment() { 596 $public_key = $this->public_key; 597 $secret_key = $this->secret_key; 598 $logging_option = $this->logging_option; 599 $sdk = $this->sdk; 599 $sdk = $this->sdk; 600 600 601 601 if ( ! isset( $_GET['_wpnonce'] ) && ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_GET['_wpnonce'] ) ) ) ) { 602 602 if ( isset( $_GET['status'] ) && 'cancelled' === $_GET['status'] ) { 603 $this->logger->info( 'transaction cancelled by the customer.' ); 603 604 $sdk->set_event_handler( new FlwEventHandler( $order ) )->cancel_payment( $txn_ref ); 604 605 header( 'Location: ' . wc_get_cart_url() ); … … 614 615 615 616 if ( isset( $_GET['status'] ) && 'cancelled' === $_GET['status'] ) { 617 $this->logger->info( 'transaction cancelled by the customer.' ); 616 618 $sdk->set_event_handler( new FlwEventHandler( $order ) )->cancel_payment( $txn_ref ); 617 619 header( 'Location: ' . wc_get_cart_url() ); … … 631 633 */ 632 634 public function flutterwave_webhooks() { 633 $public_key = $this->public_key; 634 $secret_key = $this->secret_key; 635 $logging_option = $this->logging_option; 636 $sdk = $this->sdk; 635 $sdk = $this->sdk; 637 636 638 637 $event = file_get_contents( 'php://input' ); … … 648 647 649 648 if ( ! $signature ) { 649 $this->logger->info( 'Faudulent Webhook Notification Attempt [Access Redirected]' ); 650 650 // redirect to the home page. 651 651 wp_safe_redirect( home_url() ); … … 656 656 657 657 if ( $signature !== $local_signature ) { 658 $this->logger->info( 'Faudulent Webhook Notification Attempt [Access Restricted]' ); 658 659 wp_send_json( 659 660 array( … … 666 667 667 668 http_response_code( 200 ); 669 $this->logger->info( 'Webhook recieved: ' . $event ); 668 670 $event = json_decode( $event ); 669 671 … … 679 681 680 682 if ( 'test_assess' === $event->event ) { 683 $this->logger->info( 'Flutterwave Webhook Testing Successful.' ); 681 684 wp_send_json( 682 685 array( … … 696 699 // check if transaction reference starts with WOOC on hpos enabled. 697 700 if ( substr( $event_data->tx_ref, 0, 4 ) !== 'WOOC' ) { 701 $this->logger->info( 'Attempt to verifiy a transaction not produced by the merchants store.' ); 698 702 wp_send_json( 699 703 array( -
rave-woocommerce-payment-gateway/tags/3.1.0/includes/client/class-flw-wc-payment-gateway-sdk.php
r2988222 r3352725 23 23 24 24 require_once __DIR__ . '/class-flw-wc-payment-gateway-client.php'; 25 require_once __DIR__ . '/../util/class-flutterwave-logger.php'; 25 26 26 27 /** -
rave-woocommerce-payment-gateway/tags/3.1.0/rave-woocommerce-payment-gateway.php
r3220062 r3352725 4 4 * Plugin URI: https://developer.flutterwave.com/ 5 5 * Description: Official WooCommerce payment gateway for Flutterwave. 6 * Version: 2.3.66 * Version: 3.1.0 7 7 * Author: Flutterwave Developers 8 8 * Author URI: http://flutterwave.com/us -
rave-woocommerce-payment-gateway/tags/3.1.0/readme.txt
r3220062 r3352725 4 4 Requires at least: 3.1 5 5 Tested up to: 6.7.1 6 Stable tag: 2.3.66 Stable tag: 3.1.0 7 7 License: MIT 8 8 License URI: https://github.com/Flutterwave/Woocommerce/blob/master/LICENSE … … 12 12 == Description == 13 13 14 Accept Credit card, Debit card and Bank account payment directly on your store with the official Flutterwave Plugin for WooCommerce. 14 Accept Credit card, Debit card and Bank account payment directly on your store with the official Flutterwave Plugin for WooCommerce. This plugin supports WooCommerce Version 6.9 or greater. For WooCommerce Version 6.8 or lower please install Flutterwave WooCommerce Version (2.3.6 or lower) of the plugin [here](https://wordpress.org/plugins/rave-woocommerce-payment-gateway/advanced/) at the section update advanced options. 15 15 16 16 = Plugin Features = … … 23 23 24 24 1. Flutterwave for business [API Keys](https://developer.flutterwave.com/docs/integration-guides/authentication) 25 2. [WooCommerce](https://woocommerce.com/) 25 2. [WooCommerce](https://woocommerce.com/) version: >= 6.9 26 26 6. Supported PHP version: 7.4.0 - 8.1.0 27 27 -
rave-woocommerce-payment-gateway/trunk/changelog.txt
r3220062 r3352725 1 1 == Changelog == 2 = 3.1.0 = 3 * Added: Set Minimum Support to WooCommerce 6.9 or greater. 4 * Added: Flutterwave Logger instance using wc_logger. 2 5 = 2.3.6 = 3 6 * Fixed: Dynamic Adjustment to Custom Permalink Set by Merchant. -
rave-woocommerce-payment-gateway/trunk/i18n/languages/rave-woocommerce-payment-gateway.pot
r3220062 r3352725 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Flutterwave WooCommerce 2.3.6\n"5 "Project-Id-Version: Flutterwave WooCommerce 3.1.0\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/rave-woocommerce-payment-gateway\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2025-0 1-10T09:07:15+00:00\n"12 "POT-Creation-Date: 2025-08-29T15:34:09+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 "X-Generator: WP-CLI 2.1 1.0\n"14 "X-Generator: WP-CLI 2.12.0\n" 15 15 "X-Domain: rave-woocommerce-payment-gateway\n" 16 16 … … 18 18 #. Translators: %s Plugin name. 19 19 #: rave-woocommerce-payment-gateway.php 20 #: includes/class-flw-wc-payment-gateway.php:2 2720 #: includes/class-flw-wc-payment-gateway.php:230 21 21 #: includes/views/html-admin-missing-woocommerce.php:15 22 22 msgid "Flutterwave WooCommerce" … … 43 43 msgstr "" 44 44 45 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:15 645 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:155 46 46 msgid "Visa" 47 47 msgstr "" 48 48 49 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:1 6049 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:159 50 50 msgid "American Express" 51 51 msgstr "" 52 52 53 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:16 453 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:163 54 54 msgid "Mastercard" 55 55 msgstr "" 56 56 57 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:17 157 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:170 58 58 msgctxt "Name of credit card" 59 59 msgid "Discover" 60 60 msgstr "" 61 61 62 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:17 562 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:174 63 63 msgid "JCB" 64 64 msgstr "" 65 65 66 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:17 966 #: includes/blocks/class-flutterwave-wc-gateway-blocks-support.php:178 67 67 msgid "Diners" 68 68 msgstr "" … … 138 138 #. translators: 1: payment reference 2: transaction reference 139 139 #: includes/class-flw-wc-payment-gateway-subscriptions.php:163 140 #, php-format 140 141 msgid "Payment via Flutterwave successful (Payment Reference: %1$s, Transaction Reference: %2$s)" 141 142 msgstr "" 142 143 143 #: includes/class-flw-wc-payment-gateway.php:15 2144 #: includes/class-flw-wc-payment-gateway.php:154 144 145 msgid "allows you to accept payment from cards and bank accounts in multiple currencies. You can also accept payment offline via USSD and POS." 145 146 msgstr "" 146 147 147 #: includes/class-flw-wc-payment-gateway.php:23 1148 #: includes/class-flw-wc-payment-gateway.php:234 148 149 msgid "Webhook Instruction" 149 150 msgstr "" 150 151 151 #: includes/class-flw-wc-payment-gateway.php:23 5152 #: includes/class-flw-wc-payment-gateway.php:238 152 153 msgid "Please copy this webhook URL and paste on the webhook section on your dashboard" 153 154 msgstr "" 154 155 155 #: includes/class-flw-wc-payment-gateway.php:25 6156 #: includes/class-flw-wc-payment-gateway.php:259 156 157 msgid "Enable/Disable" 157 158 msgstr "" 158 159 159 #: includes/class-flw-wc-payment-gateway.php:2 57160 #: includes/class-flw-wc-payment-gateway.php:260 160 161 msgid "Enable Flutterwave" 161 162 msgstr "" 162 163 163 #: includes/class-flw-wc-payment-gateway.php:2 59164 #: includes/class-flw-wc-payment-gateway.php:262 164 165 msgid "Enable Flutterwave as a payment option on the checkout page" 165 166 msgstr "" 166 167 167 #: includes/class-flw-wc-payment-gateway.php:26 4168 #: includes/class-flw-wc-payment-gateway.php:267 168 169 msgid "Enter Secret Hash" 169 170 msgstr "" 170 171 171 #: includes/class-flw-wc-payment-gateway.php:26 6172 #: includes/class-flw-wc-payment-gateway.php:269 172 173 msgid "Please change from default hash and ensure that <b>SECRET HASH</b> is the same with the one on your Flutterwave dashboard" 173 174 msgstr "" 174 175 175 #: includes/class-flw-wc-payment-gateway.php:27 0176 #: includes/class-flw-wc-payment-gateway.php:273 176 177 msgid "Payment method title" 177 178 msgstr "" 178 179 179 #: includes/class-flw-wc-payment-gateway.php:27 2180 #: includes/class-flw-wc-payment-gateway.php:2 78180 #: includes/class-flw-wc-payment-gateway.php:275 181 #: includes/class-flw-wc-payment-gateway.php:281 181 182 msgid "Optional" 182 183 msgstr "" 183 184 184 #: includes/class-flw-wc-payment-gateway.php:27 6185 #: includes/class-flw-wc-payment-gateway.php:279 185 186 msgid "Payment method description" 186 187 msgstr "" 187 188 188 #: includes/class-flw-wc-payment-gateway.php:28 2189 #: includes/class-flw-wc-payment-gateway.php:285 189 190 msgid "Test Public Key" 190 191 msgstr "" 191 192 192 #: includes/class-flw-wc-payment-gateway.php:28 4193 #: includes/class-flw-wc-payment-gateway.php:287 193 194 msgid "Required! Enter your Flutterwave test public key here" 194 195 msgstr "" 195 196 196 #: includes/class-flw-wc-payment-gateway.php:2 88197 #: includes/class-flw-wc-payment-gateway.php:291 197 198 msgid "Test Secret Key" 198 199 msgstr "" 199 200 200 #: includes/class-flw-wc-payment-gateway.php:29 0201 #: includes/class-flw-wc-payment-gateway.php:293 201 202 msgid "Required! Enter your Flutterwave test secret key here" 202 203 msgstr "" 203 204 204 #: includes/class-flw-wc-payment-gateway.php:29 4205 #: includes/class-flw-wc-payment-gateway.php:297 205 206 msgid "Live Public Key" 206 207 msgstr "" 207 208 208 #: includes/class-flw-wc-payment-gateway.php:29 6209 #: includes/class-flw-wc-payment-gateway.php:299 209 210 msgid "Required! Enter your Flutterwave live public key here" 210 211 msgstr "" 211 212 212 #: includes/class-flw-wc-payment-gateway.php:30 0213 #: includes/class-flw-wc-payment-gateway.php:303 213 214 msgid "Live Secret Key" 214 215 msgstr "" 215 216 216 #: includes/class-flw-wc-payment-gateway.php:30 2217 #: includes/class-flw-wc-payment-gateway.php:305 217 218 msgid "Required! Enter your Flutterwave live secret key here" 218 219 msgstr "" 219 220 220 #: includes/class-flw-wc-payment-gateway.php:30 6221 #: includes/class-flw-wc-payment-gateway.php:309 221 222 msgid "Payment Style on checkout" 222 223 msgstr "" 223 224 224 #: includes/class-flw-wc-payment-gateway.php:3 08225 #: includes/class-flw-wc-payment-gateway.php:311 225 226 msgid "Optional - Choice of payment style to use. Either inline or redirect. (Default: inline)" 226 227 msgstr "" 227 228 228 #: includes/class-flw-wc-payment-gateway.php:31 0229 #: includes/class-flw-wc-payment-gateway.php:313 229 230 msgctxt "payment_style" 230 231 msgid "Popup(Keep payment experience on the website)" 231 232 msgstr "" 232 233 233 #: includes/class-flw-wc-payment-gateway.php:31 1234 #: includes/class-flw-wc-payment-gateway.php:314 234 235 msgctxt "payment_style" 235 236 msgid "Redirect" 236 237 msgstr "" 237 238 238 #: includes/class-flw-wc-payment-gateway.php:31 6239 #: includes/class-flw-wc-payment-gateway.php:319 239 240 msgid "Autocomplete Order After Payment" 240 241 msgstr "" 241 242 242 #: includes/class-flw-wc-payment-gateway.php:3 17243 #: includes/class-flw-wc-payment-gateway.php:320 243 244 msgid "Autocomplete Order" 244 245 msgstr "" 245 246 246 #: includes/class-flw-wc-payment-gateway.php:32 0247 #: includes/class-flw-wc-payment-gateway.php:323 247 248 msgid "If enabled, the order will be marked as complete after successful payment" 248 249 msgstr "" 249 250 250 #: includes/class-flw-wc-payment-gateway.php:32 5251 #: includes/class-flw-wc-payment-gateway.php:328 251 252 msgid "Payment Options" 252 253 msgstr "" 253 254 254 #: includes/class-flw-wc-payment-gateway.php:3 27255 #: includes/class-flw-wc-payment-gateway.php:330 255 256 msgid "Optional - Choice of payment method to use. Card, Account etc." 256 257 msgstr "" 257 258 258 #: includes/class-flw-wc-payment-gateway.php:3 29259 #: includes/class-flw-wc-payment-gateway.php:332 259 260 msgctxt "payment_options" 260 261 msgid "All" 261 262 msgstr "" 262 263 263 #: includes/class-flw-wc-payment-gateway.php:33 0264 #: includes/class-flw-wc-payment-gateway.php:333 264 265 msgctxt "payment_options" 265 266 msgid "Card Only" 266 267 msgstr "" 267 268 268 #: includes/class-flw-wc-payment-gateway.php:33 1269 #: includes/class-flw-wc-payment-gateway.php:334 269 270 msgctxt "payment_options" 270 271 msgid "Account Only" 271 272 msgstr "" 272 273 273 #: includes/class-flw-wc-payment-gateway.php:33 2274 #: includes/class-flw-wc-payment-gateway.php:335 274 275 msgctxt "payment_options" 275 276 msgid "USSD Only" 276 277 msgstr "" 277 278 278 #: includes/class-flw-wc-payment-gateway.php:33 3279 #: includes/class-flw-wc-payment-gateway.php:336 279 280 msgctxt "payment_options" 280 281 msgid "QR Only" 281 282 msgstr "" 282 283 283 #: includes/class-flw-wc-payment-gateway.php:33 4284 #: includes/class-flw-wc-payment-gateway.php:337 284 285 msgctxt "payment_options" 285 286 msgid "Mpesa Only" 286 287 msgstr "" 287 288 288 #: includes/class-flw-wc-payment-gateway.php:33 5289 #: includes/class-flw-wc-payment-gateway.php:338 289 290 msgctxt "payment_options" 290 291 msgid "Ghana MM Only" 291 292 msgstr "" 292 293 293 #: includes/class-flw-wc-payment-gateway.php:33 6294 #: includes/class-flw-wc-payment-gateway.php:339 294 295 msgctxt "payment_options" 295 296 msgid "Rwanda MM Only" 296 297 msgstr "" 297 298 298 #: includes/class-flw-wc-payment-gateway.php:3 37299 #: includes/class-flw-wc-payment-gateway.php:340 299 300 msgctxt "payment_options" 300 301 msgid "Zambia MM Only" 301 302 msgstr "" 302 303 303 #: includes/class-flw-wc-payment-gateway.php:3 38304 #: includes/class-flw-wc-payment-gateway.php:341 304 305 msgctxt "payment_options" 305 306 msgid "Tanzania MM Only" 306 307 msgstr "" 307 308 308 #: includes/class-flw-wc-payment-gateway.php:34 3309 #: includes/class-flw-wc-payment-gateway.php:346 309 310 msgid "Mode" 310 311 msgstr "" 311 312 312 #: includes/class-flw-wc-payment-gateway.php:34 4313 #: includes/class-flw-wc-payment-gateway.php:347 313 314 msgid "Live mode" 314 315 msgstr "" 315 316 316 #: includes/class-flw-wc-payment-gateway.php:34 6317 #: includes/class-flw-wc-payment-gateway.php:349 317 318 msgid "Check this box if you're using your live keys." 318 319 msgstr "" 319 320 320 #: includes/class-flw-wc-payment-gateway.php:35 1321 #: includes/class-flw-wc-payment-gateway.php:35 2321 #: includes/class-flw-wc-payment-gateway.php:354 322 #: includes/class-flw-wc-payment-gateway.php:355 322 323 msgid "Disable Logging" 323 324 msgstr "" 324 325 325 #: includes/class-flw-wc-payment-gateway.php:35 4326 #: includes/class-flw-wc-payment-gateway.php:357 326 327 msgid "Check this box if you're disabling logging." 327 328 msgstr "" 328 329 329 #: includes/class-flw-wc-payment-gateway.php:3 59330 #: includes/class-flw-wc-payment-gateway.php:36 0330 #: includes/class-flw-wc-payment-gateway.php:362 331 #: includes/class-flw-wc-payment-gateway.php:363 331 332 msgid "Disable Barter" 332 333 msgstr "" 333 334 334 #: includes/class-flw-wc-payment-gateway.php:36 2335 #: includes/class-flw-wc-payment-gateway.php:365 335 336 msgid "Check the box if you want to disable barter." 336 337 msgstr "" 337 338 338 339 #. translators: %s: url 339 #: includes/class-flw-wc-payment-gateway.php:453 340 #: includes/class-flw-wc-payment-gateway.php:456 341 #, php-format 340 342 msgid "Flutterwave is enabled, but the API keys are not set. Please <a href=\"%s\">set your Flutterwave API keys</a> to be able to accept payments." 341 343 msgstr "" 342 344 343 345 #. translators: %s: shop cart url 344 #: includes/class-flw-wc-payment-gateway.php:490 346 #: includes/class-flw-wc-payment-gateway.php:493 347 #, php-format 345 348 msgid "Sorry, your session has expired. <a href=\"%s\" class=\"wc-backward\">Return to shop</a>" 346 349 msgstr "" 347 350 348 #: includes/class-flw-wc-payment-gateway.php:50 4351 #: includes/class-flw-wc-payment-gateway.php:507 349 352 msgid "We were unable to process your order, please try again." 350 353 msgstr "" 351 354 352 #: includes/class-flw-wc-payment-gateway.php:5 79355 #: includes/class-flw-wc-payment-gateway.php:582 353 356 msgid "Order Payment" 354 357 msgstr "" … … 360 363 #. translators: $1. Minimum WooCommerce version. $2. Current WooCommerce version. 361 364 #: includes/notices/class-flw-wc-payment-gateway-notices.php:32 365 #, php-format 362 366 msgid "Flutterwave WooCommerce requires WooCommerce %1$s or greater to be installed and active. kindly upgrade to a higher version of WooCommerce or downgrade to a lower version of Flutterwave WooCommerce that supports WooCommerce version %2$s." 363 367 msgstr "" … … 365 369 #. Translators: %s Plugin name. 366 370 #: includes/views/html-admin-missing-woocommerce.php:15 371 #, php-format 367 372 msgid "%s requires WooCommerce to be installed and activated in order to serve updates." 368 373 msgstr "" -
rave-woocommerce-payment-gateway/trunk/includes/blocks/class-flutterwave-wc-gateway-blocks-support.php
r3027434 r3352725 51 51 require_once dirname( FLW_WC_PLUGIN_FILE ) . '/includes/class-flw-wc-payment-gateway.php'; 52 52 } 53 } 53 54 54 $this->gateway = new FLW_WC_Payment_Gateway(); 55 } else { 56 $gateways = WC()->payment_gateways->payment_gateways(); 57 $this->gateway = $gateways[ $this->name ]; 58 } 55 $this->gateway = new FLW_WC_Payment_Gateway(); 59 56 } 60 57 … … 71 68 return false; 72 69 } 70 71 $this->gateway = $gateways[ $this->name ]; 73 72 } 74 73 -
rave-woocommerce-payment-gateway/trunk/includes/class-flutterwave.php
r3220062 r3352725 19 19 * @var string 20 20 */ 21 public string $version = ' 2.3.6';21 public string $version = '3.1.0'; 22 22 23 23 /** -
rave-woocommerce-payment-gateway/trunk/includes/class-flw-wc-payment-gateway.php
r3220062 r3352725 26 26 require_once __DIR__ . '/client/class-flw-wc-payment-gateway-request.php'; 27 27 require_once __DIR__ . '/client/class-flw-wc-payment-gateway-sdk.php'; 28 require_once __DIR__ . '/util/class-flutterwave-logger.php'; 28 29 29 30 use Flutterwave\WooCommerce\Client\Flw_WC_Payment_Gateway_Request; 30 31 use Flutterwave\WooCommerce\Client\FLW_WC_Payment_Gateway_Sdk as FlwSdk; 31 32 use FLW_WC_Payment_Gateway_Event_Handler as FlwEventHandler; 33 use Flutterwave\WooCommerce\Util\Flutterwave_Logger; 32 34 33 35 /** … … 93 95 * Logger 94 96 * 95 * @var WC_Logger the logger96 */ 97 private WC_Logger $logger;97 * @var Flutterwave_Logger the logger 98 */ 99 private Flutterwave_Logger $logger; 98 100 /** 99 101 * Flutterwave Sdk … … 205 207 } 206 208 207 $this->sdk = new FlwSdk( $this->secret_key, self::$log_enabled ); 209 $this->logger = Flutterwave_Logger::instance(); 210 $this->sdk = new FlwSdk( $this->secret_key, self::$log_enabled ); 208 211 209 212 add_action( 'wp_enqueue_scripts', array( $this, 'payment_scripts' ) ); … … 594 597 */ 595 598 public function flw_verify_payment() { 596 $public_key = $this->public_key; 597 $secret_key = $this->secret_key; 598 $logging_option = $this->logging_option; 599 $sdk = $this->sdk; 599 $sdk = $this->sdk; 600 600 601 601 if ( ! isset( $_GET['_wpnonce'] ) && ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_GET['_wpnonce'] ) ) ) ) { 602 602 if ( isset( $_GET['status'] ) && 'cancelled' === $_GET['status'] ) { 603 $this->logger->info( 'transaction cancelled by the customer.' ); 603 604 $sdk->set_event_handler( new FlwEventHandler( $order ) )->cancel_payment( $txn_ref ); 604 605 header( 'Location: ' . wc_get_cart_url() ); … … 614 615 615 616 if ( isset( $_GET['status'] ) && 'cancelled' === $_GET['status'] ) { 617 $this->logger->info( 'transaction cancelled by the customer.' ); 616 618 $sdk->set_event_handler( new FlwEventHandler( $order ) )->cancel_payment( $txn_ref ); 617 619 header( 'Location: ' . wc_get_cart_url() ); … … 631 633 */ 632 634 public function flutterwave_webhooks() { 633 $public_key = $this->public_key; 634 $secret_key = $this->secret_key; 635 $logging_option = $this->logging_option; 636 $sdk = $this->sdk; 635 $sdk = $this->sdk; 637 636 638 637 $event = file_get_contents( 'php://input' ); … … 648 647 649 648 if ( ! $signature ) { 649 $this->logger->info( 'Faudulent Webhook Notification Attempt [Access Redirected]' ); 650 650 // redirect to the home page. 651 651 wp_safe_redirect( home_url() ); … … 656 656 657 657 if ( $signature !== $local_signature ) { 658 $this->logger->info( 'Faudulent Webhook Notification Attempt [Access Restricted]' ); 658 659 wp_send_json( 659 660 array( … … 666 667 667 668 http_response_code( 200 ); 669 $this->logger->info( 'Webhook recieved: ' . $event ); 668 670 $event = json_decode( $event ); 669 671 … … 679 681 680 682 if ( 'test_assess' === $event->event ) { 683 $this->logger->info( 'Flutterwave Webhook Testing Successful.' ); 681 684 wp_send_json( 682 685 array( … … 696 699 // check if transaction reference starts with WOOC on hpos enabled. 697 700 if ( substr( $event_data->tx_ref, 0, 4 ) !== 'WOOC' ) { 701 $this->logger->info( 'Attempt to verifiy a transaction not produced by the merchants store.' ); 698 702 wp_send_json( 699 703 array( -
rave-woocommerce-payment-gateway/trunk/includes/client/class-flw-wc-payment-gateway-sdk.php
r2988222 r3352725 23 23 24 24 require_once __DIR__ . '/class-flw-wc-payment-gateway-client.php'; 25 require_once __DIR__ . '/../util/class-flutterwave-logger.php'; 25 26 26 27 /** -
rave-woocommerce-payment-gateway/trunk/rave-woocommerce-payment-gateway.php
r3220062 r3352725 4 4 * Plugin URI: https://developer.flutterwave.com/ 5 5 * Description: Official WooCommerce payment gateway for Flutterwave. 6 * Version: 2.3.66 * Version: 3.1.0 7 7 * Author: Flutterwave Developers 8 8 * Author URI: http://flutterwave.com/us -
rave-woocommerce-payment-gateway/trunk/readme.txt
r3220062 r3352725 4 4 Requires at least: 3.1 5 5 Tested up to: 6.7.1 6 Stable tag: 2.3.66 Stable tag: 3.1.0 7 7 License: MIT 8 8 License URI: https://github.com/Flutterwave/Woocommerce/blob/master/LICENSE … … 12 12 == Description == 13 13 14 Accept Credit card, Debit card and Bank account payment directly on your store with the official Flutterwave Plugin for WooCommerce. 14 Accept Credit card, Debit card and Bank account payment directly on your store with the official Flutterwave Plugin for WooCommerce. This plugin supports WooCommerce Version 6.9 or greater. For WooCommerce Version 6.8 or lower please install Flutterwave WooCommerce Version (2.3.6 or lower) of the plugin [here](https://wordpress.org/plugins/rave-woocommerce-payment-gateway/advanced/) at the section update advanced options. 15 15 16 16 = Plugin Features = … … 23 23 24 24 1. Flutterwave for business [API Keys](https://developer.flutterwave.com/docs/integration-guides/authentication) 25 2. [WooCommerce](https://woocommerce.com/) 25 2. [WooCommerce](https://woocommerce.com/) version: >= 6.9 26 26 6. Supported PHP version: 7.4.0 - 8.1.0 27 27
Note: See TracChangeset
for help on using the changeset viewer.