Store plugins
Take Biftpay payments in your online store without writing code. Customers choose Biftpay at checkout and pay on Biftpay's secure page by card or bank transfer. Orders are marked paid when Biftpay confirms the money, including bank transfers that arrive after the customer has left your site.
| Platform | Status |
|---|---|
| WooCommerce (WordPress) | Download for WooCommerce (version 1.0.1) |
| Magento 2 / Adobe Commerce | Download for Magento (version 1.1.0) |
| PrestaShop | Download for PrestaShop (version 1.1.0) |
Testing in the Biftpay sandbox? The plugins connect to
https://api.biftpay.comunless you say otherwise. If your test key comes from the sandbox dashboard (sandbox.app.biftpay.com), set API URL tohttps://sandbox.api.biftpay.comin the plugin's settings and save. In WooCommerce it's under Advanced; in Magento and PrestaShop it's with the other Biftpay settings. Leave it empty for your live store.
WooCommerce#
Works with WordPress 6.2 or newer and WooCommerce 7.0 or newer (tested with WordPress 7.1 and WooCommerce 11.2), with both the classic and the block checkout. Your store's currency must be NGN or USD.
Install#
- Download the plugin.
- In WordPress, go to Plugins → Add New Plugin → Upload Plugin, choose the zip and click Install Now, then Activate.
- Go to WooCommerce → Settings → Payments → Biftpay.
- Tick Enable, leave Test mode on, paste your test secret key (
bp_test_..., from Developers → API keys in your Biftpay dashboard) and click Save changes.
When you save, the plugin adds your store's webhook endpoint to Biftpay and stores its signing secret for you. That needs your site on HTTPS. If it can't (or you'd rather do it yourself), add the webhook URL shown under the setting in Developers → Webhooks and paste the signing secret (whsec_...) into the plugin.
Try it#
Place an order on your store and choose Biftpay. You'll be sent to Biftpay's checkout: pay with a test card or a test transfer. You come back to the order confirmation page, and the order moves to Processing.
Go live#
Once Biftpay has approved your business (see Going live), paste your live secret key (bp_live_...), untick Test mode and save. A live webhook endpoint is added the same way.
What the plugin does (WooCommerce)#
- Paying: each order gets a Biftpay payment with the order total and your customer's email. The order is marked paid only when Biftpay confirms it (a signed webhook, or a check with Biftpay when the customer comes back), never from the redirect alone.
- Bank transfers that take a while: the order waits On hold and is marked paid when the money lands.
- Refunds: refund from the order screen in WooCommerce (full or partial). The money goes back the way the customer paid.
- Fees: who pays Biftpay's fee follows your setting in the Biftpay dashboard (Settings).
- Logs: turn on Debug log in the plugin's settings, then see WooCommerce → Status → Logs (source
biftpay). Keys and secrets are never logged.
Magento 2#
For Magento Open Source, Adobe Commerce and Mage-OS 2.4 (tested with Mage-OS 3.5, which is Magento 2.4.8). Your store's currency must be NGN or USD.
Install#
- Download the module and unzip it in your Magento root folder. It creates
app/code/Biftpay/Payment. - From the Magento root, run:
bin/magento module:enable Biftpay_Payment
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento setup:static-content:deploy
bin/magento cache:flush(The two setup: lines in the middle are only needed in production mode.)
Set up#
- Go to Stores → Configuration → Sales → Payment Methods → Biftpay.
- Set Enabled to Yes, leave Test mode on and paste your test secret key (
bp_test_...). - Leave the webhook signing secrets empty and click Save Config. The module adds your store's webhook endpoint to Biftpay and saves its signing secret for you. That needs your store on HTTPS. If it can't, the message says why; you can add the URL shown under the setting (
https://your-store/biftpay/webhook/index) in Developers → Webhooks and paste the signing secret (whsec_...) into Magento yourself.
Place a test order and pay with a test card: the order moves from Pending Payment to Processing, with an invoice. To go live, paste your live key, set Test mode to No and save: a live webhook endpoint is added the same way.
What the module does#
- Paying: Place Order creates the order in Pending Payment and sends the customer to Biftpay's checkout. The order is invoiced only when Biftpay confirms the payment (a signed webhook, or a check with Biftpay when the customer comes back). If the customer comes back without paying, their cart is restored so they can try again.
- Bank transfers that take a while: the order stays in Pending Payment and is invoiced when the money lands.
- Refunds: open the invoice, create a Credit Memo and click Refund (not "Refund Offline"). Full or partial.
- Logs: set Debug log to Yes and see
var/log/biftpay.log. Keys and secrets are never logged.
PrestaShop#
For PrestaShop 1.7.8, 8 and 9 (tested with PrestaShop 8.2). Your shop's currency must be NGN or USD.
Install#
- Download the module.
- In your back office, go to Modules → Module Manager → Upload a module and drop in the zip. Then click Configure.
Set up#
- Paste your test secret key (
bp_test_...) and leave Test mode on. - Leave the webhook signing secrets empty and click Save. The module adds your shop's webhook endpoint to Biftpay and saves its signing secret for you. That needs your shop on HTTPS. If it can't, the message says why; you can add the URL shown under the setting (
https://your-shop/module/biftpay/webhook) in Developers → Webhooks and paste the signing secret (whsec_...) into PrestaShop yourself. - Under Payment → Preferences, check Biftpay is allowed for your currency and countries.
Place a test order and pay with a test card: the order moves from Awaiting Biftpay payment to Payment accepted. To go live, paste your live key, turn off Test mode and save: a live webhook endpoint is added the same way.
What the module does#
- Paying: the order is placed as Awaiting Biftpay payment and the customer goes to Biftpay's checkout. It's marked Payment accepted only when Biftpay confirms the payment (a signed webhook, or a check with Biftpay when the customer comes back). If the customer comes back without paying, they can try again from the same order.
- Bank transfers that take a while: the order stays Awaiting Biftpay payment and moves on when the money lands.
- Refunds: on the order page, use Partial refund or Standard refund. The credit slip's amount is refunded to the customer through Biftpay (you can turn this off in the module's settings).
- Logs: turn on Debug log and see Advanced Parameters → Logs. Keys and secrets are never logged.