[DBTech] DragonByte Donate

[DBTech] DragonByte Donate [Paid] 3.0.3

No permission to buy ($14.95)
Fillip - Many thanks :)

I'm not a coder so please excuse the vague explanation, however i believe all that needs to happen is that the "supporters" group needs to be added to the users "secondary" user group (as below), rather than a complete change of groups... As i understand it, this is the preffered way to hand these within xF...
That is exactly how this works :)

The option works 100% identically to the way the "Secondary User Groups" works if you use the "User Upgrade" system in XenForo.

Further good news as well, the expiring option you wanted will be added to Beta 3 :)


Fillip
 
More suggestions:
  1. Gift a donation (attribute the donation perks to another member)
    The need for this features we encounter on a weekly basis.
  2. Donation matches:
    Allow a member to match donations up to a certain amount. For example a member will double up the first $500 in donations received. This is a very powerful way to drive donations up and happens frequently at our site.
    The member selects the donation drive or the donation goal that the money should be attributed to.
    Then there should be an announcement to let members know that their donations will be matched if they donate to this donation drive / donation goal.
    It should be clearly visible how much has been matched and how much to go.
  3. Pay Remaining Funds.
    Display how much is left in the donation drive.
    Add a button to pay all remaining funds in the donation drive. This needs to be a very simple fast way to pay in as few steps as possible.
    If the button is clicked the user selects the payment method and is then forwarded to the payment service.
  4. Cash/Cheque/Bank/Offline donation
    Offer members offline payment methods. Like sending cash/cheques by mail, manually by bank or any other method which requires manual processing. Here is how it could work:
    Let the user select the offline payment method of their choice and the amount.
    Show the user the instructions.
    Let the user enter the date and the specifics of how the payment was sent.
    The admin can mark the payment as received when it comes in.
  5. Alerts: Donation Expiry Reminder
    Give users alerts before their donation term expires. Let the admin define when/how often to send alerts.
    Allow users to turn these alerts off.
  6. User Criteria
    Give trophies for: user has donated X amount in the last Y days to donation goal Z.
  7. Automatically Update Currency Exchange Rates
    There are various services that can be used to update exchange rates. (Yahoo, Google, XE, etc)
 
Last edited:
That's what I get for coding at half past midnight when I can barely keep one eye open. Sorry about that, I've made another hotfix that should resolve that.
Now we can pay with bd banking and it submits the donation in donation list, but still shows 0.00 received. as you see I donated 200 and 500 with bd banking and it is done, but it shows 0.00 received:
2016-08-24_04-21-36.webp

and about bd zarinpal, the problem is that it decreases from the bank account and transfer it to my zarinpal, but it doesn't submit it in donation list and doesn't send thanks message and still says 0.00 received. (as you see it just shows 200 and 500 that I donated using bd dbanking, and it doesn't show 1000 that donated using bd zarinpal)

also our currency doesn't have .00 (decimal) and the currency name should be on left of the number, but still you see "تومان" on right side of the numbers.
 
and these are new error logs that I get:
Code:
DBTech_Donate_Application_ResponseErrorException: Missing required field currencyid - library/DBTech/Donate/Application/DataManager.php:487
Generated By: Unknown Account, 6 minutes ago
Stack Trace
#0 /home/xenforo/domains/mysite.com/public_html/library/DBTech/Donate/Application/DataManager.php(340): DBTech_Donate_Application_DataManager->error('Missing require...', 'currencyid', false)
#1 /home/xenforo/domains/mysite.com/public_html/library/DBTech/Donate/Application/DataManager.php(259): DBTech_Donate_Application_DataManager->_checkRequired()
#2 /home/xenforo/domains/mysite.com/public_html/library/DBTech/Donate/Application/DataManager.php(220): DBTech_Donate_Application_DataManager->preSave()
#3 /home/xenforo/domains/mysite.com/public_html/library/DBTech/Donate/bdPaygate/Model/Processor.php(138): DBTech_Donate_Application_DataManager->save()
#4 /home/xenforo/domains/mysite.com/public_html/library/DBTech/Donate/bdPaygate/Model/Processor.php(51): DBTech_Donate_bdPaygate_Model_Processor->_addDonation(Array, Array, Object(bdPaygateZarinPal_Processor), 1000, 'tom')
#5 /home/xenforo/domains/mysite.com/public_html/library/bdPaygate/Processor/Abstract.php(264): DBTech_Donate_bdPaygate_Model_Processor->processItem('dbtech_donate|1...', Object(bdPaygateZarinPal_Processor), 1000, 'tom')
#6 /home/xenforo/domains/mysite.com/public_html/bdpaygate/callback.php(122): bdPaygate_Processor_Abstract->processTransaction('accepted', 'dbtech_donate|1...', 1000, 'tom')
#7 {main}
Request State
array(3) {
  ["url"] => string(449) "http://mysite.com/bdpaygate/callback.php?p=ZarinPal&_amount=1000&_item_id=dbtech_donate%7C1%7Cce07e%7C10&_return_url=http%3A%2F%2Fmysite.com%2Fdbtech-donate%2F%25DA%25A9%25D9%2585%25DA%25A9-%25D9%2587%25D8%25B2%25DB%258C%25D9%2586%25D9%2587-%25D9%2586%25DA%25AF%25D9%2587%25D8%25AF%25D8%25A7%25D8%25B1%25DB%258C-%25D8%25B3%25D8%25B1%25D9%2588%25D8%25B1.1%2Fdrive%3Fsuccess%3D1&Authority=000000000000000000000000000024388392&Status=OK"
  ["_GET"] => array(6) {
    ["p"] => string(8) "ZarinPal"
    ["_amount"] => string(4) "1000"
    ["_item_id"] => string(24) "dbtech_donate|1|ce07e|10"
    ["_return_url"] => string(175) "http://mysite.com/dbtech-donate/%DA%A9%D9%85%DA%A9-%D9%87%D8%B2%DB%8C%D9%86%D9%87-%D9%86%DA%AF%D9%87%D8%AF%D8%A7%D8%B1%DB%8C-%D8%B3%D8%B1%D9%88%D8%B1.1/drive?success=1"
    ["Authority"] => string(36) "000000000000000000000000000024388392"
    ["Status"] => string(2) "OK"
  }
  ["_POST"] => array(0) {
  }
}

Code:
ErrorException: Fatal Error: Class 'DBTech_Credits_Model_Event' not found - library/DBTech/Donate/Credits/Event/Donate.php:3
Generated By: Unknown Account, 7 minutes ago
Stack Trace
#0 [internal function]: XenForo_Application::handleFatalError()
#1 {main}
Request State
array(3) {
  ["url"] => string(57) "http://mysite.com/bdpaygate/callback.php?p=bdbank"
  ["_GET"] => array(1) {
    ["p"] => string(6) "bdbank"
  }
  ["_POST"] => array(8) {
    ["client_id"] => string(0) ""
    ["amount"] => string(3) "200"
    ["currency"] => string(3) "TOM"
    ["display_name"] => string(62) "Donation for drive "کمک هزینه نگهداری سرور""
    ["data"] => string(23) "dbtech_donate|1|1b446|9"
    ["transaction_id"] => string(5) "19913"
    ["calculated_money"] => string(3) "200"
    ["verifier"] => string(32) "80b733b2f7cf77485244f5ce7b331e0b"
  }
}
Code:
#0 /home/xenforo/domains/mysite.com/public_html/library/XenForo/FrontController.php(351): bdBank_ControllerPublic_Paygate->actionPay()
#1 /home/xenforo/domains/mysite.com/public_html/library/XenForo/FrontController.php(134): XenForo_FrontController->dispatch(Object(XenForo_RouteMatch))
#2 /home/xenforo/domains/mysite.com/public_html/index.php(13): XenForo_FrontController->run()
#3 {main}
Request State
array(3) {
  ["url"] => string(42) "http://mysite.com/bank/paygate-pay"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(12) {
    ["client_id"] => string(0) ""
    ["amount"] => string(3) "200"
    ["currency"] => string(3) "TOM"
    ["display_name"] => string(62) "Donation for drive "کمک هزینه نگهداری سرور""
    ["callback"] => string(57) "http://mysite.com/bdpaygate/callback.php?p=bdbank"
    ["data"] => string(23) "dbtech_donate|1|1b446|9"
    ["redirect"] => string(175) "http://mysite.com/dbtech-donate/%DA%A9%D9%85%DA%A9-%D9%87%D8%B2%DB%8C%D9%86%D9%87-%D9%86%DA%AF%D9%87%D8%AF%D8%A7%D8%B1%DB%8C-%D8%B3%D8%B1%D9%88%D8%B1.1/drive?success=1"
    ["hash"] => string(32) "620cabea9886bbe12f2cf84ae391e089"
    ["_xfToken"] => string(8) "********"
    ["_xfRequestUri"] => string(51) "/dbtech-donate/donate?action=donate&transactionid=9"
    ["_xfNoRedirect"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
  }
}
 
Do you have DragonByte Credits installed? If so, can you please make sure it's the latest version, as it seems like you may be running a very old version of that mod (before the classes were renamed).

The other issue I see is that zarinpal sends the currency ID in lower case, but DB Donate expects it in upper case. Unfortunately I've already started work on Beta 3 and it's not possible to back-port changes at this time.

Would it be possible for you to add an English language option to your forum, then PM me with an FTP and AdminCP account as well as any sandbox data I need to test Zarinpal and BD Banking on your site, along with instructions on how to test these two mods?

If I could test it on-site, I'm sure I can resolve this much quicker :)


Fillip
 
Do you have DragonByte Credits installed? If so, can you please make sure it's the latest version, as it seems like you may be running a very old version of that mod (before the classes were renamed).
I don't have the Dragon Byte Credit add-on at all and even I never had it before. I still didn't purchase it.

Would it be possible for you to add an English language option to your forum, then PM me with an FTP and AdminCP account as well as any sandbox data I need to test Zarinpal and BD Banking on your site, along with instructions on how to test these two mods?
I can give that info to you withing next hours. and you will be able to test bd banking, But I feel you won't be able to test the bd zarinpal. Maybe your only way to test zarinpal will be to come to my pc using team viewer to test it from here.
(There is English language. I'll activate it for you while testing)
 
I don't have the Dragon Byte Credit add-on at all and even I never had it before. I still didn't purchase it.
Alright, I'll make further changes in the next version to prevent that issue from occurring.

I can give that info to you withing next hours. and you will be able to test bd banking, But I feel you won't be able to test the bd zarinpal. Maybe your only way to test zarinpal will be to come to my pc using team viewer to test it from here.
(There is English language. I'll activate it for you while testing)
I'm hoping that by resolving the Banking issues, Zarinpal will also work :)

@DragonByte Tech does DBT Donate support:
  1. XF Alerts
  2. XF Criteria
  3. Recurring payments like with User Upgrades
If not: is this coming?
  1. Not yet, I'll be adding this once the core features are added and working
  2. Beta 3 will have criteria for total amounts donated
  3. Not yet, that's something I'll look into for the future :)


Fillip
 
But you can do ongoing drives. Right?
Like I do a hosting costs drive which renews every month.
 
But you can do ongoing drives. Right?
Like I do a hosting costs drive which renews every month.
You can set drives to recur yeah, and they will automatically reset and renew according to your settings.

In the background, a history of previous donation drives will be saved, which in the future will be browsable and integrated with XF's statistics system :)


Fillip
 
DragonByte Tech updated [DBTech] DragonByte Donate with a new update entry:

2.0.0 Beta 3

Feature: A main page that lists all currently running donation drives using the same style as the front page display
Feature: Usergroup Changes can now be set to expire (configurable per donation drive)
Feature: Per-Currency Denomination Suffix (symbol/text added after the amount)
Feature: Per-Currency decimal rounding
Feature: User Criteria for Total, Public and Anonymous donations
Fix: Fixed a few issues with the Donate DataManager

Read the rest of this update entry...
 
Awesome! The new version made it an absolutely suitable replace of the other add-on that I had. Now we can start using it.

Three more things that I hope to see one day:
  • Create and manage milestones! (where we can define for each donation drive to change the color of progress bar of received amount based the amount or percent of paid amount. For example if paid 10%, then change the progress bar to red, and if passed 20% change it to green and ...)
  • Be able to see list of donators of each donation drive and be able to mass send email or pm to them (based on each drive. For example be able to see list of donators or XYZ Donation Drive and send mass email or pm to them)
  • Icon for each Donation Drive.
These are three more useful features that we still missed from other previous add-on. (although we started using it now, but hope to see these two too)
 
and 4th suggestion here:
  • be able to delete a donation from list of donates in a drive (imagine there is a donation drive that 200 users donated. and for any reason we need to donate some times for test but after the test is done we need to delete those test donates from the list of donators of the drive and logically their amount be decreased from the "Received" amount. Its not possible now. Of course to have this feature, we first need to have the 2nd suggestion in previous post => be able to see list of donators of each drive)
Thanks in advance
 
Here is another suggestion: when we activate navbar link, either in left or right, when we hover on it, it opens a drop down menu, but its empty. So no useful at all. See the Gif:
GIF.gif


But it would be nice and useful if there was a list of active drives there. So when hovered, we could see a list of active drives and when clicked on each of them, we would redirected to its dedicated page to donate.
 
Is there anyway? to create a donation drive that:
  • has no end date
  • has no Recurring
(all of them together)
(so, it has an amount and when user donated all of it, it will be closed. No reset in special date. No countdown)

(We added a donation drive with empty end date and it removed the countdown. But it seems it still has a reset date and one day it will reset it (recurring) but we want the drive be closed just when users donated all of its amount)

And how about RECENT and TOP DONATORS blocks?

Thanks
 
Is there anyway? to create a donation drive that:
  • has no end date
  • has no Recurring
(all of them together)
(so, it has an amount and when user donated all of it, it will be closed. No reset in special date. No countdown)

(We added a donation drive with empty end date and it removed the countdown. But it seems it still has a reset date and one day it will reset it (recurring) but we want the drive be closed just when users donated all of its amount)
At the moment, it's designed to work in such a way that an end date is required. I'll see if I can add this functionality for tomorrow's update, if not I'll try to get it added for next week's :)

And how about RECENT and TOP DONATORS blocks?
I've mostly been focusing on getting the "core" ready just now, Recent and Top Donators blocks are definitely planned to be added in a future version :)


Fillip
 
Top Bottom