14 May 2018 Edited #1

BankPipe beta 8

Administrator
BankPipe is an advanced and automated payments manager powered by Omnipay. You can create subscriptions with a wide range of custom options or monetize attachments singularly by setting their prices.

Minimum requirements


PHP 7.1
MyBB 1.8.0
PluginLibrary

To install and configure BankPipe, read BankPipe documentation


Features


Powered by Omnipay


BankPipe's core functionalities are powered by Omnipay, a multi-gateway payments processing library. At present time, BankPipe accepts PayPal and Coinbase, a cryptocurrency exchange which supports Bitcoin, Bitcoin Cash, USD Coin, Ethereum and Litecoin.

CALENDAR Integration with Stripe for credit card payments is planned.

Subscriptions


Subscriptions, a popular feature seen in similar plugins, are regularly embedded within BankPipe and come with a wide range of options:
- destination usergroup(s): usergroup(s) which users will be assigned to when purchasing a subscription. You can select multiple usergroups;
- usergroup changing mode: if users' primary or additional usergroups will be changed upon subscribing;
- expiration days: amount of days for the subscription to last. Can be set to infinity;
- expiration usergroup: usergroup to which users will be assigned when the subscription expires;
- allowed usergroups: usergroups allowed to buy each subscription;
- discount: a percentage-based discount if an user has already bought a lowered-priced subscription.

Attachments monetization


One of BankPipe's flagships is its ability to handle single-item purchases by hijacking into MyBB's core attachments system. Each attachment can be monetized individually by simply setting a price. Selected usergroups you can choose are allowed to add their own PayPal address and earn from their own attachments, or contribute to the board's wallet(s) instead. Coinbase currently does not allow users wallets to be loaded.

You can control paid attachments download permissions by usergroup, by forum or both.

When attachments are updated, they inherit the payments' informations. If the name of the attachment differs, MyBB typically uploads a new attachment; in order to update a paid item with a differently-named attachment, check the "Update" radio button while uploading a new attachment: the old one will be deleted and the new one will inherit the old one's paid informations.

WARNING SIGN Attachments monetization requires proper permissions for both users and forums.

Promo codes system


Promo codes (aka discounts) are an exclusive feature of BankPipe. You can set up promo codes with various options, including type (percentage or absolute value), expiry date, permissions to use codes by user, usergroup and/or item, whether the code is "stackable" with other promo codes or not and a usage cap limit per code. Stackable codes can be added alongside other codes, whereas non-stackable codes are meant to be used singularly.

WARNING SIGN Validated codes are temporarily stored in the user's browser as cookies, until the purchase is cleared successfully or codes are removed manually.

Expiry notifications


You can set an unlimited amount of notifications sent either through PM or email to users whom subscriptions are about to expire or are already expired. This functionality uses MyBB's internal tasks system to automatically process expiring subscriptions and deliver notifications. You can also specify multiple BCC recipients to deliver expiry notifications.

Refunds


Refunds can be issued by administrators from BankPipe's Payments history panel. Only payments with a valid sale ID can be refunded. You can choose how much you want to refund per every payment. A refunded item is handled same way as an expired one.

WARNING SIGN Coinbase payments do not hold any sale and cannot be refunded at the moment. A workaround is under evaluation.

Webhooks support


From beta 6 onwards, BankPipe is able to listen actively to responses generated by gateways upon performing any action on their behalf. This is particularly useful for pending payments, which are always occurring with cryptocurrencies and seldom with certain PayPal configurations. Pending payments are handled automatically when approved or rejected.

CALENDAR This feature opens up the possibility to add recurring payments in a future update.

Manual subscribing


A subscribing tool is available for administrators willing to process payments manually, for example to migrate from another payments management plugin. You can set the subscription's starting and expiring date, alongside the target and expiry usergroup. Users can be selected one by one using an autocomplete field or you can choose one or more usergroups to mass subscribe.

Logging system


BankPipe logs every internal action and displays the logs in a convenient fashion within the Admin Control Panel. Logs are stored separately from the actual payments and can be deleted safely if you desire.

BankPipe also stores a complete log of paid item downloads. This feature lets you filter out those who might benefit from a refund and those who do not, depending on your own internal policy.

Required fields


You can set up required fields to be filled right before a purchase; to do so, add a coma-separated list of field name(s) you want to be filled in the correct BankPipe's setting, then head over your bankpipe_cart* templates and add the field(s)' HTML wherever you want them to appear; they will be sent along the necessary data to purchase items, and they will be validated accordingly.

Let's say you want your users to check they have read a field named "agreement". After you have added it to your settings, the following piece of HTML code suffices:

<label><input type="checkbox" name="agreement" value="1" /> I have read the refund policy</label>
You can add any HTML form input you can imagine. Selects, radios, textboxes and textareas are fine as long as you reference them with the correct "name" attribute.

Got a question/issue?


If you encounter issues configuring providers or setting up BankPipe, feel free to open a support thread here on MyBBoost. Since I study a pretty hard university, I don't have much spare time to dedicate to support questions, but I will always provide the support you need as soon as possible. I usually reply within a day.

Demo


Despite a different UI, BankPipe is running smoothly here on MyBBoost. If you are purchasing BankPipe, you are also experiencing itself.

Previews


[Image: NcKdvca.png]

[Image: hiCNboD.png]

[Image: DLAAF1e.png]

[Image: 3FnnXPb.png]

[Image: JfsvWvE.png]

[Image: ETE3bxJ.png]

[Image: mu3bOZ3.png]

[Image: WwAC6x6.png]

Availability


An Ultimate subscription is required to download BankPipe (click here to subscribe). Alternatively, you can perform a single purchase by adding the item to your cart and checkout at a later date. You can purchase using PayPal or several cryptocurrencies. Every successful payment lasts forever and may be refunded within 30 days if you are not satisfied.

Before purchasing or subscribing, read the End-User License Agreement (EULA).
Filename Size Downloads
BankPipe beta 8.zip
1.12 MB 13
Harry K., andrewjs18, iso like this post
Shade 21 Jun 2018 Edited
#2

BankPipe beta 2 is out


This is a feature and bugfix release.

BUG Manually added subscribers do not benefit from discounts for higher priced subscriptions, if available. Reported by kawaii
BUG Missing delete controls for notifications and subscriptions. Reported by andrewjs18
BUG Prices of existing payments do not hold original value when changing subscription or item price
BUG Warning - [2] 'max(): Array must contain at least one element' when no notifications are set
BUG Minor typos and bugfixes
SQUARED NEW Send notification to certain users, typically admins, when a subscription or item is purchased. Requested by andrewjs18
SQUARED NEW Sorting functionality to filter payments in the ACP by username or dates
SQUARED NEW Total revenue statistic in payments panel with filtering support

Before updating the package, ensure you have a backup of your existing files and database. To update, download and overwrite the old files with the new ones, open your Admin Control Panel and run the upgrade script when asked. Running the upgrade script is mandatory as some functionalities depend on database changes performed during the update.

The beta testing phase continues. I shall remember that everyone – even those who haven't yet access to BankPipe – can request new functionalities which are evaluated and eventually added in future updates.
Harry K. and tzar like this post
Shade 21 Jul 2018 Edited
#3

BankPipe beta 3 is out


This is a feature and bugfix release.

BUG PHP 7.2 incompatibilities lead to warnings when browsing the ACP module. Reported by andrewjs18
BUG Minor typos and bugfixes with improved stability
SQUARED NEW Cart mode with multiple attachments support
SQUARED NEW Require custom fields to be filled before purchasing a subscription. Requested by andrewjs18
SQUARED NEW Coupon system with ability to set an expiry date for discounts and much more with fine-grain tuning. Requested by Harry K.
SQUARED NEW Paid download logs. Requested by Harry K.
SQUARED NEW Storing buyer's country in database. Requested by WallBB

Before updating the package, ensure you have a backup of your existing files and database. To update, download and overwrite the old files with the new ones, open your Admin Control Panel and run the upgrade script when asked. Running the upgrade script is mandatory as some functionalities depend on database changes performed during the update.

This release changes some templates and adds some. A patch file is available below; you can view the differences between beta 2 and beta 3 by using an online tool, or your preferred git manager.

The beta testing phase continues. Please check BankPipe development for updates on planned functionalities and bugfixes and keep on reporting bugs and issues and to request functionalities.
Filename Size Downloads
12.95 KB 2
Shade 23 Jul 2018 Edited
#4

BankPipe beta 4 is out


This is a hotfix release following Harry K.'s helpful testing.

BUG SQL error when attempting to create a payment due to a table column not being correctly updated in installation routines
BUG SQL error when upgrading due to typo
BUG Subscriptions not created correctly if Destination usergroup is set to "Inherit user's primary group", which has been removed
BUG Code cleanup
SQUARED NEW Discount code titles for better readability to the end user

Before updating the package, ensure you have a backup of your existing files and database. To update, download and overwrite the old files with the new ones, open your Admin Control Panel and run the upgrade script when asked. Running the upgrade script is mandatory as some functionalities depend on database changes performed during the update.

This release changes 1 template. A patch file is available below; you can view the differences between beta 3 and beta 4 by using an online tool, or your preferred git manager.

The beta testing phase continues. Please check BankPipe development for updates on planned functionalities and bugfixes and keep on reporting bugs and issues and to request functionalities.
Filename Size Downloads
431 bytes 2
Shade 20 Mar
#5

PUBLIC ADDRESS LOUDSPEAKER BankPipe beta 6 is out


I am proud to announce that the sixth beta of BankPipe is now available. This version mainly features a code rewrite from the ground up. This release is marked as beta 6 despite beta 5 has never been officially released; the leap is meant to cover the few who have tested beta 5 privately.

FIRE Code rewrite and new gateway processor


A huge effort has been put into refactoring the whole codebase to comply with an OOP structure. This allows for greater maintainability and flexibility towards third party plugins willing to use BankPipe's functionalities. PayPal Express Checkout, which powered all previous betas, has been replaced by Omnipay, a multi-gateway payments processor library. Although PayPal remains the only supported gateway, this change allows for new gateways to be added in future updates, such as Stripe (credit cards) and BitPay (cryptocurrencies).

ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS Webhooks support


Webhooks are now supported, which means BankPipe can automatically process payments marked as pending by PayPal for whatever reason. Once the merchant accepts or declines pending payments, the buyer is automatically granted access to the resource of interest.

BLOSSOM New ACP features


Logs and payment details have been refactored with a more intuitive and informations-rich interface. Logs are grouped by order rather than being sparse, while payments now list the status, date of purchase, fee and other useful informations.

Manually subscribed users are now listed in the payments section and marked as such in every single payment details page. This feature was suggested here: show manually subscribed users in payment history.

MyBB hooks support


Hooks have been added in strategic places throughout the whole codebase to give third party plugins easy access to BankPipe's functionalities. Refer to BankPipe documentation to see the available hooks with their exact names, files, lines and arguments available.

Other notable changes and fixes


SQUARED NEW CC in pms sent
SQUARED NEW buyers are now redirected to a "thank you" page, which you can style by editing bankpipe_purchases_payment template. This feature has been suggested in modularity/features
SQUARED NEW admins can now override the default merchant account on a per-subscription basis. This feature has been suggested in allow more than 1 paypal account
BUG notification PM issues

Critical changes


The following list of critical changes have been applied:
WARNING SIGN minimum requirement is now PHP 7.1
WARNING SIGN logs other than successful and genuine payments are deleted upon upgrading due to changes in the logging system
WARNING SIGN PayPal Pay Now button has now been replaced by a standard, customizable button. It is your responsibility to style it according to PayPal's policy, as they might require a clear reference to their brand

Upgrading to beta 6


The upgrade process is straightforward:
KEYCAP 1 delete /inc/plugins/BankPipe and /bankpipe folders
KEYCAP 2 upload the new version maintaining the same folder structure as in the release package
KEYCAP 3 run the upgrade script when asked in the ACP.

This release changes all templates and adds 1 new. A patch file is available below; you can view the differences between beta 4 and beta 6 by using an online tool, or your preferred git manager.

The beta testing phase continues. Please check BankPipe development for updates on planned functionalities and bugfixes and keep on reporting bugs and issues and requesting functionalities.
Filename Size Downloads
34.85 KB 1
Shade 2 Aug Edited
#6

PUBLIC ADDRESS LOUDSPEAKER BankPipe beta 7 is out


The seventh beta of BankPipe is now available. This version focuses on cryptocurrencies and multiple gateways support, while fixing all the reported bugs of beta 4 and beta 6.

MONEY BAG Cryptocurrencies support


Cryptocurrencies are now supported through Coinbase Commerce, a well known exchange service. Cryptos supported at the moment of writing this post are Bitcoin, Bitcoin Cash, USD Coin, Ethereum and Litecoin. A comprehensive tutorial on how to set up a Coinbase application and start receiving crypto payments has been added to BankPipe documentation.

This feature has been requested by Harry K. and day-day.

Other notable changes and fixes


BUG fixed Plugin fails to install on PostgreSQL. Special thanks to kawaii for the extensive testing sessions
BUG fixed merging 2 accounts, possible bug in beta 5. Reported by andrewjs18
BUG fixed a bug which prevented subscriptions editing in the ACP. Reported by Serpius
BUG fixed popup overlay not disappearing when closing payment window in Firefox. Reported by andrewjs18
BUG fixed a series of minor bugs which did not affect functionalities, but styling
SQUARED NEW a notification is now sent to the buyer upon payment approval alongside the already available notifications for admins and merchants
SQUARED NEW a notification is now sent to the buyer if the transaction fails for any reason
SQUARED NEW permitted users can now monetize their attachments without having personal wallet(s) set. The board's default wallet(s) will be used instead, contributing as a "collective"
SQUARED NEW all payments are now routed to the cart, which has been made permanent. This ensures consistency and a standardized place where to check out items, no matter the type, and simplifies existing and future third party plugins integrations
SQUARED NEW the popup now alerts the user if he is using a popup blocker which prevents BankPipe to open secure payment channels to the gateways

Critical changes


WARNING SIGN Cart mode has been made permanent and the option does not exist anymore
WARNING SIGN Webhook URL for PayPal has changed. The new syntax is:
- https://YOURBOARDURL/bankpipe.php?action=webhooks&gateway=PayPal
WARNING SIGN The popup general behavior has been made more consistent. For the new popup to work, bankpipe_script template has to be updated accordingly. This is performed automatically if you haven't customized the template; otherwise, ensure you have upgraded the template manually before using BankPipe

Note the &gateway=PayPal addition. Adjust the webhook URL in your PayPal application whilst upgrading.

Upgrading to beta 7


Make a backup of both your files and database before upgrading. The upgrade process is straightforward:
KEYCAP 1 delete /inc/plugins/BankPipe and /bankpipe folders
KEYCAP 2 upload the new version maintaining the same folder structure as in the release package
KEYCAP 3 run the upgrade script when asked in the ACP.

This release changes a lot of templates, removes and adds a few. A patch file is available below; you can view the differences between beta 6 and beta 7 by using an online tool, or your preferred git manager.

The beta testing phase continues. Please check BankPipe development for updates on planned functionalities and bugfixes and keep on reporting bugs and issues and requesting functionalities.
Filename Size Downloads
16.9 KB 1
Shade 22 Nov Edited
#7

PUBLIC ADDRESS LOUDSPEAKER BankPipe beta 8 is out


The eighth beta of BankPipe is now available. This version focuses on community suggestions, bringing adjustments and extras to existing features, while fixing reported bugs from beta 7.

Notable changes and fixes


SQUARED NEW separate subscriptions page. Requested by ProX in Some ideas/suggestions
SQUARED NEW username filtering in payment history can now include substrings (eg.: "sh" will match "shade", "shenanigans", "ambushes")
SQUARED NEW add total revenue in Payments logs. Requested by andrewjs18 in revenue
SQUARED NEW "gift to user" option. Requested by ProX in Some ideas/suggestions
SQUARED NEW Add to an additional usergroup function. Requested by day-day
SQUARED NEW Hide a usergroup until user is already in X usergroup?. Requested by day-day
SQUARED NEW add "Fast checkout" option to add an item to the cart and quickly jump to it. Requested by ProX in Some ideas/suggestions
SQUARED NEW Limit promo codes usage. Requested by Fanatica Greats
SQUARED NEW revamped, more professional cart look
BUG ONLY_FULL_GROUP_BY is enabled in newer MySQL versions, breaking certain pages. Reported by ZIZ in MySQL ONLY_FULL_GROUP_BY option breaks BankPipe
BUG fixed Error when merging 2 user accounts
BUG fixed date format stuck to European format dd/mm/yyyy which would cause troubles for US-style date formats (mm/dd/yyyy). Reported by Fanatica Greats in Subcriptions Problem
BUG fixed an issue with PayPal's webhooks which logged an error with successful payments due to ID not being matched against the correct database field

Critical changes


WARNING SIGN subscriptions page has been moved from the UCP to a standalone page. The link has changed from usercp.php?action=subscriptions&env=bankpipe to bankpipe.php. Change your links accordingly.
WARNING SIGN in order to use the new Fast checkout option, you must alter your templates accordingly. Detailed instructions have been added to BankPipe documentation, under the Installation chapter, step KEYCAP 2
WARNING SIGN bankpipe_subscriptions* templates have been changed to accomodate the page shift. If you have customized those templates, you have to apply the changes manually. Specifically, you must remove every $this-> reference. For example, $this->mybb becomes $mybb, $this->lang becomes $lang, and so forth.

Upgrading to beta 8


Make a backup of both your files and database before upgrading. The upgrade process is straightforward:
KEYCAP 1 delete /inc/plugins/BankPipe and /bankpipe folders
KEYCAP 2 upload the new version maintaining the same folder structure as in the release package
KEYCAP 3 run the upgrade script when asked in the ACP.

This release changes a lot of templates, removes and adds a few. A patch file is available below; you can view the differences between beta 7 and beta 8 by using an online tool, or your preferred git manager.

The beta testing phase continues. Please check BankPipe development for updates on planned functionalities and bugfixes and keep on reporting bugs and issues and requesting functionalities.
Filename Size Downloads
23.92 KB 2