Payment Plugins
Go to Components->MyMuse->MyMuse Plugins OR Extensions->Plugin Manager and configure the payment plugins for MyMuse.
All payment plug-ins allow entering a message to send in emails to the client.
Pay Offline
If you want people to be able to order and send you money, then you ship the goods, enable the plugin "MyMuse Payments - Pay Offline".
Does not work with "No Registration" option.
PayPal
If you want to use PayPal, enable the plugin "MyMuse Payments - PayPal". Then open that plugin to edit it.
PayPal Currency: choose your currency
PayPal account Email: enter your PayPal account email.
If you have a PayPal Micropayments account and a regular account, set "Use PayPal Micropayments" to Yes and enter that account email.
Set the cutoff point so that amounts less that the cutoff go to the Micropayments acount and amounts greater go to your regular PayPal account.
Test using the PayPal sandbox.
Ensure that IPN (instant Payment Notification) is turned on at PayPal
Profile->Profile and Settings->My Selling Tools
Instant Payment Notifications -> Update
Edit Instant Payment Notification (IPN) settings
Notification URL: http://XXYOURSITEXX.COM/index.php?option=com_mymuse&task=notify
Receive IPN messages (Enabled) YES
PayPalPro (Direct Payment)
Enter your API Username, API Password and API Signature. And same for Sandbox. Test by using the Sandbox.
The user never leaves your site. They enter Credit Card information on your site. You should have an SSL certificate and be using https.
PayPal Express Checkout
Enter your API Username, API Password and API Signature. And same for Sandbox. Test by using the Sandbox.
The user visits paypal to log in, check their shippibng address then returns to your site. Payment is made with their PayPal account.
PayUnity
Enter your Sender, Channel, User Login and User Password. Choose a default language and optionally, css and javascript files to include.
Moneybookers
If you have a Moneybookers account, set the merchant email and optional 'secret' that you set at Moneybookers.
MonsterPay
Set the Merchant ID, username and password.
Payfast
Set the Merchant ID and Merchant Key
Pesapal
Enter the mode (test or production), the Consumer Key and Consumer Secret.
Virtual Merchant
Enter your Merchant ID, User ID and PIN.
DEBUG
If there are problems you can go to Admin->MyMuse->Store and turn on "MyMuse Debug".
Now all payment plug-in transactions will be logged at /components/com_mymuse/log.txt
Ensure the file exists and is writable by the web server.
Related Help Screen.
Make my Own Payment Processor
You can create your own plugin for your own Payment Processor. Use one of the existing plugins as a an example.
Most processors rely on three functions: one to construct the plugin, one to create a form and one to handle the notification from the processor with results of the transaction.
Some are more complicated, requiring a call to get a session or transaction ID before proceeding.
Here are the basics.
- Constructor:
public function __construct(&$subject, $config){}
This is PHP7 format, and it can contain a call to the php5 constructor. This will make it compatible with both versions.
Example:
public function __construct(&$subject, $config)
{
$this->plgMyMusePayment_Myprocessor($subject, $config);
}
function plgMyMusePayment_Myprocessor(&$subject, $config) {
parent::__construct($subject, $config);
} - Create the form/button
onBeforeMyMusePayment($shopper, $store, $order, $params, $Itemid=1){}
Create a form with all the fields needed by your processor and a button to submit.
It could include a call to a default template ("tmpl/default.php") which can be overridden in your master template:
Example:
$path = JPluginHelper::getLayoutPath('mymuse', 'payment_paypalpro');
@ob_start();
include $path;
$html = @ob_get_clean();
return $html; - Notification
onMyMuseNotify($params)
Most payment processors send a notification to your cart regarding the transaction. In PayPal it is called IPN (Instant Payment Notification).
This will either confirm the transaction or generate an error.
It must return a result array.
Example:
$result = array();
$result['plugin'] = "payment_myprocesor"; //name of the plugin
$result['myorder'] = 0; //must be >0 to trigger that it was this plugin
$result['message_sent'] = 0; //must be >0 or tiggers error
$result['message_received'] = 0; //must be >0 or tiggers error
$result['order_found'] = 0; //must be >0 or tiggers error
$result['order_verified'] = 0; //must be >0 or tiggers error
$result['order_completed'] = 0; //must be >0 or tiggers error
$result['order_number'] = 0; //must be >0 or tiggers error
$result['order_id'] = 0; //must be >0 or tiggers error
$result['payer_email'] = 0;
$result['payment_status'] = 0;
$result['txn_id'] = 0;
$result['error'] = '';
- Hits: 11358