AIUNIFY Funnels can process supported Product checkout requests directly from a Landing Page.
The checkout workflow identifies:
The public Landing Page checkout submits to the application's Order-submission workflow using the Landing Page's unique code.
The confirmed order-submission route is throttled to 60 requests per minute.
The checkout controller recognizes two supported request patterns.
| Form checkout using paymentmethod | Accepts PayPal, Bank Transfer, or Stripe. |
| Checkout button using _type | Accepts PayPal, Stripe, or COD. |
When the request contains paymentmethod, the supported values are:
paypalbanktransferstripeWhen the request contains _type, the supported values are:
paypalstripecodIf a submitted payment type is not among the accepted values for the applicable checkout pattern, the workflow returns:
Not found type payment
If neither a valid paymentmethod nor _type is supplied, the workflow returns:
Not found payment method or type
The checkout request includes an internal Product identifier.
AIUNIFY Funnels looks up that Product before creating the Order.
If the Product cannot be found, checkout returns:
Not found products
The controller also finds the Landing Page using the unique code supplied in the Order-submission route.
If the Landing Page cannot be found, the workflow returns:
Not found LandingPage
Before creating a gateway request, AIUNIFY Funnels checks the Landing Page owner's Account Settings when PayPal or Stripe is selected.
| PayPal | Requires Client ID and Secret. |
| Stripe | Requires Publishable key and Secret key. |
The Order workflow can collect additional submitted checkout fields.
Before creating the Order, the application removes these technical request fields from the customer field collection:
_type_productid_tokenpaymentmethodThe remaining submitted keys and values are stored as the Order's customer field_values.
The confirmed checkout workflow creates an Order with:
| User ID | The owner of the Landing Page. |
| Landing Page ID | The Landing Page that produced the checkout. |
| Product Name | Copied from the Product at checkout time. |
| Gateway | The selected payment method. |
| Total | Copied from the Product Price. |
| Field Values | Additional customer information submitted by the checkout. |
| Paid | Initially false when the Order is created. |
| Browser | The detected browser family. |
| OS | The detected platform family. |
| Device | The application's detected device classification. |
| Currency | Copied from the Product. |
The Order database structure gives new Orders the default status:
OPEN
Order status and payment status are separate and are managed independently.
The confirmed workflow creates the Order record before it branches into Stripe, PayPal, COD, or Bank Transfer handling.
This is important when reviewing Orders after an incomplete or unpaid checkout: an Order record can exist even when the payment has not become Paid.
For Stripe, AIUNIFY Funnels creates a Stripe Checkout Session with:
The Order model contains specific handling for currencies that do not use the normal two-decimal conversion.
For other currencies, the Order total is multiplied by 100 when producing the Stripe smallest-unit amount.
Users should still verify that the intended currency is supported by their Stripe account.
When the Stripe return workflow retrieves a Checkout Session whose payment status is paid, AIUNIFY Funnels:
For PayPal, AIUNIFY Funnels initializes the PayPal REST gateway using the Landing Page owner's:
The PayPal purchase request uses the Order Total, Currency, Product Name, cancel URL, return URL, and notification URL.
If PayPal requests an offsite redirect, AIUNIFY Funnels returns the PayPal redirect URL to the Landing Page checkout.
After the customer returns with the required PayPal identifiers, the application completes the purchase.
When PayPal reports success, the Order reference is stored, the Order is marked Paid, and the visitor is sent to the configured payment-success destination.
COD and Bank Transfer follow a different confirmed application path from Stripe and PayPal.
For those two methods, the Order is created with Paid = false, and the application returns the configured Landing Page payment-success destination without an external card-gateway confirmation step in this controller.
The Order can later be reviewed and its payment status managed through the Orders workspace as appropriate to the business transaction.
After the applicable successful gateway workflow—or immediately after the supported COD/Bank Transfer order creation path—the application determines where the visitor should go.
If the Landing Page payment-success type is URL, it uses the configured Payment Redirect URL.
Otherwise it uses:
[Landing Page URL]/thank-you
The general Order gateway-cancel workflow returns the visitor to the associated Landing Page when that Landing Page can be found.
A canceled checkout should not be interpreted as proof of payment.
An Order has both:
| Operational Status | OPEN, COMPLETED, or CANCELED. |
| Payment Status | Paid or Not paid. |
For example, an Order can remain OPEN while already Paid, or an offline-payment Order can remain Not paid until payment is verified manually.
Operating principle: Order creation and successful payment are not the same event. AIUNIFY Funnels creates the Order first and updates Paid status only according to the applicable payment workflow.