With this tutorial you’ll learn how to configure your MYC Customer Portal to receive payments from your customers or a specific record in your crm and update this record when the payment is received.
In this particular example we’ll enable payments for the Invoice module, so you’ll be able to receive payment for unpaid invoices and set the invoice status to “Paid” when your customer finalize the payment.
1) The first step to do is to configure a payment gateway in your customer portal, to do this you should login to your portal configuration area and click on the “Payment Gateways” tab in the general configuration area.
At this point you must firstly configure the default payment currency information, you have the following fields:
- Currency Name: The name of your preset currency, you can also search it using the standard ISO24217 currency code.
- Currency Symbol: the character you want to use for your currentcy, for example €, £, $, ¥ etc..
2) Now you have to configure your payment gateway, actually you can use PayPal and WorldPay to receive payments from the portal, but many more will be added in future.
If you need a particular gateway we can easily add it for you, contact us and we’ll be happy to give you the best solution!
PAYPAL GATEWAY CONFIGURATION
To configure the PayPal payment gateway you’ll need API User, API Key, and API Signature, you can obtain these informations following the steps described by the PayPal tutorial that you can find at the following url:
note You need also to check the “SandBox” mode option if you’re using testing credentials.
WORLDPAY GATEWAY CONFIGURATION
To configure the WorldPay payment gateway you’ll need Service Key and Client Key, you can obtain these informations logging with your WorlPay credentials at the following url: https://online.worldpay.com/settings/keys
note You need also to check the Test mode option if you’re using testing credentials.
For this gateway you can also choose to enable or not the 3DSecure authentication protection, if enabled the customer will be redirected to the card issuer verification pages if available ( like "Verified by Visa", "Verified by MasterCard" etc ). If disabled the payment will be processed directly in the portal without the need to redirect your customer to external pages.
note For more info about 3DSecure authentication you can read the wikipedia article at the following url: https://en.wikipedia.org/wiki/3-D_Secure
Now that you configured your payment gateways then you need to enable payments for your modules in the portal, in this example we will enable payments for the Invoice module but you can do the same operation and get payments for practically any module and custom module that has a numeric field in your crm.
To configure the Invoice module we need to go in “Payments” tab you can find in the specific module settings in the portal configuration area, here we’ll need to set the following informations:
- Enable Payment: with this option, you can enable/disable the "Pay Now" button visible on the top of each record (if the conditions to show it are matched), we need to set it to on in this case.
- Payment Currency Field: you can choose if use the default portal currency or a different currency taking it dynamically from your crm recrords, to do this you need a proper currency field configured in your module, in this case the invoice module has it so we can set this parameter to the field “Currency”
- Payment Amount Field: here you must set which field will be used for each record to retrieve the payment amount, any numeric field can be used. In this example we’ll use the invoice “Total” field.
- Show on Conditions: here we need to set the conditions that must be matched to show the pay now button to your customer. In this example we need to set only two condition that are the following:
- “Status” not equal to “Paid”
- “Status” not equal to “Credit Invoice”
- “Status” not equal to “Cancel”
With these three rules customer will not be able to pay for cancelled or credit invoices, and invoice yet paid.
- Update Fields On Success Payment: With this feature you can update your record values when a payment is processed with success, in this example we need to set the following row: “Status” => “Paid” . So the invoice status will be automatically updated, and thanks to the “Show on Conditions” declared before the Pay Now button will be automatically hidden.
- Update Fields On Cancel Payment: With this feature you can update your record values when a payment is cancelled, like set invoice status to cancel or any other field, in this example we’ll leave it empty as we don’t need to update any field.
Now you're able to receive payment from your customers or update record fields when a payment is processed through PayPal or WorldPay.
Still need information? Please fell free to contact us!