BankPipe

by Ben 0 Stars 8 Downloads

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.

Project Details

Minimum requirements
PHP 7.1
MyBB 1.8.0
PluginLibrary
664 permissions on inc/functions_post.php, attachment.php, global.php and inc/functions_upload.php

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, DAI, USD Coin, Ethereum and Litecoin.

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 relative to each subscription which, if bought, is applied to higher priced subscriptions.

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.

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.
Author
Ben
Collaborators
None
Version
Beta 11
Submitted
2021-02-18, 02:29 PM
Last Updated
2021-02-18, 02:29 PM
Bug Tracking
Disabled
MyBB Versions
1.8.x