What are Payment Processors?
In order to accept payments, you need an account with one of our supported processors. The user will submit their credit card information using one of these processors, which will then charge the card and transfer the money to your account; this means that Knack does not store any credit card information.
Supported Processors
Knack currently supports the following two processors (we may consider adding more in the future):
Stripe (recommended)
We recommend Stripe because it offers a more seamless experience. Your user can complete the entire payment process directly from Knack and you can implement features for a customer to store their card information to make easy future payments.
You can also sync your customers between Knack and Stripe by storing a customer's payment method. You can learn more about this in Store Payment Method.
We use the Stripe.js v2 library to send the card data from our front end, we never allow credit card data to touch our servers.
Click here to sign up for a Stripe account.
Note: Currently, the only payment methods available with Stripe are credit cards.
PayPal Express Checkout
The other payment processor available is PayPal. With this processor, your app users can use their own PayPal account to make a payment. If your user chooses PayPal during the payment process, they will be redirected to a new PayPal page and then redirect back to the Completion Page in the Live App.
From the PayPal page the user can choose to use a credit card or their PayPal funds to make the payment.
Click here to sign up for a PayPal account.
Note: With Paypal, you can use any payment method you've linked to your account.
Manage Payment Processors
Add Payment Processors
Payment processors can be added in the E-Commerce Settings of your app.
You can add multiple processors of the same type (2 different Stripe accounts, for example). To add a new processor, click on the ‘Add Processor’ button and Select a Processor Type:
Depending on the Processor selected, you’ll need to enter the following credentials:
Stripe Credentials
The following credentials are required. You can retrieve your all of these from your Stripe API Keys page
-
Test Secret Key
-
Test Publishable Key
-
Live Secret Key
-
Live Publishable Key
-
Default Currency
To get your Stripe Live & Test Credentials, follow these steps here.
PayPal Credentials
The following credentials are required.
-
Username
-
Password
-
Signature
-
Test Username
-
Test Password
-
Test Signature
-
Default Currency
You can retrieve these from the Account Settings page on your PayPal business account.
From there go to Settings > Account Settings. Next select "Account access" and then choose to update the "API Access".
Navigate to the section called "NVP/SOAP API integration (Classic)". From there, it lets you request an API signature and the username, password and the signature to use are displayed.
You can find the full instructions to get your Paypal API credentials, here.
Edit Payment Processors
Once added, you can edit your payment processor at any time by clicking on the edit icon next to the processor name.
Delete Payment Processors
Payment processors can be deleted from your app’s E-Commerce Settings. If you delete a Processor that’s currently being used in a Payment View, you’ll need to assign a new Payment Processor before the view can be used again.
Click on the delete icon to delete a specific processor:
Use Payment Processors in your Apps
Now that you have added at least one payment processor, you can use it in any Payment view. You can control an existing payment view’s payment processor at any time from the Settings tab:
Multiple Payment Processors in a single Payment View
One of each Processor type can be enabled in a payment view:
The only exception is in a customer view, where only Stripe processors can be used.
When more than one processor type is enabled, the user has the option to choose a processor at the time of payment:
Notes & Troubleshooting
- If you delete a Processor that’s currently being used in a payment view, you’ll need to assign a new payment processor before the view can be used again.