Checkout Pages

Use Finix to build custom low-code Checkout Pages.


Checkout Pages

Using checkout pages you can quickly accept payments from buyers with minimal development work. Checkout pages are a low-code solution that enables you to create a customizable payment page where buyers can easily enter their payment details and submit a payment on both desktop and mobile devices.

Checkout pages are only available via the Finix API. If you want to create a similar experience on the Dashboard, look into our Payment Links.


Buyer Experience

  1. When your buyers are ready to complete their payment, create a checkout_form.
  2. The checkout_form provides a URL you can send to buyers to redirect them to a Finix checkout form.
  3. Buyers enter their payment details into the checkout form and complete their payment.

Checkout Form


Supported Payment Methods

Checkout pages support:

  • Card payments
  • Bank account payments (ACH in USA)

For more details about ACH payments, see ACH Direct Debits.


Checkout Form Expiration

By default, checkout_forms expire after 10 minutes. You can extend the expiration date to a maximum of 3 weeks. Please note the expiration time of the checkout_form must be less than your cart expiration time; otherwise, timeout issues can come up for your buyers when submitting a payment.

checkout_forms can only be used once. After a buyer makes a successful payment, the checkout_form cannot be used again. If a buyer returns to a successful checkout_form link, they'll see a You have already paid message and/or get redirected to a new page.


Finix API

To create a checkout form, include:

  • The ID of the Merchant that the payment will be created under.
  • The amount of the transaction.
  • Any additional URLs (terms of service required).
  • Allowed payment methods.

At this time, only APPROVED Merchants with one of the following processors can create checkout pages:

  • DUMMY_V1
  • LITLE_V1
  • FINIX_V1
Checkout Form Request
curl https://finix.sandbox-payments-api.com/checkout_forms \
    -H "Content-Type: application/json" \
    -u USsRhsHYZGBPnQw8CByJyEQW:8a14c2f9-d94b-4c72-8f5c-a62908e5b30e \
    -X POST \
    -d '{
        "merchant_id": "MUucec6fHeaWo3VHYoSkUySM",
        "payment_frequency": "ONE_TIME",
        "is_multiple_use": false,
        "allowed_payment_methods": ["PAYMENT_CARD"],
        "nickname": "string",
        "items": [
            {
                "image_details": {
                    "primary_image_url": "https://images.unsplash.com/photo-1511499767150-a48a237f0083?q=80&w=2980&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
                    "alternative_image_urls": [
                        "https://google.com/image1",
                        "https://google.com/image2"
                    ]
                },
                "description": "These are cool sunglasses",
                "price_details": {
                    "sale_amount": 4000,
                    "currency": "USD",
                    "price_type": "PROMOTIONAL",
                    "regular_amount": 5000
                },
                "quantity": "1"
            }
        ],
        "buyer_details": {
            "first_name": "Oscar",
            "last_name": "Barillas",
            "email": null,
            "shipping_address": null,
            "billing_address": null,
            "phone_number": null
        },
        "amount_details": {
            "amount_type": "FIXED",
            "total_amount": 5418,
            "currency": "USD",
            "min_amount": null,
            "max_amount": null,
            "amount_breakdown": {
                "subtotal_amount": 3994,
                "shipping_amount": 995,
                "estimated_tax_amount": 429,
                "discount_amount": "1000",
                "tip_amount": "1000"
            }
        },
        "branding": {
            "brand_color": "#fbe5d0",
            "accent_color": "#ff4838",
            "logo": "https://s3.amazonaws.com/customer-uploaded-assets-prod/04-12-2023-05_13_37_ACME_logo-01%20%281%29.png",
            "icon": "https://s3.amazonaws.com/customer-uploaded-assets-prod/04-12-2023-05_13_37_ACME_logo-01%20%281%29.png"
        },
        "additional_details": {
            "collect_name": true,
            "collect_email": true,
            "collect_phone_number": true,
            "collect_billing_address": true,
            "collect_shipping_address": true,
            "success_return_url": "https://www.example.com/success/123rw21w.html ",
            "cart_return_url": "https://www.example.com/my_cart.html",
            "expired_session_url": "https://example.com/error.html ",
            "terms_of_service_url": "https://example.com/terms_of_service.html ",
            "expiration_in_minutes": 57680
        }
    }'
Checkout Form
{
    "id": "checkout_form_cgiWUmK32ssj1nsuqQsVK",
    "created_at": "2024-10-18T03:52:54.321458Z",
    "updated_at": "2024-10-18T03:52:54.321458Z",
    "merchant_id": "MUucec6fHeaWo3VHYoSkUySM",
    "application_id": "APgPDQrLD52TYvqazjHJJchM",
    "payment_frequency": "ONE_TIME",
    "allowed_payment_methods": ["PAYMENT_CARD"],
    "nickname": "string",
    "state": "ACTIVE",
    "items": [
        {
            "image_details": {
                "primary_image_url": "https://images.unsplash.com/photo-1511499767150-a48a237f0083?q=80&w=2980&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
                "alternative_image_urls": [
                    "https://google.com/image1",
                    "https://google.com/image2"
                ]
            },
            "description": "These are cool sunglasses",
            "price_details": {
                "sale_amount": 4000,
                "currency": "USD",
                "price_type": "PROMOTIONAL",
                "regular_amount": 5000
            },
            "name": null,
            "quantity": 1
        }
    ],
    "buyer_details": {
        "identity_id": null,
        "first_name": "Oscar",
        "last_name": "Barillas",
        "email": null,
        "phone": null,
        "billing_address": null,
        "shipping_address": null
    },
    "amount_details": {
        "amount_type": "FIXED",
        "total_amount": 5418,
        "currency": "USD",
        "min_amount": null,
        "max_amount": null,
        "amount_breakdown": {
            "subtotal_amount": 3994,
            "shipping_amount": 995,
            "estimated_tax_amount": 429,
            "discount_amount": 1000,
            "tip_amount": 1000
        }
    },
    "branding": {
        "brand_color": "#fbe5d0",
        "accent_color": "#ff4838",
        "logo": "https://s3.amazonaws.com/customer-uploaded-assets-prod/04-12-2023-05_13_37_ACME_logo-01%20%281%29.png",
        "icon": "https://s3.amazonaws.com/customer-uploaded-assets-prod/04-12-2023-05_13_37_ACME_logo-01%20%281%29.png",
        "logo_alternative_text": null,
        "button_font_color": null
    },
    "additional_details": {
        "collect_name": true,
        "collect_email": true,
        "collect_phone": false,
        "collect_billing_address": true,
        "collect_shipping_address": true,
        "success_return_url": "https://www.example.com/success/123rw21w.html ",
        "cart_return_url": "https://www.example.com/my_cart.html",
        "expired_session_url": "https://example.com/error.html ",
        "terms_of_service_url": "https://example.com/terms_of_service.html ",
        "expiration_in_minutes": 57680,
        "send_receipt": false,
        "receipt_requested_delivery_methods": []
    },
    "link_url": "https://link.sandbox-payments-checkout.com/fLnady",
    "link_expires_at": "2024-11-27T05:12:54.177946Z",
    "tags": {},
    "_links": {
        "self": {
            "href": "https://finix.sandbox-payments-api.com/checkout_forms/checkout_form_cgiWUmK32ssj1nsuqQsVK"
        }
    }
}

Checkout Form States

When a checkout_form is successful, the state of the checkout form will update to COMPLETED.

If a checkout_form is unsuccessful, the buyer is taken back to the checkout form to try submitting payment details again. The checkout_form#state will remain ACTIVE until the form expires or gets deactivated.


Successful Payments

When a buyer successfully submits a checkout_form, the state of the checkout_form updates to COMPLETED.


Terms of Service

You must include a URL to your terms of service when creating a checkout_form.

You must include your terms and services with every checkout_form you create. Your terms and conditions should contain the following information:

General Terms

  • A description of the product or service that you are selling or offering.
  • Any third parties involved in the product you are selling or offering.
  • Reference to which governing law applies to you and your buyers.

Privacy Policy

  • Any data you are storing.
  • Any data you are sharing with third parties.
  • Your cookie policy.

Shipping and Delivery Information

  • Expected delivery and shipping timelines
  • Any restrictions to where you can ship or deliver your goods or services

Refunds and Cancellations

  • Your general refund policies (e.g., 10 days, 30 days, no refunds allowed).
  • Directions on submitting a refund request or canceling a subscription.

Contact Information

You should include general contact information such as:

  • Business name
  • Doing Business as
  • Support Email address
  • Support Phone number