WP Manifestindependent plugin directory
manifest / ecommerce / woocommerce-pesapal

Woocommerce Pesapal Payment Gateway WP Registry grade F. Critical findings · 2 findingsWP RegistryCritical findings · 2 findingsOpen the reportF

Pesapal payment gateway for Woocommerce

★ 13stars
2.1.0latest · 8 years ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/jakeii/woocommerce-pesapal/archive/refs/heads/master.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Pesapal Plugin for Woocommerce - Version 2.1.1

Simple and easy to use plugin for pesapal.com payment gateway.

Please raise any issues though github, thanks.

If you like this plugin consider donating a few bob for a coffee :)

Requirements

Same as Woocommerce 3+. Namely:

  • Wordpress 3.3+
  • Woocommerce 3+
  • PHP 5.2.4+
  • MySQl 5.0+

Installation

Install from the wordpress plugin repository at https://wordpress.org/plugins/pesapal-for-woocommerce/

OR

  • Clone the repo or download the zip and copy the woocommerce-pesapal directory to the /wp-content/plugins directory of your wordpress installation.
  • Enable the plugin in Wordpress.
  • Enter your consumer and secret key in the Payment Gateway section of the Woocommerce settings page.
  • Enable the gateway.
  • Test before production!

Note

Not using an iframe has been disabled/removed because it causes to much trouble.

It is recommend that you enable IPN in the plugins settings page, as there are some issues with checking periodically for order updates.

Licence

Copyright © 2012 Jake Lee Kennedy, Licensed under GPLv3

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 3, as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USAv

Releases

2 releases.

Tag
Published
2.1.0 latest
Jan 27, 2018 8 years ago
Dec 30, 2017 8 years ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.

F grade

Security

Woocommerce Pesapal Payment Gateway 2.1.0 · audited by WP Registry

Critical findings.

1 critical 1 medium
Audited release
2.1.0
Findings
2
Worst severity
critical
Content hash
3cc1edcbef46a8026e5d0469…

Findings

  • critical Payment confirmation mismatch on thank-you page

    auth_bypass

    thankyou_page loads transaction details using pesapal_merchant_reference and pesapal_transaction_tracking_id from $_GET, then if status === COMPLETED calls $order->payment_complete() on the thank-you $order_id without asserting that the merchant reference equals this order ID (or that paid amount matches). A customer with two orders can pay a cheap order and replay its Pesapal GET parameters on the expensive order's order-received URL to mark it paid.

    gateway.php:323-360

    Recommendation

    Require (string)$pesapalMerchantReference === (string)$order_id (or stored reference), verify paid amount/currency against the order total, and ignore GET status unless it matches the server-side Pesapal query for that same reference. Prefer IPN/background verification only.

  • medium TLS certificate verification disabled for Pesapal API calls

    insecure_config

    curlRequest sets CURLOPT_SSL_VERIFYPEER to 0 when querying payment status/details. A network attacker can MITM Pesapal responses and influence COMPLETED/FAILED decisions used by IPN and thank-you flows.

    gateway.php:635-643

    Recommendation

    Enable CURLOPT_SSL_VERIFYPEER (and VERIFYHOST) and use WP HTTP API with sslverify true.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.