############# # ATutor Payments Module Readme # # This moldule is intended for use with ATutor 2.0+ This module allows for payment of course fees, and automated enrollment when payments are recieved. This version of the module supports automated enrollment in one course at a time. It can be used with one (and only one) payment gateway at a time. Payment Gateways Supported *MiraPay https://ws1.eigendev.com/mira/ *PayPal https://www.paypal.com/cgi-bin/webscr *Beamstream https://www.beanstream.com/scripts/process_transaction.asp *Moneris Canada https://www3.moneris.com/mpg *Moneris USA https://esplus.moneris.com/usmpg/index.php Additonal credit card processing gateways can be added either developing them youself, and adding them to the module's payment.lib.php file, or by contacting info@atutor.ca for a quote, and having the ATutor team integrate one for you. --------------- MiraPay Test Account #A test account is available. Enter the following information into the admin payments settings screen. You will need to setup a proper merchant account with Mirapay to actually use the system for collecting your own payments, but to test the module the test account works well enough. MiraPay has the advantage over PayPal of not requiring the customer to have an account on their system. Test Location: https://staging.eigendev.com/mirapay/secure_credit.php Test Vendor ID: e911ca205ec7c2a9436af9102c497fd4 Test Password: test # Use the following credit card info to make fake payments through the test account. Test Credit Card # 4444333322221111 Test Expiry Date 2222 ------------------ PayPal Merchant Account Setup See the details for setting up a PayPal account at: http://www.paypal.com/cgi-bin/webscr?cmd=_merchant-outside The ATutor Payments module can be run with PayPal "Buy Now Buttons" which allows customers to purchase one item at a time, in the case of ATutor, a single course at a time. Note that payees will have to setup their own PayPal customer account before they can make payments through PayPal. Also note that after a payment is made through PayPal, there is a 10 second delay before the payee is redirected back to ATutor, and the payments table updated with the transaction ID from PayPal. If a users decides to go off to some other web site before being redirected back to ATutor, the payments table may not be updated. In such a case the admin, or the instructor of a course if instructors are given payment management privileges, will need to manually update the payments table, and if auto enroll is turned on, also update the enrolment for the course, manually enrolling the person in the course. This problem is less likely to occur when using other payment gateways, which automatically redirect back to ATutor without any delay during which the users can go off somewhere else on the Internet. Once you have your paypal account setup, enter the URL to the PayPal Credit Card processing in the Payments>Settings screen, followed by the Vendor ID, which is the email address associated with the vendor account (leave the password field empty) PayPal Location (for production) https://www.paypal.com/cgi-bin/webscr or (for testing) https://www.sandbox.paypal.com/cgi-bin/webscr See details on setting up a sandbox for testing the modules at: https://www.paypalobjects.com/en_US/ebook/PP_Sandbox_UserGuide/toc.html https://www.paypalobjects.com/en_US/ebook/PP_Sandbox_UserGuide/testing_website_features.html#1041585 PayPal IPN Setup For security purpose Instant Payment Notification (IPN) must be setup with your PayPal merchant account. You will be asked to provide a URL to the IPN notification verification script, included with the Payments module. While logged into your PayPal account, select the Profile tab, then choose "Instant Payment Notification Preferences". Turn "ON" the service, and provide the URL. The URL should also include the password you entered when setting up the module Settings in ATutor. The URL would look something like this: http://www.mysite.com/ATutor/mods/payments/response_ipn.php?secret=payment01 4941199042995591 01/2013 123 -------------------- Beanstream Setup You will need to setup a Beanstream sandbox and merchant account at: https://www.beanstream.com/public/index.asp 1. Once your Beanstream account is setup, in the administrator's Settings area of the Payments module enter the beanstream credit card processing location. This location is the same for your production system and sandbox. https://www.beanstream.com/scripts/process_transaction.asp 2. Enter the 9 digit Mercant ID assigned by Beanstrem into the "Vendor ID" field of the Payment Settings 3. Enter the password assigned by Beanstream in the filed below the Vendor ID field. 4. Set the other configuration options according to your requirements, described in more detail in the Installation & Setup instructions below. Use your sandbox account to setup the module and do you testing, and once everything is functioning as it should, switch the Vendor ID and password to those for you production beanstream account. In most cases Beanstream will create a sandbook area first, and when your ready, switch the account to live, using the same information previously used for the sandbox. You might however, request that another sandbox account be created once the initial account becomes live. The following credit card num,bers can be used for testing. Note that the expiry date for any of these is any time into the future. Visa - Use CVD/CVV code 123 Approved 4030000010001234 Approved $100 Limit 4504481742333 Approved VBV 4123450131003312 with VBV passcode 12345 Declined 4003050500040005 MasterCard - Use CVD/CVV code 123 Approved 5100000010001004 Approved 5194930004875020 Approved 5123450000002889 Approved 3D Secure 5123450000000000 passcode 12345 Declined 5100000020002000 For additional information, contact Beanstream for a copy of the Beanstream API documentation. -------------------- Moneris Canada Setup (or see USA setup below) You will need to setup a Moneris sandbox for Canadian transactions at: https://esqa.moneris.com/mpg/ Further documentation (requires registration) http://www.eselectplus.ca/en/downloadable-content This integration makes use of the Monersis Hosted Pay Page. When requesting a merchant account from Moneris once your setup and testing with the sandbox is done, be sure to mention you'll be using the the Moneris Hosted Pay Page for CAD Transactions. 1. Login to the sandbox site with the demo information listed on the Moneris login screen 2. Click on ADMIN 3. Click on "hosted config" 4. Scroll down and click the "Generate a Version 3 Configuration" 5. Record the ps_store_id and the hpp_key that gets generated. 6. Set the following configuation options Transaction Type: Purchase Response Method: Sent to your server as a POST Approve URL: the location of the success_moneris.php file in the payments module of ATutor (eg. http://misite.com/ATutor/mods/payments/success_monerisca.php) Decline URL: The location of the failure_moneris.php file in the payments module of ATutor (eg. http://misite.com/ATutor/mods/payments/error_monerisca.php) 7. Click Save Changes 8. Click Configure Appearance and set colour settings 9. Below the colour settings, check Display items details 10. Set the Cancel Button URL (eg. http://misite.com/ATutor/mods/payments/failure_monerisca.php) 11. In the Logos section check Visa and Master Card 12. Click Save Appearance Settings then Return to main configuration 13. On the Main Configuration screen click Configure Security 14. In the Add URL field enter the URL to the payments modules payment screen (e.g. http://misite.com/ATutor/mods/payments/payment.php) then Return to Main Configuration 15. Click Configure Email Receipts and then choose the options for the receipt mailed to a customer after a transation is completed. 16. Done configuring Moneris 17. Login to ATutor as the admin user. 18. Under the Payments tab, choose Settings and set: Payment Gateway: Moneris Canada Credit card processing location URL: (Development URL - https://esqa.moneris.com/HPPDP/index.php ) or (Production URL - https://www3.moneris.com/HPPDP/index.php ) Vendor ID: use the ps_store_id from step 5 Password: use the hpp_key from step 5. set other options to suit your needs Visa Test Account 4242424242424242 Expiry: any future date Master Card Test Account 5454545454545454 Expiry: any future date NOTE for testing purposes the development site only accepts even dollar amounts up to $11.00. Non-even amounts can be used to test error responses. -------------------- Moneris USA Setup You will need to setup a Moneris sandbox for US transations at: https://esplusqa.moneris.com/usmpg/index.php More Documentation https://esplusqa.moneris.com/connect/en/documents/index.html This integration makes use of the Monersis Hosted Pay Page. When requesting a merchant account from Moneris once your setup and testing with the sandbox is done, be sure to mention you'll be using the the Moneris Hosted Pay Page for USD Transactions. 1. Login with the demo information listed on the Moneris login screen 2. Click on ADMIN 3. Click on "Hosted Config" 4. Click the "Generate a New Configuration" 5. Copy the hpp_id and the hpp_key that gets generated. 6. Set the following configuation options Transaction Type: Purchase Payment Method: Credit Card Response Method: Sent to your server as a POST Response URL: the location of the success_monerisusa.php file in the payments module of ATutor (eg. http://misite.com/ATutor/mod/payments/success_monerisusa.php) NOTE: that the success_monerisusa.php file handle both success and failure condition sent from Moneris USA 7. Click Save Changes 8. Click Configure Appearance and set colour settings 9. Below the colour settings, check Desplay items details 10. In the Logos section check Visa and Master Card 11. Click Save Appearance Settings then Return to main configuration 12. On the Main Configuration screen click Configure Security 13. In the Add URL field enter the URL to the Payments modules payment screen (e.g. http://misite.com/ATutor/mods/payments/payment.php) then Return to Main Configuration 14. Click Configure Email Receipts and then choose the options for the receipt mailed to a customer after a transation is completed. 15. Done configuring Moneris 16. Login to ATutor as the admin user. 17. Under the Payments tab, choose Settings and set: Payment Gateway: Moneris USA Credit card processing location URL: (Development URL - https://esplusqa.moneris.com/DPHPP/index.php ) or (Production URL - https://esplus.moneris.com/DPHPP/index.php ) Vendor ID: use the hpp_id from step 5 Password: use the hpp_key from step 5. set other options to suit your needs Visa Test Account 4242424242424242 Expiry: any future date Master Card Test Account 5454545454545454 Expiry: any future date NOTE for testing purposes the development site only accepts even dollar amounts up to $11.00. Non-even amounts can be used to test error responses. -------------------- Installation & Setup 1. Unpack the downloaded module into the ATutor mods directory. This will create an payments/ directory which contains all the module files. 2. As the ATutor administrator, under the Modules tab choose Install Module, and choose the Payments module from the list of available modules. If you do not see the module available, make sure you have unpacked it into to right place ( /ATutor/mods/payments/) 3. After installed, on the main admin modules screen enable the module. 4. Once enabled, go to the admin's Payments tab and enter the Test/Sandbox information listed above into the appropriate fields, along with the currency and currency symbol, and save those setting. 5.Optionally, the admin can enter a mailing address to which cheques can be sent and an invoice generated, if that is to be one of the payment methods. Leave this field empty to disabled cheques as a method of payment. 6. Optionally, the admin can allow instructors to manage their own payments by selecting the associated checkbox in the payment settings. 7. Optionally, the administrator can receive an email notification when new payments are made by selecting the associated checkbox in the payments settings How the module works Payments are course fees associated with an enrollment in a Private course. When a student attempts to enroll in a private course that has a fee associated with it, an entry will be added to the student's Payments screen, accessed through a tab in My Start Page. If the student clicks on Make Payment, and confirms the information as correct, they are redirectled to the secure payment site, where they enter their visa or master card number (availability of either depending on what the merchant account supports), and submit the payment. Just before being redirected to the secure site the information entered by the student is stored in the ec_shop table in ATutor, and it is updated when the payment service has confirmed the payment. Payments that have been completed will be updated with a confirmation code from the payment gateway. If the course has been set to auto-enroll students, they will immediately be given access to the course. If manual enrollment is set, they will receive a notice of their pending enrolment, which the instructor, or administrator must approve. This is useful when all students enrolled in a course are granted access at the same time. Administrators can manage individual course payments and course payment settings as described for instrutors below, through the Course Payment Setting tab. If instructors are allowed to manage their own payments, set by the administrator in step 6 above, they can access Payments through the Manage screen, where they can set the price for the course, and set whether to auto-enroll students, and whether to send an email to the instructor when a payment has been received. These settings are saved in the ec_course_fees table. To make a payment students must first click on Enroll Me in the Browse Course listing. They are then instructed to make their payment to complete the enrolment. Or under the Payments Tab, they can click on Make Payment next to the course that is pending enrollment.