On this page: Choose a layout How to send the options Layouts 1 to 7 On a phone Background Hiding the page furniture Other display options Colours

Choose a layout

The width is the most the page will take up on a large screen. Layouts 2, 5, 6 and 7 become one column on screens narrower than about 900 pixels.

Layout Name Width Use it for What it needs
1 Single column (default) 520px Most payment links, redirects and narrow iframes Nothing extra
2 Two columns 1040px A desktop checkout with several payment methods Nothing extra
3 Full width 100% Your own iframe, where you set the width Nothing extra
4 Iframe look 600px Moving from the Iframe design and keeping the form familiar Nothing extra
5 Showcase 1180px A product page that ends in a payment A product: public_itemId
6 Invoice 1180px Invoices and itemised orders An order: shop_cartId and trans_refNum
7 Landing page 100%, checkout 960px A link sent to someone who has not decided yet A product: public_itemId

How to send the options

Add the options to your hosted page request together with ui_version=11, or make Flow the default design of your account in the MCP under Payment Page > Payment Page Settings. Every other design ignores these options, so sending them is always safe.

Added to your hosted request
&ui_version=11&Layout=2&background=eef2f7&show_chrome=true
    
Parameter Name Length Parameter description Mandatory
Layout 1 1 to 7, as listed above. An empty or unknown value gives layout 1. Optional
background 9 Page colour as a hex value. See Background. Optional
show_chrome 5 true/false. See Hiding the page furniture. Optional

These fields are part of the request, so include them in your signature if you sign the full request. You can also set all three without code in the Wizard Payment page.

The wireframes below show where each part of the page goes. They are not screenshots: colours and text are for illustration, and sections appear only when they apply to the payment. Sheet widths are drawn to scale for a 1280 pixel window. For languages that read right to left, the whole page is mirrored.

Layout 1 - Single column

Wireframe of layout 1: one narrow centred sheet with the header, order details, chosen payment method, card and customer fields, pay button and footer stacked from top to bottom.

Send Layout=1 or leave it out.

Everything is stacked in one narrow column, so the order on the screen is the order the customer works through.

BorderA thin frame around the form. On phones it is dropped and the page fills the screen.
Payment methodA step of its own: the customer picks from a list, the form opens, and a "change" link brings the list back.
Skipping the listThe list is skipped if there is only one method, if every method asks for the same details, or if your request already selects a method.
Pay buttonStays at the bottom of the screen while the customer scrolls.

The method step, the button and the frame work the same way in the other layouts unless their section says otherwise.

Layout 2 - Two columns

Wireframe of layout 2: the header runs across the top, order details and the payment method list sit in a narrower left column, the form sits in a wider right column, and the pay button runs across the bottom.

Send Layout=2.

What is being bought and how it will be paid for sit on one side, and everything the customer has to fill in sits on the other.

ColumnsOrder column 5 parts, form column 7 parts.
Payment methodThe list never goes away and the first method starts selected. This is the only layout that does this, and it also applies on a phone.
While scrollingThe order column stays in view, unless the window is shorter than 700 pixels.
Empty order columnIf nothing is left to show there, the form takes the full width.

Layout 3 - Full width

Wireframe of layout 3: the payment page fills an iframe placed on the merchant's own website, with no border of its own.

Send Layout=3.

The page fills whatever space it is given instead of being capped and centred. Use it when you place the page in your own iframe and control the width there.

BorderNever drawn, so it does not fight the edges of your iframe.
ArrangementOne column at every width, like layout 1. A small margin stays around the fields.
Your own Pay buttonSee Embed Form to trigger the payment from your page with show_PayButton=false.

Layout 4 - Iframe look

Wireframe of layout 4: one centred sheet, slightly wider than layout 1, with a soft shadow and underlined fields instead of boxed fields.

Send Layout=4.

The look of the Iframe design on top of the Flow page. The structure is the same as layout 1, and only the styling changes.

Sheet600 pixels wide with a soft shadow.
FieldsUnderlined instead of boxed, with a larger label above each one.
ColoursUses the Iframe design's dark indigo. See Colours to change it.

Layout 5 - Showcase

Wireframe of layout 5: a large product image with thumbnails, the name, description, price, quantity picker and total on the left, and a shaded payment column on the right. The pay button runs across the bottom.

Send Layout=5&public_itemId=88. The picker and unit price appear with show_quantity=true.

An even split with the product as the main content, for a customer who is still looking at what they are buying.

Product sideMain image with thumbnails, name, description and total.
Payment sideA slightly narrower shaded column with the method and the form.
Without a productThe left side shows the normal order details instead.
Product not availableThe form is replaced by a message explaining why. See Product fields.

Layout 6 - Invoice

Wireframe of layout 6: an invoice document on the left with status, invoice number, both parties, a line item table, totals and a print button, and a white payment column on the right. The pay button runs across the bottom.

Send Layout=6 with shop_cartId and trans_refNum. Invoices created in the control panel already carry both.

A full invoice document with the payment form beside it, for a payer who wants to check the lines and then settle.

DocumentStatus, invoice number, issue date, both parties, line items, tax, totals and the balance due, all taken from your own records.
Payment sideA narrower white column that stays in view down a long invoice, unless the window is shorter than 700 pixels.
PrintingA "Print or save as PDF" button prints the document alone.
Without an orderIf the records are missing or belong to another merchant, the normal order details are shown with their lines open.
Not shownThere is no due date or overdue state.

Layout 7 - Landing page

Wireframe of layout 7: a dark full width hero with the product name, price, a continue button and image, then a story band, then a checkout card with order details beside the form, a pay button, and a help band with email, phone and website.

Send Layout=7&public_itemId=88.

A full marketing page with the checkout further down. It is a stack of full width bands rather than a single sheet, and no border is drawn around it.

HeroYour business name, the product name, the price, a button down to the checkout and the first product image.
StoryThe description, keeping the line breaks you typed, and up to three more images. Dropped if you have neither.
CheckoutThe price and form in a 960 pixel card. Unlike the other layouts, the Pay button does not follow the customer down the page.
HelpYour account's support email, support phone and website. Only the ones you filled in appear, and the band is dropped if there are none.
Without a productThe hero uses your disp_payFor text, or else your business name, and has no image.
Product not availableThe hero button reads "Out of stock" or "Not available" and leads to the message in the checkout band.

On a phone

Below about 900 pixels the side by side layouts become a single column, with the product or invoice first. You can send the same layout for all of your traffic. Layouts 1, 3 and 4 are already a single column.

Wireframes of layouts 2, 5, 6 and 7 on a phone. Each is one column: header, then order, product or invoice content, then the form and the pay button.

Background

Send background to set the colour behind the form. The form itself stays white.

Three wireframes of the same form: on the default grey backdrop with a border, on a blue background with a border, and on a white background with no border.
Accepted valuesHex colours of 3, 6 or 8 digits, with or without the leading #. Write the # as %23 in a URL, or leave it out. Any other value, such as red, is ignored and the default is used.
If you do not send itThe backdrop is half transparent, so your own page shows through when the form is in an iframe.
WhiteThe border is removed, because there is nothing to separate the form from.
Layout 3Never has a border, whatever the colour.
Layout 7The colour fills the page behind the bands.

Hiding the page furniture

Send show_chrome=false to leave only the payment form and the Pay button, for example when your own page already shows the logo and the order. The values 0 and no work too. Anything else, or leaving it out, keeps the normal page.

Two wireframes side by side: the normal page with header, order details and footer, and the same page with show_chrome=false showing only the form and the pay button.
RemovedThe header with logo and language selector, the footer with security marks and brand line, the order details, and the total bar that appears on scrolling.
KeptAmount, shipping and installment choices, because the customer still has to answer them. Also the payment methods, and the countdown if you sent ExpiredOn.
With layouts 5, 6 and 7The product, the invoice document and the landing bands all count as furniture and are removed too, so these layouts lose their purpose. Use one or the other.

Other display options

These are not specific to Flow, but they also change what the customer sees on it.

Parameter Name What it does on Flow
show_edit Details you sent are normally collapsed behind an Edit link. false removes the personal, billing and shipping sections completely, so anything you did not send is never collected.
show_marketing false hides the marketing consent checkbox.
show_PayButton false hides our Pay button so that yours can trigger the payment. See Embed Form.
show_quantity true with a product adds a quantity picker, and the catalogue prices the order. See Product fields.
disp_lngList Narrows the languages offered in the header, or hide removes the selector.
ExpiredOn Shows a countdown above the form. See Expiration Time.
isTOPUP 1 adds the recipient section. See Top Up.

Apple Pay and Google Pay buttons appear at the top of the card step. See Apple Pay and Google Pay.

Colours

Flow has its own colour settings. Add them to your Custom CSS. The --Gateway settings described on that page belong to the older designs and do not apply here.

Custom CSS
:root {
  --flow-accent: #1a5fd0;          /* links, selected options */
  --flow-accent-hover: #164ea9;
  --flow-accent-contrast: #ffffff; /* text on the accent colour */
  --flow-accent-soft: #eef3fd;
  --flow-focus: #1a5fd0;           /* outline of the active field */
  --flow-submit-ready: #0d7048;    /* Pay button once the form is complete */
}

/* Layout 4 sets its own colours, so address it directly */
body.flow[data-layout="4"] {
  --flow-accent: #251d60;
}

/* The hero of layout 7 */
body.flow[data-layout="7"] {
  --flow-hero-bg: #14161b;
  --flow-hero-ink: #ffffff;
}