Skilljar enables you to use an external payment gateway to process e-commerce transactions for the courses or bundles you sell. With this configuration, payments will happen outside of Skilljar.
Developer Resources Required! Developer resources will be required for this process - as you will be building an integration between Skilljar's API and your payment processor.
To configure an external payment gateway in Skilljar, please contact your Implementation Manager, Customer Success Manager, or Skilljar Support. You'll need to provide them with the Remote Checkout URL, which is the address of your external payment checkout page.
Here's how it works:
1. When a user goes to purchase a course or bundle, they can select the quantity and apply a promo code on the Skilljar Checkout Page. With the external payment processor configured, there will be a single button below the purchase details.
When a user clicks on "Proceed to Checkout", they'll be redirected to the external payment checkout URL with the purchase_id appended to the URL as a query parameter.
For example: https://example.com/checkout/?purchase_id={purchase_id}, where {purchase_id} is the unique ID of the purchase.
*The external payment checkout URL is a non-Skilljar landing page (created by you) that users will be redirected to to complete the payment transaction
2. When the user is redirected to your payment checkout page, you will need to call Skilljar's API to get the purchase details using the purchase_id:
GET https://api.skilljar.com/v1/purchases/{purchase_id}
This will retrieve the user's information, order quantity, offer details, price, etc. New purchase objects are initialized with their state field set as "CREATED". It will be up to you to process the user's payment details and then call Skilljar's fulfillment API in later steps before the purchase will be considered successful.
3. You can then collect and process the payment from your customer, including any billing, shipping, taxes, and other relevant costs. How you collect payment information and call your payment gateway is outside the scope of this documentation. These are details that you will implement either in your external checkout page, or by redirecting the user to your payment provider's hosted checkout page.
4. After the payment processor has processed the payment you'll call Skilljar's API to fulfill or cancel the purchase -- this will create the appropriate enrollments, domain access, or generate promo codes (for bulk purchases), etc within Skilljar:
POST https://api.skilljar.com/v1/purchases/{purchase_id}/fulfill
5. The purchase fulfillment API returns a "redirect_url" which is the URL you will use to redirect the user's browser back to Skilljar after the payment has been processed. Assuming the purchase event is successful, this redirect will drop users back to the Skilljar course or course bundle that they've just purchased, (or a Skilljar-hosted "thank you" page if applicable).
(Optional) Before fulfilling the purchase, you can call Skilljar's API to update the purchase; adding taxes or other checkout transaction details:
PUT https://api.skilljar.com/v1/purchases/{purchase_id}
If you are using Skilljar's course registration email functionality, you will want to ensure the purchase details accurately what was charged to the customer - as these are included within that email.
If you don't have access to Skilljar's API feature, please contact your Customer Success Manager or Account Manager for more information!