* New Feature (Authorize.net eCheck)
Authorize.Net provides an exclusive, fully integrated electronic check payment method, eCheck.Net.
Using eCheck.Net, merchants can accept and process payments from consumer and corporate bank accounts
directly from their Web site or through the Authorize.Net Virtual Terminal. By accepting electronic checks,
you expand the payment options available to new and existing customers, enhancing customer loyalty and
potentially increasing sales.
+ Lower Fees - Lower rates than credit cards or PayPal.
+ More Efficient - eCheck.Net does everything online, eliminating the cost and inconvenience of manually
processing paper checks and waiting for checks in the mail.
+ Fully Integrated Solution - No third-party integration required implementing eCheck.Net is easy
for merchants already using the Authorize.Net Payment Gateway.
+ Integrated Reporting - Provides a combined view of all eCheck.Net and credit card payment transactions.
Reconcile payment and billing activity using online reports and statements.
+ Ship Product Sooner - Improved up-front transaction validation that returns the status of transactions faster.
+ Security - Authorize.Net uses the latest 128-bit Secure Socket Layer (SSL) technology for
secure Internet Protocol (IP) transactions.
== TO DO ==
- Generate Echeck forms.
- Show users a echeck option if admin enabled echeck method.
- Allow admins/teachers to enrol a student using echeck method (FIX: role consept)
==========
* If a teacher has_capability('enrol/authorize:managepayments'), send email about pending orders expiring.
* All isteacher converted to has_capability.
TO DO:
* $CFG->an_teachermanagepay will be removed.
XXX??? What will be do while sending email to teachers about pending orders expiring???
If this feature enabled and a teacher no role in managepayments, this will send an email and the teacher cannot manage payments.
Extra work: get_course_teachers and a teacher has_capability(at course level), send this email.
* convert isteacher to has_capability.
* ignore_user_abort(true) at critical section (before fwrite($fp, "POST /gateway/transact.dll).
This is last change to ignore request for user.
* Made some functions "static" to call function directly. So, no need new enrolment_plugin_authorize() instance.
Now, these are static:
get_list_of_creditcards, zero_cost, get_course_cost, prevent_double_paid, email_to_admin, check_openssl_loaded
* Some mtrace cleanup. Removed default new line.
This is big work. When PHP5 is required for moodle in the future, I will add static modifier to functions.
Now and future, this plugin is/will unbreakable; Merged from MOODLE_16_STABLE. :)
Some patches must be applied to lib/db.
http://moodle.org/bugs/bug.php?op=show&bugid=5941
Look: version.patch, lib_db.patch
Eloy, your question about enrol fields for interactive plugins were solved.
Now, we sure we never use authorize and paypal field for backup and restore.
Because manual is active and cannot be disabled when restoring.
Bug #5358 - Add support for enrol systems in backup/restore
http://moodle.org/bugs/bug.php?op=show&bugid=5358&pos=0
Merged from 16 stable.
1- If dailysettlement is 00:05 and cron executes at this time, nothing will occur. If it is executes at 00:10 it works. I think "<" works faster then "<=" :))
2- Don't compare course->ids by authorize->courseid, because courses are grouped by courseid. We sure each line is unique.
3- Only get pendingorderexpiring strings for sending email if course teachers exist.
Merged from 16stable.
Capture_Only transactions are used when you already have an authorization from a bank.
To use this type of transaction, you will need an authorization code from the card-issuer (usually a 5 or 6 digit number).
For example, if you called Visa directly and obtained an authorization over the phone,
you would need to submit a Capture_Only transaction to start the funds transfer process.
You can manually submit a Capture_Only transaction from your Virtual Terminal by selecting Capture Only,
or from a website or billing application by including the following variables with your transaction request:
· x_Type (Capture_Only)
· x_Auth_Code (the 5 or 6 digit code provided by the card-issuer)