The easier you make it for your customers to pay, the easier you can collect.
SL QuickCollect is payment solution for Dynamics SL that allows you to email or SMS message out a simple link to your customer as a request for payment. The customer can then click on the link and are sent to a PCI compliant payment page without any portal login required. Everything integrated directly with Dynamics SL.
You can see a general demo here:
More information can be found on our blog (including how you can customize and develop applications using SL QuickCollect):
EVO merchant services integrates seamlessly to PayFabric +QuickCollectto provide you a secure and convenient PCI compliant service without the need of a 3rd party gateway provider.
Free Cost-Savings Analysisof your merchant services: As your trusted advisor and expert in payment processing, EVO is happy to provide you a complimentary Summary of Savings report.
Simply provide us the last 3 months of your merchant service statements, and we’ll return to you a Summary of Savings report. This enables you to see the cost-savings benefit that you’ll achieve on your credit card payment processing fees.
EVO B2B Merchant Services is the only business payments solution with Interchange Management® technology that automates cost reduction on transactions for the lowest overall cost on payment acceptance – every time. This technology identifies cost reduction opportunities in the lowest interchange rates the card brands (Visa, MasterCard, Discover and American Express) apply to each payment transaction.
A major advantage of doing business with EVO B2B is our Level 2 and 3 processing solutions, which ensure the best rate for every transaction whether through terminals or card not present scenario.
Our system automates your client’s transactions to qualify for the lowest rate possible based on card type and transaction parameters, providing significant cost-saving on processing fees. We identify payment solutions and process improvements, which result in time savings and cost reduction, increasing cash flow back to your bottom line.
EVO removes the need for using a 3rd party gateway, which eliminates these unnecessary fees.
Many companies don’t want to go through the effort of building a customer eCommerce system to sell online. There are many cloud based eCommerce systems that they can use to minimize support, hosting, and development time. Catalina has integrated with many of these such as: Shopify, Magento, BigCommerce, WooCommerce, Square, and others.
One of the most popular eCommerce systems is Shopify. Catalina’s Dynamics SL integration to Shopify includes:
Order Creation: When an order is created in Shopify, it is automatically transferred to Dynamics SL and created as a Sales order in SL.
Order Acknowledgement: When an order is created in Dynamics SL, Catalina will update Shopify with the SL order number and other information.
Shipper Notification: When an order has shipped (partial or complete), Catalina will send shipper information to Shopify notifying which items have shipped and any tracking numbers that were created.
Order Complete: Once an order is completed, Catalina will notify Shopify that the order is completed so that Shopify can then archive that order.
Inventory updating: Catalina can send inventory information to Shopify which will allow Shopify to know quantity on hand, backorders, out of stock, and other information regarding products for sale on the site. Catalina can also add or remove products from the shopping cart site based on inventory levels and custom rules.
Custom integration points: There are many integration points in Shopify that can be utilized such as synchronizing of customers, logins, invoices, pricing, and more.
I did a demo on how to manage API Keys, for our RESTful API for Dynamics SL, using PowerScript. We are rolling out PowerScript management and installation tools for our products. Please contact us ([email protected]) if you are interested in receiving an early release.
sitekey: The encryption key used to encrypt connection strings and configurations
xctfiles: Root location of your xctfiles
addapisites: Comma Delmited list of sites to add to an API Key. Ex: ‘SITE1,SITE2,SITE3’
delapisites: Comma Delmited list of sites to remove from an API Key. Ex: ‘SITE1,SITE2,SITE3’
h: Help
delete: Will delete the key passed.
list: Will list the APIKeys. If a SiteID is passed, it will only list what was passed. If no siteID was passed (ex. ApiKeyManager.ps1 -list) it will list all APIKeys.
Examples
If you want to get a listing, you would enter: ./ApiKeyManager.ps1 -h
Passing the -list parameter will get you something similar to this
If you want to create a new API Key with the username = “APIKEY1”, password = “Passw0rd1”, give access to 3 sites (“TEST”, “LIVE”, “DEVEL”), your SiteKey (encryption key) is “1234567”, and the location of your xctfiles is c:\inetpub\xctFiles, you would enter the below:
We are changing the name of SL QuickPay to SL QuickCollect to avoid confusion with other systems out there. Plus, we think that since we are focused on the collection side of things of AR. Because of this QuickCollect has much more meaning.
SL QuickCollect is a Catalina Technology solution that allows you to email or SMS message out a simple link to your customer as a request for payment. The customer can then click on the link and are sent to a payment page without any portal login required. This lowers the barrier of entry for you to collect from your customers and get paid faster.
There are several settings that you can set to log messages to a log file for Catalina’s API for Dynamics SL.
Look in your web.config (normally in c:\inetpub\xctFiles\web\ctDynamicsSL or c:\inetpub\wwwroot\ctDynamicsSL — but could be located in a different location based on your installation). There will be 3 variables that are important:
<!--def:DEBUGMODE: TRUE/FALSE default:FALSE-->
<add key="DEBUGMODE" value="TRUE" />
<add key="DEBUGLEVEL" value="VERBOSE" /><!--BASIC,VERBOSE-->
<!--def:ERRORLOGFILE: full path to the txt file to writeout error and status messages-->
<add key="ERRORLOGFILE" value="C:\\inetpub\\xctFiles\\errorLogs\\DSLerrorLogFile.txt"/>
DEBUGMODE: There are 2 different settings for this
TRUE if you want to have messages saved to a logfile.
FALSE if you don’t want to have messages saved to a logfile. Normally DEBUGMODE would be set to FALSE for performance reasons.
DEBUGLEVEL: There are 2 different levels that you can set
VERBOSE: This will save extra information to the logfile. This will create a larger file but will store more information about what is going on in the service.
BASIC: This generally stores just errors and less information
ERRORLOGFILE: This is the location of the logfile. NOTE: You need to make sure you “escape” this value. So, when you have a backslash (\), make sure you do 2 backslashes (\\) so that it wont create an invalid XML string.
SLQuickCollect is Catalina’s solution that allows you to email or SMS message out a simple link to your customer as a request for payment.
Custom properties are a way to personalize the emails that go out to the customer. As well as the payment page and receipts they see. You can have an unlimited number of parameters with whatever text you want to send to the customer. And you can place it anywhere you want on the email and page templates.
Here is a quick demo on how you can do this via a RESTful API. And how to modify the templates to display the parameters.
Below is an example of a payload that you would send to the SLQuickCollect API.
CustID: The Customer ID of the customer you are sending the payment request to.
Amount: The amount you want to collect
PaymentEmailList: A delimited list of emails that the request is going to go to.
Properties: This is a list of properties as Name/Value pairs. You can create as many of these properties as you want. And then you can display them in the email, payment page, receipt email, and receipt page templates any way you want.
When you want to display a custom property on a template page, you use this ASP.NET format:
<%=getProperty(“PropertyName“)%>
So, if the property name is “COMMENTS”, you would use this:
We have been busy adding new features to SLQuickCollect. SLQuickCollect is Catalina’s solution that allows you to email or SMS message out a simple link to your customer as a request for payment. The customer can then click on the link and are sent to a payment page without any portal login required. This lowers the barrier of entry for you to collect from your customers and get paid faster.
Below are a few of the new features we have added to SLQuickCollect over the last month.
Ability to create payment requests via web page: This is a way to quickly send out SLQuickCollect links from a simple to use web page.
Send attachments: You can send any type of attachment with the quick link email. This could include the invoice PDF, a work order document, pictures, or any other type of document you would want to send to the customer as information about the payment request.
Add custom properties to the requests: Custom properties are a way for you to send custom information to the SLQuickCollect link so that the customer knows what they are paying for. These custom properties are unlimited and can be whatever you want. They could include: notes, order number, work order number, or anything you can think of. These properties can then be displayed to the customer on the SLQuickCollect link email, payment page, receipt page, and receipt email templates.
More multi-site/config options: This allows you to create different email templates, config options, payment methods, branding, etc. By doing this, you can have a completely different setup for different companies, marketing campaigns, storefronts, and more.
L2/L3 fields: SLQuickCollect (and Account Central) can capture level 2 and level 3 fields such as PO Number, extended address information, line item information, etc. This allows for savings on credit card transaction fees.
Payment entry requests: Not only can you create payment requests that would apply against invoices (payment applications), but now you can create payment requests for “payment entries” in SL. These are payments that aren’t directly applied to an invoice. But just captured against the customer account.
Catalina’s API for Dynamics SL wraps saving of data into transactions which allows for “rollback” if there is an error. Meaning if there are multiple tables/records that are in a transaction, and an error occurs, everything will get rolled back as if nothing happened.
There are some times when there are problems with this. Mainly when some type of external force (like a trigger) updates the same data that Catalina is trying to save. This could cause table locking and not allow transactions to save properly. One way to get around this is to turn transactional processing off.
NOTE: Only do this in a test environment first. This should be done if other methods don’t work.
This is done easily by changing the web.config of ctDynamics SL. Search for the keyword “DISABLETRANSACTIONS”.
Once you have found the keyword, make sure that the value=”TRUE” and that will turn off transactions.
<add key="DISABLETRANSACTIONS" value="TRUE"/>
If you only want to disable the transactions on a single web service and not all of Catalina’s API, Keep the value of DISABLETRANSACTIONS to FALSE. But add a key to web.config similar to this:
It is simple to call a stored procedure through a RESTful API call if you have Catalina’s API for Dynamics SL. You can call any stored procedure and pass parameters and retrieve data.
This is a demo on how to call a stored procedure using Postman and Catalina’s API for Dynamics SL.
First, to do this demo, you need to download and install Postman. Postman is a developer tool that allows you to interact with API’s easily so that you can test API calls to see how you call them and what data is returned. You can get Postman here: https://www.postman.com/
In the demo, we are going to call the stored procedure SOHeader_all. This stored procedure retrieves all Sales Order Headers (SOHeader) for a particular CpnyID and OrdNbr. NOTE: this is just an example. With Catalina’s API, you can call any stored procedure.
SOHeader_all has 2 parameters: – @parm1: This parameter is for the CpnyID – @parm2: This parameter is for the OrdNbr (can use a wildcard like ‘O000%’ which will bring back all orders that start with O000.
You can see what the procedure looks like here:
PROCEDURE [dbo].[SOHeader_all]
@parm1 varchar( 10 ),
@parm2 varchar( 15 )
AS
SELECT *
FROM SOHeader
WHERE CpnyID = @parm1
AND OrdNbr LIKE @parm2
ORDER BY CpnyID,
OrdNbr DESC
So, if you wanted to retrieve all orders that started with “O000” for CpnyID = “0060” you would call the stored procedure like this:
exec SOHeader_all @parm1='0060', @parm2='O000%'
So, now how to call this using Postman through Catalina’s API for SL?
First you need to know where your Catalina API is installed. I am going to use the server name yourserver.com as the domain name. So, for this example, we would look at the endpoint as the following:
As you can see above, you would replace yourServer.com with wherever your server is. And you can see <ProcedureName> in the URL. this would be replaced with the actual stored procedure name you want to call (in this example, we are going to replace it with SOHeader_all). So, the new URL for the endpoint would look like the following:
In Postman, you would make it look like below. NOTE: when calling a customSQL stored procedure, you must use the action type of “POST”
Next, you need to set the authentication. This is done on the “Authorization” tab. Catalina’s API uses “Basic Auth”. So, make sure that you set the type for “Basic Auth” in the dropdown. And then enter the username and password that was given to you from your installer.
After that, you will have been given a SiteID from your installer. You will need to create a Header for that SiteID. You do this on the headers tab. You should enter that SiteID (in my example it is “DEFAULT”, but you would use the SiteID given to you by your installer) and the default CpnyID (in my example that is “0060”, but you would use your CpnyID of your database)
Finally, you will want to enter the body of the parameters that are being passed. There are 2 parameters for SOHeader_all (@parm1 and @parm2). The format of the body that you would set is below.
So, your Body tab in Postman would look like this (NOTE: make sure you select the “raw” radio button as shown below)
Then all you have to do is simply hit the “Send” button and the system should retrieve the results from your stored procedure call. In my example, it looks like below