Skip to content

Choosing a Channel

A channel is how payment details get from your customer to ElasticPay. All three channels produce the same thing — a tokenised payment method (pm_xxx) confirmed against a payment intent — so your server-side integration is identical whichever you choose.

The three channels

ChannelYou buildBest for
Hosted payment pageA form POST redirectFastest integration; no front-end work
Embedded widgetA container element + a few lines of JSKeeping customers on your page
Direct APIServer-to-server calls with tokensBack-office flows, custom architectures

PCI implications

The channel determines how card data flows, which determines your PCI scope:

ChannelCard data touchesYour PCI scope
Hosted payment pageNever your site — customer pays on an ElasticPay pageSAQ A
Embedded widgetAn ElasticPay-controlled frame inside your page — never your DOM or serversSAQ A
Direct APINever — you only handle pm_xxx tokensTokens are not card data

“Embedded” here means something precise: the widget renders card inputs inside an ElasticPay-controlled frame. Your page hosts the frame but can never read the card number. That boundary is what keeps you at SAQ A — see Security & PCI Compliance.

Method support by channel

ChannelCardBECS Direct Debit
Hosted payment page— (use the BECS widget or direct API)
Embedded widgetElasticPayCardWidgetElasticPayBecsWidget
Direct API✅ (tokenised pm_xxx only)

Choosing

  • Just want to get paid? Start with the hosted payment page.
  • Want the payment form on your own page? Use the embedded widget.
  • Charging saved methods, back-office initiation, or building your own UI around tokens? Use the direct API.

Whichever you pick, start from your use case — it tells you which channel and method combination fits.