Checkout Pages
Use Finix to build custom low-code 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
- When your buyers are ready to complete their payment, create a
checkout_form
. - The
checkout_form
provides a URL you can send to buyers to redirect them to a Finix checkout form. - Buyers enter their payment details into the checkout form and complete their payment.
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 theMerchant
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
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
}
}'
{
"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