How-To: Integrating With Sales Portals
Your business may want to offer products or services online. You do not need a full-blown e-commerce solution or online store, but still provide some selling features via your website or a customer portal. However lightweight your solution is, you will need a payment option. Enter JustOn Cash Management: Using one API resource, the app allows you to trigger and process payments. Downstream features like payment tracking, accounts reconciliation, invoice creation etc. are included out of the box.
Think of the following scenario:
You sell a product or service on your website. On checkout, your site triggers the payment process, prompting the customer to pay their purchase. An immediate response from the payment service allows you to proceed with the order fulfillment.
For accounting purposes, you need, in addition, the solution to produce invoices and booking data.
To implement this scenario, you integrate your website or customer portal with JustOn Cash Management, an app to trigger and process payments. Including JustOn Billing & Invoice Management adds the option to create invoices and, if necessary, to prepare booking data for your accounting system.
For the purpose of this article, assume that the sales transaction data from the sales portal or web shop is saved to dedicated custom Salesforce records (sales orders).
Depending on your individual business requirements, you can use other objects to hold the relevant data, like the standard Salesforce orders and order products.
Once set up, the solution may work as follows:
(1) A customer checks out a purchase on your website or customer portal.
(2) Your website or customer portal triggers the JustOn Cash Management API to create an entry record, which, in addition to the usual entry data, holds the sales order-relevant data. Based on the created entries, JustOn Cash Management can execute a custom flow to generate sales order records from the provided sales order-relevant data.
(3) Based on the entry, JustOn Cash Management creates a link to the payment page and returns it to your website.
(4) Your website uses the payment link to redirect the customer to the payment page.
(5) The customer executes the payment using one of the provided payment methods.
(6) The immediate response from the payment service triggers the result handling implemented in your website or customer portal.
(7) In case of a successful capture, you are to deliver purchased (and now paid) product or service. In case of failed captures, the implemented error handling takes place.
(8) Once the payment is registered on the entry (status
Balanced), JustOn Billing & Invoice Management will create an invoice from the corresponding sales order record using the generic invoice run.
(9) On invoice finalization, JustOn Billing & Invoice Management will send the invoice to the customer using the address data from the account record.
Setting up the JustOn-relevant part of the outlined solution involves, consequently, at least the following tasks:
Set up JustOn Cash Management and JustOn Billing & Invoice Management.
For details, see
Build an API integration, connecting the website or customer portal with JustOn Cash Management.
For details, see JustOn Cash Management API.
The purchase data is to create entries, which, in addition to the usual entry data, hold all sales order-relevant data.
Make sure that each created entry includes a unique assignment key, which clearly relates it to the original sales order from the website or customer portal. Later, the system will use this key to associate the entry with the invoice, which will be produced from the same sales order data (see Entry Assignment).
Configure a Salesforce flow to create sales orders from the sales order data provided with the entries.
If the sales order data becomes too complex, this approach may not be appropriate. In this case, consider integrating the Salesforce REST API, too, in order to create, for instance, orders, order products and accounts.
Configure a payment provider integration in JustOn Cash Management.
For details, see Integrating Payment Provider.
Generally, the payment page of JustOn Cash Management leverages all payment methods that you have enabled as part of your account setup with the payment service provider. To support the outlined scenario, however, make sure to only provide payment methods that have immediate effect and instantly return the capture result, like cards, digital wallets or online banking payments.
Configure the payment page.
For details, see Configuring Payment Page.
In JustOn Billing & Invoice Management, configure the invoice creation from the sales orders.
For details, see Billing Arbitrary Objects.
Depending on the complexity of the sales order data, you may have sales order records that hold all relevant data (as created by the flow from entries) or, for instance, order and order product records (as created by the Salesforce REST API). Accordingly, you set up the generic invoice run for single objects or for parent-child objects.
Make sure that each created invoice includes the entry assignment key – specifying the same sales order-specific key as passed to the entry created before. This key will be used to unequivocally associate the corresponding entry with the new invoice (see Entry Assignment).