Skip to content

Feature: Paystack version 3.0#1

Merged
jonwaldstein merged 23 commits intomasterfrom
feature/paystack-version-3
Sep 24, 2025
Merged

Feature: Paystack version 3.0#1
jonwaldstein merged 23 commits intomasterfrom
feature/paystack-version-3

Conversation

@jonwaldstein
Copy link

@jonwaldstein jonwaldstein commented Sep 5, 2025

Resolves GIVE-2684

Description

Introducing Give Paystack version 3.0!

This plugin has been completely updated to support the latest version of GiveWP (4.0+). This means the plugin can now be used with campaigns, option-based forms and the visual form builder. Later we can also introduce recurring donations via the Gateway API.

In order to preserve backwards compatibility, the following has remained the same:

  • API Settings
  • Transaction reference syntax
  • Transaction meta
  • V2 form billing address fields

For existing customers, they will really just get the benefit of this plugin working again as it's been abandoned for quite some time and not up to date with GiveWP.

Affects

The affects the entire plugin 😏

Visuals

https://www.loom.com/share/f34327884748459cb5e453fc55d46e4e?sid=155d86bd-87a0-4780-9a41-d580f0f7d916

Screenshot 2025-09-05 at 12 29 36 PM Screenshot 2025-09-05 at 12 29 57 PM

Testing Instructions

ZIP: https://github.com/impress-org/give-paystack-gateway/actions/runs/17646529453

First you'll need a Paystack account

  • Create an account here and just say you're from Ghana 😏
  • Once you're setup you can grab api keys in the dashboard settings

Test with GiveWP

  • Install GiveWP 4.0+ & Install this plugin
  • Set GiveWP settings to use an African currency like Ghana and Enter API keys & enable Paystack gateway on v2 and v3 forms
  • Donate via v2 and v3 forms
  • For v2 forms try enabling the billing fields and confirm they show up and are stored in the donation record
  • Make sure the transaction goes through successfully
  • Make sure the admin is linking to the proper transaction

Test updating to this version

  • Install the previous plugin from .org
  • Fill in the settings
  • Then update to this version
  • Make sure settings are still valid

Pre-review Checklist

  • Acceptance criteria satisfied and marked in related issue
  • Relevant @unreleased tags included in DocBlocks
  • Includes unit tests
  • Reviewed by the designer (if follows a design)
  • Self Review of code and UX completed

Copy link

@glaubersilva glaubersilva left a comment

Choose a reason for hiding this comment

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

@jonwaldstein Great work! It's working well to create one-time donations. However, I noticed a few things we need to fix on the codebase and left a few comments about them, and I also noticed an inconsistency with the currency setup.

I did set up the Ghana cedi (₵) currency on the GiveWP settings. So, I can see in V2 forms values like this ₵ 100 in the form levels and goals. However, for V3 forms, it's displayed like GHS 100 instead. In the WP admin area, all donations are displayed in GHS.

image image image

@jonwaldstein
Copy link
Author

@glaubersilva thanks for the review! all comments have been addressed and ready for re-review 🪇

@glaubersilva
Copy link

@jonwaldstein I'm still seeing the V2 forms displaying ₵ 100 and V3 forms displaying GHS 100 for the same currency, like in these screenshots: #1 (review)

@jonwaldstein
Copy link
Author

@glaubersilva Ah yeah, that's because v3 forms uses the browser to format the currency and v2 forms uses the currency symbol defined in the server's currency list.

I'm honestly okay with v2 looking different as currency formatting is handled differently between the forms. The good news is people can easily modify those symbols through the filter if need be.

Copy link

@glaubersilva glaubersilva left a comment

Choose a reason for hiding this comment

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

@jonwaldstein Thanks for the clarification and great work! This is ready to QA! 🚀

Copy link
Member

@rickalday rickalday left a comment

Choose a reason for hiding this comment

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

Passed QA tests.

@jonwaldstein jonwaldstein merged commit d4821c1 into master Sep 24, 2025
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants