SCP's ecommerce system allows you to collect payments from customers as they place orders. As of this writing it integrates with both Authorize.net and PayPal.

In addition, the administrator provides functions to allow you to capture previously authorized payments, void payments, synchronize payments with the payment processors, and refund payments. For Authorize.net, you can also capture additional payments from your customers to cover additional charges (such as additional fees or costs related to the customer's order).

Here is a summary of the topics covered in this document:

Authorize.net

Enabling Authorize.net allows customers to pay via credit card or optionally a bank account using ACH, through your Authorize.net account. When Authorize.net is enabled, the Enter Payment Info step of the checkout process will include a credit card and bank account form:

image-20231118145515349

The form is hosted on Authorize.net servers, and when the customer submits their payment information, the browser submits it directly to the Authorize.net system. This has security and compliance advantages since the payment information never passes through the SCP system.

How To Connect With Authorize.net

  1. Log into your Authorize.net account at https://account.authorize.net.

  2. In the header menu, click ACCOUNT and then "API Credentials and Keys"

    image-20231118150020613

  3. Under the "Create New Key" heading, select Obtain: New Transaction Key and click Submit.

  4. Record both the new API Login ID and the new key, and enter them into the Settings -> Authorize.net screen in the SCP system. Click Save Changes to save the settings:

    image-20231118150144970

Authorize.net Configuration Settings

On the Settings -> Authorize.net Settings screen there are a number configuration settings. It is recommended to stay with the defaults. If you do change the settings, we strongly encourage you to test the changes immediately.

The "Transaction Type" setting depends on your order fulfillment workflow:

  • Authorization Only means that an authorization/hold will be placed against the payment method the customer is using, but not captured immediately. This is the most common type used by stores that sell physical goods. As the order's items are shipped, the merchant must take the extra step of capturing the payment. This may be done from the Payments & Totals section of the Customer Service form (see below).

  • Capture means that the payment's fund are immediately moved from the customer's account to the merchant's. There is no need to take the extra step of capturing, and it is possible to refund the payment afterwards (see below).

PayPal Integration

The SCP platform also integrates with PayPal. When PayPal is enabled, customers see it as an option to pay during checkout:

image-20231118144355955

Within PayPal there are options to pay via the traditional PayPal account, Venmo, Pay Later, or with a credit card processed through PayPal's service.

Clicking one of the PayPal buttons initiates a popup window, where the customer can log into their own PalPay (or Venmo) account, review their order, and agree to pay. At the end of that process, they are redirected back to the checkout flow. Typically, they will advance to the "Confirm Your Order" step. If the store is configured to not show a confirm step, the order will be completed and they'll proceed to the Thank You screen.

Note: Since PayPal's popup window allows the customer to select a shipping address, it is possible that they will change their address or select another address that is different than the one they chose earlier in the checkout flow. If this happens they will be redirected back to Enter Contact Info step. This is necessary so that the shipping and tax options and costs reflect the address they chose.

How To Connect With PayPal

  1. Create a PayPal Developer account starting at developer.paypal.com.

  2. From your developer account dashboard, click "Apps & Credentials".

  3. If you wish to do testing first, stay in the Sandbox environment. If you are going live, click "View Live Credentials."

  4. Click "Create App" to create a new Rest API app.

  5. For the App Name, enter "SCP Integration" and for Type select Merchant. Then select the PayPal Business account to associate with the app. Click the Create App button.

  6. Next to your new App, copy the Client ID and Secret Key into the corresponding settings fields in the PayPal Settings screen in SCP (under Settings -> PayPal Settings). Also indicate if the app is in the Sandbox or Live environment:

    image-20231118094253099

PayPal Configuration Options

Additional configuration options are available on the Settings -> PayPal Settings screen, including whether or not to show the option to pay by credit card, Venmo, or Pay Later.

image-20231118095851746

In addition you can select the appropriate "Checkout Transaction Type":

  • Authorize means that an authorization/hold will be placed against the payment method the customer is using, but not captured immediately. This is the most common type used by stores that sell physical goods. As the order's items are shipped, the merchant must take the extra step of capturing the payment. This may be done from the Payments & Totals section of the Customer Service form (see below).

  • Capture means that the payment's fund are immediately moved from the customer's account to the merchant's. There is no need to take the extra step of capturing, and it is possible to refund the payment afterwards (see below).

Syncing Payments From the Processor

The system supports all the most common payment actions, such as capturing, voiding, and refunding. In order for these functions to work, however, sometimes it's necessary to sync changes down from the processor (eg PayPal or Authorize.net) so that the payment's status is up to date. For example in order to initiate a refund for a given payment, the system needs to see that the payment has been Settled (Authorize.net) or Captured (PayPal).

Clicking the cloud/download icon to the right of the screen initiates a sync of the order's payment information from the payment processor (eg Authorize.net or PayPal):

image-20231110114921721

After clicking the link, the payment processor is queried for the current status of the order's payments. As a result, the status and/or the captured amount of each payment might get updated:

image-20231110115228889

Note: this sync does not create new Payments nor delete existing ones. It only searches for the status of the current payments it knows about, and updates them.

Capturing Payments That Were Previously Authorized

The most common payment flow for stores that sell physical goods is to perform an authorization/hold when the customer first places their order during checkout. Then, as you are shipping the order, you must capture that authorization to actually move the funds. To set up this flow, do one or both of the following depending on which payment processor(s) you're using:

  • For PayPal set the "Checkout Transaction Type" setting on the Settings -> PayPal Settings screen to "Authorize"

  • For Authorize.net, set the "Transaction Type" setting on the Settings -> Authorize.net Settings screen to "Authorization only"

You can capture a previously authorized payment from the "Payments and Totals" section of Customer Service form:

  1. Go to the Customer Service Dashboard and find the order you have just shipped or fulfilled.

  2. Click into the order and open up the "Payments and Totals" section:

    image-20231118100806478

  1. Review the order total, and click the "Capture" button to move the funds from the customer's account to your account. If necessary, change the amount that you are capturing.

  2. It is also possible to capture the payment from the processor's own interface. You can then click the cloud icon to synchronize the current status of the payment from the processor.

  3. Note: Only only one capture per payment is supported in this interface.

Applying Refunds

When a payment is in Settled status (Authorize.net) or Captured status (PayPal), a form appears allowing you refund all or part of the payment:

image-20231114084420264

To make sure you have the most recent status of the payment, you should click the cloud icon to synchronize the payments from the processor first. Note that syncing from the processor does not pull down any captures, authorizations, or refunds you might have made directly in the processor's interface. It only updates the status or amount of the payments already in the SCP system.

With the payment in Settled status (Authorize.net) or Captured status (PayPal), the refund form will appear allowing you to execute a refund of any amount up to the value of the payment. Once the refund is executed the system generates a new payment record representing the refund below the original payment record.

Capturing Additional Payments (Authorize.net)

If you are using the Authorize.net integration it is also possible to capture additional payments against the payment method that the customer used to place their order originally. The system leverages Authorize.net's Customer Information Manager feature to do this, and you must enable the Customer Information Manager in your Authorize.net account for it to work.

image-20231118152756816

This can be useful for cases when the customer wishes to add items to their order afterwards, or if you need to apply a fee to their order, and so on.

The feature is available on the Customer Service Form, under the "Payments and Totals" section. Simply click the plus sign under the "Capture New Payment" header, enter the amount for the additional payment and click the Capture Payment button.