Embedded in your checkout
Hand the payment’s client_secret to your page and @tuppence/js mounts secure card fields in your checkout, in your branding. Your customer stays on your site and the bank’s check opens in place. Card details go from the browser straight to our PCI DSS Level 1 card processor, never to your server or ours.
import { loadTuppence } from "@tuppence/js"; const tuppence = await loadTuppence("pk_live_…"); const sheet = tuppence.paymentSheet({ clientSecret }) .mount("#card"); // When your customer presses Pay: const { error, payment } = await sheet.confirm();