Skip to main content

ExactJS Payment Forms

Create custom, secure payment forms using ExactJS components

The ExactJS library allows you to create your own payment forms hosted on your servers and drop in UI components for entering PCI data. Since the PCI-related UI components continue to be served from our site, and the data entered into them is never submitted to your servers, you do not have to worry about data security and the burden of maintaining PCI compliance.

ExactJS gives you the freedom to design and manage payment forms without having to redirect the customer away from your checkout page and without PCI data passing through or being stored in your network.

ExactJS is designed to be used in conjunction with the Orders API. Since the customer pays directly from their browser, we need to know the details of what they will be paying for. Orders are a way of temporarily recording the details of your customer's order on our system so we can manage the payment flow. Once the customer has paid for the Order, a Payment will be created and the Order is no longer relevant.

The high-level flow is as follows:

  • you create an Order from your server with all the details of your customer's planned payment
  • we return you an Order ID and an access token
  • you initialize ExactJS on your payment page with the Order ID and the access token
  • your customer enters their payment details and ExactJS uses those to pay for the Order
  • we return a paymentId to you which you can use with our Payments API

Sections

Demo

Try it out yourself!

https://merchant-demo.plant-shop.co/

Source code:

https://github.com/exact-payments/next-merchant-demo

Swap Stripe with ExactJS

We did a case study on replacing Stripe with ExactJS, available here