This article describes how you can use the Velo Pay API to collect payments from your site's visitors for a single predefined product, outside the context of a Wix App (like Wix Stores). This article is based on this Wix Editor example site. You can open the site in the Wix Editor to work with the template.
Note: The example site and template are built on Wix Editor sites. This tutorial will be slightly different from the example site and template as its steps have been updated for a Wix Studio site with the Wix Studio features.
To learn how to use the Velo Pay API for products stored in a collection, see Velo: Using the Wix Pay API to Collect Payments for Products in a Database Collection.
In our site we added the following:
Then we added code to do the following:
Before you start working with Wix payments in code, make sure you do the following:
On the Pay API page we added:
An image of the robot for sale.
Text elements for the name, price, and description of the robot.
A Buy Now button to trigger the payment process. In the Properties & Events panel of the button, we added an onClick event handler.
We created a web module called BE_PayAPI.web.js
. Then we imported the function that we need to work with payments in backend code, as well as the webMethod
function and the Permissions
enum from the wix-web-module
module.
Then we declared the createPaymentForProduct
function, which creates and returns a payment object. We also export the function so it can be used on the client side.
Note that amount
is the sum of the price
property for all items
. In this example, there is only one item
so amount
and price
are identical.
Line 1: Import the webMethod
function and the Permissions
enum from the wix-web-module
module.
Line 2: Import the module we need to work with the Wix Pay Backend library.
Line 4: Declare the createPaymentForProduct
function, and export it with the webMethod
function and Permissions.Anyone
so it can be used on the client side. In the function, do the following:
Line 5: Return the result of the wix-backend-pay
createPayment
function, which takes a PaymentInfo
object and creates a new payment object.
Lines 6-9: Define the PaymentInfo
(product payment information) directly in the code.
If you want to use this exact scenario and code in your site, you may need to modify these items to match the ones on your site:
0.50
(amount
)DIY Robot
(name
)0.50
(price
)On the Pay API page, we start by importing the module we need to work with payments in code. We also import the createPaymentForProduct
function from the backend.
Line 1: Import the module we need to work with the Wix Pay Frontend library.
Line 2: Import the createPaymentForProduct
function from the web method where it was created (see Step 2). This function creates a payment object based on payment information for a single product defined in the backend.
There are no identifiers you would need to change here to make this code work on your site.
The button1_click
event handler runs when a visitor clicks the Buy Now button. The event handler calls backend code that returns a payment object based on product payment information.
The event handler then runs the wixPayFrontend startPayment
function with the payment object returned from the backend. This opens a payment window and prompts the user to select a payment method and continue the payment process.
In our example, we included a termsAndConditionsLink
, one of the payment options available for payments.
Line 1: When the "Buy Now" button is clicked, run an event handler that does the following:
Line 2: Run the createPaymentForProduct
function, which was imported from the backend. With the payment object that is returned, do the following:
Line 3: Run the wixPayFrontend startPayment
function with the ID of the payment object. A payment window opens prompting the user for payment information.
The startPayment
function runs with an optional termsAndConditionsLink
PaymentOption
. A checkbox with a link to a terms and conditions page is included in the payment window.
There are no identifiers you would need to change here to make this code work on your site.
In the payment window, the site visitor selects a payment method, fills in payment information, clicks Pay Now, and the transaction is completed. The visitor receives an email confirming the payment.