{"id":49819,"date":"2026-08-24T15:35:47","date_gmt":"2026-08-24T13:35:47","guid":{"rendered":"https:\/\/www.recharge.com\/blog?p=49819"},"modified":"2026-09-21T14:31:32","modified_gmt":"2026-09-21T12:31:32","slug":"fc-points-explained-cost-calculator","status":"publish","type":"post","link":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator","title":{"rendered":"FC Points Explained: Prices, Cheapest Bundles &#038; Cost Calculator"},"content":{"rendered":"\n<p>FC Points are the premium currency of EA Sports FC&rsquo;s Ultimate Team: you buy them with real money and spend them on packs, draft entries and other Ultimate Team content. The catch is that EA sells them in fixed bundles, from 100 up to 12,000, so the bundle you pick decides what you actually pay per point.<\/p>\n\n\n\n<p>Tell the calculator how many points you need and it finds the cheapest bundle combination &mdash; plus the gift cards that would cover the total if you&rsquo;d rather not put a bank card on your account.<\/p>\n\n\n\n<div class=\"rcw-fcpts\">\n<style>\n  \/* FC Points Cost Calculator \u2014 scoped to .rcw-fcpts *\/\n  .rcw-fcpts {\n    --bg: #f2f3f6;            \/* cool paper *\/\n    --card: #fbfcfd;\n    --card-2: #f5f6f9;        \/* inset panels, details *\/\n    --ink: #222b36;           \/* slate ink *\/\n    --ink-soft: #5a6674;\n    --ink-faint: #8b96a3;\n    --line: #c9d0d9;          \/* rules *\/\n    --line-soft: #e2e6ec;     \/* hairlines *\/\n    --accent: #96660d;        \/* brass, text-safe on card *\/\n    --accent-soft: #f5ecd8;   \/* brass wash *\/\n    --accent-edge: #cfa64a;   \/* coin rim *\/\n    --cta-bg: #82570a;        \/* brass, deep enough for white text *\/\n    --cta-bg-hover: #6d4a08;\n    --cta-ink: #ffffff;\n    --save-ink: #1e7a4d;      \/* credit-entry green *\/\n    --save-soft: #e2f2e9;\n    --input-bg: #ffffff;\n    --focus: #96660d;\n    --shadow: 0 1px 2px rgba(34, 43, 54, 0.06), 0 8px 24px rgba(34, 43, 54, 0.07);\n    --font-display: \"Avenir Next\", Avenir, Futura, \"Segoe UI\", system-ui, sans-serif;\n    --font-body: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n    background: var(--bg);\n    color: var(--ink);\n    font-family: var(--font-body);\n    border-radius: 16px;\n    padding: 1.75rem 1.25rem 1.25rem;\n  }\n  .rcw-fcpts, .rcw-fcpts *, .rcw-fcpts *::before, .rcw-fcpts *::after { box-sizing: border-box; }\n\n  .rcw-fcpts .fcp {\n    max-width: 720px;\n    margin: 0 auto;\n    font-size: 1rem;\n    line-height: 1.5;\n  }\n  .rcw-fcpts .num, .rcw-fcpts input, .rcw-fcpts table, .rcw-fcpts .fcp-chip, .rcw-fcpts output {\n    font-variant-numeric: tabular-nums;\n  }\n\n  \/* ---- header ---- *\/\n  .rcw-fcpts .fcp-kicker {\n    display: flex;\n    align-items: center;\n    gap: 0.5rem;\n    font-family: var(--font-display);\n    font-size: 0.75rem;\n    font-weight: 600;\n    letter-spacing: 0.14em;\n    text-transform: uppercase;\n    color: var(--accent);\n    margin: 0 0 0.5rem;\n  }\n  .rcw-fcpts .fcp-coin {\n    width: 0.85em; height: 0.85em;\n    border-radius: 50%;\n    border: 2px solid var(--accent);\n    box-shadow: inset 0 0 0 2px var(--accent-soft);\n    background: var(--accent-edge);\n    flex: none;\n  }\n  .rcw-fcpts .fcp h2 {\n    font-family: var(--font-display);\n    font-size: clamp(1.6rem, 5vw, 2.1rem);\n    font-weight: 700;\n    letter-spacing: -0.015em;\n    line-height: 1.15;\n    color: var(--ink);\n    margin: 0 0 0.4rem;\n  }\n  .rcw-fcpts .fcp-sub {\n    color: var(--ink-soft);\n    margin: 0 0 1.5rem;\n    max-width: 34rem;\n  }\n\n  \/* ---- tool card ---- *\/\n  .rcw-fcpts .fcp-card {\n    background: var(--card);\n    border: 1px solid var(--line-soft);\n    border-top: 3px solid var(--accent);\n    border-radius: 10px;\n    box-shadow: var(--shadow);\n    padding: 1.25rem 1.25rem 1.5rem;\n  }\n  @media (min-width: 540px) {\n    .rcw-fcpts .fcp-card { padding: 1.5rem 1.75rem 1.75rem; }\n  }\n\n  .rcw-fcpts .fcp-fieldrow {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 1rem 1.25rem;\n    align-items: flex-end;\n  }\n  .rcw-fcpts .fcp-field { flex: 1 1 14rem; min-width: 0; }\n  .rcw-fcpts label, .rcw-fcpts .fcp-grouplabel {\n    display: block;\n    font-family: var(--font-display);\n    font-size: 0.8rem;\n    font-weight: 600;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: var(--ink-soft);\n    margin-bottom: 0.45rem;\n  }\n  .rcw-fcpts input[type=\"number\"] {\n    width: 100%;\n    font-family: var(--font-display);\n    font-size: 1.5rem;\n    font-weight: 600;\n    color: var(--ink);\n    background: var(--input-bg);\n    border: 1px solid var(--line);\n    border-radius: 8px;\n    padding: 0.5rem 0.75rem;\n    appearance: textfield;\n    -moz-appearance: textfield;\n  }\n  .rcw-fcpts input[type=\"number\"]::-webkit-outer-spin-button,\n  .rcw-fcpts input[type=\"number\"]::-webkit-inner-spin-button { appearance: none; margin: 0; }\n\n  .rcw-fcpts .fcp-seg {\n    display: inline-flex;\n    border: 1px solid var(--line);\n    border-radius: 8px;\n    overflow: hidden;\n    background: var(--input-bg);\n  }\n  .rcw-fcpts .fcp-seg button {\n    font-family: var(--font-display);\n    font-size: 0.9rem;\n    font-weight: 600;\n    color: var(--ink-soft);\n    background: none;\n    border: none;\n    border-left: 1px solid var(--line-soft);\n    padding: 0.6rem 0.9rem;\n    cursor: pointer;\n  }\n  .rcw-fcpts .fcp-seg button:first-child { border-left: none; }\n  .rcw-fcpts .fcp-seg button[aria-pressed=\"true\"] {\n    background: var(--accent-soft);\n    color: var(--accent);\n  }\n\n  .rcw-fcpts .fcp-chips {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    margin: 1rem 0 0;\n    padding: 0;\n    list-style: none;\n  }\n  .rcw-fcpts .fcp-chip-wrap { display: flex; }\n  .rcw-fcpts .fcp-chip {\n    font-family: var(--font-display);\n    font-size: 0.9rem;\n    font-weight: 600;\n    color: var(--ink);\n    background: var(--card);\n    border: 1px solid var(--line);\n    border-radius: 7px;\n    padding: 0.4rem 0.7rem;\n    cursor: pointer;\n    text-align: left;\n  }\n  .rcw-fcpts .fcp-chip small {\n    display: block;\n    font-family: var(--font-body);\n    font-size: 0.68rem;\n    font-weight: 400;\n    color: var(--ink-faint);\n    letter-spacing: 0.02em;\n  }\n  .rcw-fcpts .fcp-chip[aria-pressed=\"true\"] {\n    border-color: var(--accent);\n    background: var(--accent-soft);\n    color: var(--accent);\n  }\n  .rcw-fcpts .fcp-chip[aria-pressed=\"true\"] small { color: var(--accent); }\n\n  \/* ---- ledger result ---- *\/\n  .rcw-fcpts .fcp-result {\n    margin-top: 1.5rem;\n    border-top: 1px solid var(--line);\n    padding-top: 1.1rem;\n  }\n  .rcw-fcpts .fcp-result-label {\n    font-family: var(--font-display);\n    font-size: 0.8rem;\n    font-weight: 600;\n    letter-spacing: 0.08em;\n    text-transform: uppercase;\n    color: var(--ink-soft);\n    margin: 0 0 0.6rem;\n  }\n  .rcw-fcpts .fcp-empty { color: var(--ink-soft); margin: 0; }\n\n  .rcw-fcpts .fcp-row {\n    display: flex;\n    align-items: baseline;\n    gap: 0.5rem;\n    padding: 0.18rem 0;\n  }\n  .rcw-fcpts .fcp-row .lbl { white-space: nowrap; }\n  .rcw-fcpts .fcp-row .leader {\n    flex: 1;\n    min-width: 1.5rem;\n    border-bottom: 2px dotted var(--line);\n    transform: translateY(-0.28em);\n  }\n  .rcw-fcpts .fcp-row .val { white-space: nowrap; }\n  .rcw-fcpts .fcp-row.fcp-sm { font-size: 0.875rem; color: var(--ink-soft); }\n  .rcw-fcpts .fcp-row.fcp-sm .leader { border-bottom-color: var(--line-soft); }\n\n  .rcw-fcpts .fcp-total {\n    display: flex;\n    align-items: baseline;\n    justify-content: space-between;\n    gap: 1rem;\n    flex-wrap: wrap;\n    margin: 0.75rem 0 0.35rem;\n    padding-top: 0.6rem;\n    border-top: 1px solid var(--line);\n  }\n  .rcw-fcpts .fcp-total .fcp-word {\n    font-family: var(--font-display);\n    font-weight: 600;\n    font-size: 0.95rem;\n    letter-spacing: 0.06em;\n    text-transform: uppercase;\n    color: var(--ink-soft);\n  }\n  .rcw-fcpts .fcp-total .fcp-amount {\n    font-family: var(--font-display);\n    font-size: clamp(2rem, 7vw, 2.6rem);\n    font-weight: 700;\n    letter-spacing: -0.01em;\n    line-height: 1.1;\n    font-variant-numeric: tabular-nums;\n    border-bottom: 3px double var(--ink);  \/* accountant's double rule *\/\n    padding-bottom: 0.1em;\n  }\n  .rcw-fcpts .fcp-save {\n    display: inline-block;\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--save-ink);\n    background: var(--save-soft);\n    border-radius: 6px;\n    padding: 0.25rem 0.6rem;\n    margin-top: 0.5rem;\n  }\n\n  \/* ---- wallet block ---- *\/\n  .rcw-fcpts .fcp-wallet {\n    margin-top: 1.25rem;\n    background: var(--card-2);\n    border: 1px solid var(--line-soft);\n    border-radius: 8px;\n    padding: 0.9rem 1rem 1rem;\n  }\n  .rcw-fcpts .fcp-wallet h3 {\n    font-family: var(--font-display);\n    font-size: 0.8rem;\n    font-weight: 600;\n    letter-spacing: 0.08em;\n    text-transform: uppercase;\n    color: var(--accent);\n    margin: 0 0 0.4rem;\n  }\n  .rcw-fcpts .fcp-wallet p { margin: 0 0 0.35rem; }\n  .rcw-fcpts .fcp-wallet .fcp-cards {\n    font-family: var(--font-display);\n    font-size: 1.25rem;\n    font-weight: 700;\n    font-variant-numeric: tabular-nums;\n  }\n  .rcw-fcpts .fcp-wallet .fcp-cover { font-size: 0.875rem; color: var(--ink-soft); }\n\n  .rcw-fcpts .fcp-cta {\n    display: inline-block;\n    font-family: var(--font-display);\n    font-size: 1rem;\n    font-weight: 600;\n    color: var(--cta-ink);\n    background: var(--cta-bg);\n    border-radius: 8px;\n    padding: 0.7rem 1.3rem;\n    text-decoration: none;\n    margin-top: 0.75rem;\n  }\n  .rcw-fcpts .fcp-cta:hover { background: var(--cta-bg-hover); color: var(--cta-ink); }\n  .rcw-fcpts .fcp-cta-alt {\n    font-size: 0.875rem;\n    color: var(--ink-soft);\n    margin: 0.5rem 0 0;\n  }\n  .rcw-fcpts .fcp-cta-alt a { color: var(--accent); text-decoration: underline; }\n\n  \/* ---- notes, details, footer ---- *\/\n  .rcw-fcpts .fcp-notes { margin: 1.25rem 0 0; padding: 0; list-style: none; }\n  .rcw-fcpts .fcp-notes li {\n    font-size: 0.875rem;\n    color: var(--ink-soft);\n    border-left: 3px solid var(--accent-edge);\n    padding-left: 0.75rem;\n    margin: 0 0 0.5rem;\n  }\n\n  .rcw-fcpts details {\n    margin-top: 1rem;\n    border: 1px solid var(--line-soft);\n    border-radius: 8px;\n    background: var(--card-2);\n  }\n  .rcw-fcpts summary {\n    font-family: var(--font-display);\n    font-size: 0.875rem;\n    font-weight: 600;\n    color: var(--ink-soft);\n    padding: 0.7rem 1rem;\n    cursor: pointer;\n  }\n  .rcw-fcpts summary:hover { color: var(--ink); }\n  .rcw-fcpts .fcp-tablewrap { overflow-x: auto; padding: 0 1rem 1rem; }\n  .rcw-fcpts table {\n    border-collapse: collapse;\n    width: 100%;\n    min-width: 22rem;\n    font-size: 0.875rem;\n  }\n  .rcw-fcpts th, .rcw-fcpts td {\n    text-align: right;\n    padding: 0.35rem 0.75rem;\n    border-bottom: 1px solid var(--line-soft);\n  }\n  .rcw-fcpts th {\n    font-family: var(--font-display);\n    font-weight: 600;\n    color: var(--ink-soft);\n    border-bottom: 1px solid var(--line);\n  }\n  .rcw-fcpts caption {\n    caption-side: bottom;\n    text-align: left;\n    font-size: 0.78rem;\n    color: var(--ink-faint);\n    padding-top: 0.5rem;\n  }\n\n  .rcw-fcpts .fcp-footer {\n    font-size: 0.78rem;\n    color: var(--ink-faint);\n    text-align: center;\n    margin: 1.5rem 0 0;\n  }\n\n  \/* ---- interaction states ---- *\/\n  .rcw-fcpts .fcp-chip:focus-visible,\n  .rcw-fcpts .fcp-seg button:focus-visible,\n  .rcw-fcpts input:focus-visible,\n  .rcw-fcpts .fcp-cta:focus-visible,\n  .rcw-fcpts summary:focus-visible {\n    outline: 2px solid var(--focus);\n    outline-offset: 2px;\n  }\n  .rcw-fcpts input:focus { border-color: var(--accent); }\n\n  @media (prefers-reduced-motion: no-preference) {\n    .rcw-fcpts .fcp-chip, .rcw-fcpts .fcp-seg button, .rcw-fcpts .fcp-cta { transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease; }\n    @keyframes fcpSettle {\n      from { opacity: 0.25; transform: translateY(3px); }\n      to   { opacity: 1;    transform: none; }\n    }\n    .rcw-fcpts .fcp-result.settle { animation: fcpSettle 220ms ease-out; }\n  }\n<\/style>\n\n<div class=\"fcp\">\n  <p class=\"fcp-kicker\"><span class=\"fcp-coin\" aria-hidden=\"true\"><\/span>FC 27 &middot; Ultimate Team<\/p>\n  <h2>FC Points Cost Calculator<\/h2>\n  <p class=\"fcp-sub\">FC Points only come in fixed bundles, and the bundle you pick decides what you really pay. Enter the points you need and we&rsquo;ll find the cheapest way to buy them.<\/p>\n\n  <div class=\"fcp-card\">\n    <div class=\"fcp-fieldrow\">\n      <div class=\"fcp-field\">\n        <label for=\"fcp-target\">How many FC Points do you need?<\/label>\n        <input type=\"number\" id=\"fcp-target\" inputmode=\"numeric\" min=\"1\" max=\"100000\" step=\"1\" value=\"2800\" autocomplete=\"off\">\n      <\/div>\n      <div>\n        <span class=\"fcp-grouplabel\" id=\"fcp-cur-label\">Currency<\/span>\n        <div class=\"fcp-seg\" role=\"group\" aria-labelledby=\"fcp-cur-label\">\n          <button type=\"button\" data-cur=\"USD\" aria-pressed=\"false\">$ USD<\/button>\n          <button type=\"button\" data-cur=\"GBP\" aria-pressed=\"true\">&pound; GBP<\/button>\n          <button type=\"button\" data-cur=\"EUR\" aria-pressed=\"false\">&euro; EUR<\/button>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <ul class=\"fcp-chips\" aria-label=\"Quick picks\">\n      <li class=\"fcp-chip-wrap\"><button type=\"button\" class=\"fcp-chip\" data-pts=\"1050\" aria-pressed=\"false\">1,050<\/button><\/li>\n      <li class=\"fcp-chip-wrap\"><button type=\"button\" class=\"fcp-chip\" data-pts=\"2800\" aria-pressed=\"false\">2,800<\/button><\/li>\n      <li class=\"fcp-chip-wrap\"><button type=\"button\" class=\"fcp-chip\" data-pts=\"5900\" aria-pressed=\"false\">5,900<\/button><\/li>\n      <li class=\"fcp-chip-wrap\"><button type=\"button\" class=\"fcp-chip\" data-pts=\"12000\" aria-pressed=\"false\">12,000<\/button><\/li>\n      <li class=\"fcp-chip-wrap\"><button type=\"button\" class=\"fcp-chip\" data-pts=\"18500\" aria-pressed=\"false\">18,500<small>web-app season &middot; example<\/small><\/button><\/li>\n    <\/ul>\n\n    <div class=\"fcp-result\" id=\"fcp-result\" aria-live=\"polite\">\n      <!-- rendered by script -->\n    <\/div>\n\n    <div class=\"fcp-wallet\" id=\"fcp-wallet\" hidden>\n      <h3>Wallet top-up to cover it<\/h3>\n      <p class=\"fcp-cards\" id=\"fcp-wallet-cards\"><\/p>\n      <p class=\"fcp-cover\" id=\"fcp-wallet-cover\"><\/p>\n      <a class=\"fcp-cta\" href=\"https:\/\/www.recharge.com\/en\/gb\/playstation-store\">Get a PlayStation gift card<\/a>\n      <p class=\"fcp-cta-alt\">or <a href=\"https:\/\/www.recharge.com\/en\/gb\/xbox-gift-card\">get an Xbox gift card<\/a><\/p>\n    <\/div>\n  <\/div>\n\n  <ul class=\"fcp-notes\">\n    <li>Buying FC 27 too? It launches 25 Sep (early access from 18 Sep), with editions at $69.99 \/ $99.99 \/ $149.99 (&pound;139.99 \/ &euro;159.99 top tier) and the Ultimate Plus edition listed until 31 Aug &mdash; compare what an edition bundles before buying points separately.<\/li>\n    <li>Prices are EA&rsquo;s standard tiers, and combos assume the store lets you buy the same pack more than once &mdash; check the current store listing.<\/li>\n  <\/ul>\n\n  <details>\n    <summary>FC Points bundle price table<\/summary>\n    <div class=\"fcp-tablewrap\">\n      <table>\n        <caption>EA&rsquo;s standard FC Points tiers. Same face values across USD, GBP and EUR &mdash; check the current store listing.<\/caption>\n        <thead>\n          <tr><th scope=\"col\">FC Points<\/th><th scope=\"col\">USD<\/th><th scope=\"col\">GBP<\/th><th scope=\"col\">EUR<\/th><\/tr>\n        <\/thead>\n        <tbody>\n          <tr><td>100<\/td><td>$0.99<\/td><td>&pound;0.99<\/td><td>&euro;0.99<\/td><\/tr>\n          <tr><td>500<\/td><td>$4.99<\/td><td>&pound;4.99<\/td><td>&euro;4.99<\/td><\/tr>\n          <tr><td>1,050<\/td><td>$9.99<\/td><td>&pound;9.99<\/td><td>&euro;9.99<\/td><\/tr>\n          <tr><td>1,600<\/td><td>$14.99<\/td><td>&pound;14.99<\/td><td>&euro;14.99<\/td><\/tr>\n          <tr><td>2,800<\/td><td>$24.99<\/td><td>&pound;24.99<\/td><td>&euro;24.99<\/td><\/tr>\n          <tr><td>5,900<\/td><td>$49.99<\/td><td>&pound;49.99<\/td><td>&euro;49.99<\/td><\/tr>\n          <tr><td>12,000<\/td><td>$99.99<\/td><td>&pound;99.99<\/td><td>&euro;99.99<\/td><\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n  <\/details>\n\n  <p class=\"fcp-footer\">Prices from official store listings &mdash; checked August 2026.<\/p>\n<\/div>\n\n<script>\n(function () {\n  \"use strict\";\n\n  \/* EA's standard FC Points tiers, prices in minor units (cents\/pence).\n     Same face values in USD, GBP, EUR. Keep in sync with the table above. *\/\n  var BUNDLES = [\n    { pts: 100,   cents: 99 },\n    { pts: 500,   cents: 499 },\n    { pts: 1050,  cents: 999 },\n    { pts: 1600,  cents: 1499 },\n    { pts: 2800,  cents: 2499 },\n    { pts: 5900,  cents: 4999 },\n    { pts: 12000, cents: 9999 }\n  ];\n  \/* Gift-card denominations offered per market (face value, major units). *\/\n  var DENOMS = [10, 20, 25, 50, 100];\n  var SYMBOL = { USD: \"$\", GBP: \"\u00a3\", EUR: \"\u20ac\" };\n  var MAX_PTS = 100000;\n  var UNIT = 50; \/\/ all bundle sizes are multiples of 50 \u2014 shrinks the DP table\n\n  var currency = \"GBP\";\n  var root = document.querySelector(\".rcw-fcpts\");\n  var input = document.getElementById(\"fcp-target\");\n  var resultEl = document.getElementById(\"fcp-result\");\n  var walletEl = document.getElementById(\"fcp-wallet\");\n  var walletCards = document.getElementById(\"fcp-wallet-cards\");\n  var walletCover = document.getElementById(\"fcp-wallet-cover\");\n  var chips = Array.prototype.slice.call(root.querySelectorAll(\".fcp-chip\"));\n  var curBtns = Array.prototype.slice.call(root.querySelectorAll(\".fcp-seg button\"));\n\n  function fmtMoney(cents) {\n    return SYMBOL[currency] + (cents \/ 100).toLocaleString(\"en-GB\", {\n      minimumFractionDigits: 2, maximumFractionDigits: 2\n    });\n  }\n  function fmtPts(n) { return n.toLocaleString(\"en-GB\"); }\n\n  \/* Cheapest multiset of bundles totalling >= target points.\n     Unbounded min-cost covering knapsack over 50-point units. *\/\n  function solve(target) {\n    var n = Math.ceil(target \/ UNIT);\n    var dp = new Array(n + 1).fill(Infinity);\n    var choice = new Array(n + 1).fill(-1);\n    dp[0] = 0;\n    for (var p = 1; p <= n; p++) {\n      for (var i = 0; i < BUNDLES.length; i++) {\n        var prev = Math.max(0, p - BUNDLES[i].pts \/ UNIT);\n        var c = dp[prev] + BUNDLES[i].cents;\n        if (c < dp[p]) { dp[p] = c; choice[p] = i; }\n      }\n    }\n    var counts = new Array(BUNDLES.length).fill(0);\n    var q = n;\n    while (q > 0) {\n      var b = choice[q];\n      counts[b]++;\n      q = Math.max(0, q - BUNDLES[b].pts \/ UNIT);\n    }\n    var pts = 0;\n    for (var j = 0; j < BUNDLES.length; j++) pts += counts[j] * BUNDLES[j].pts;\n    return { cents: dp[n], counts: counts, pts: pts };\n  }\n\n  \/* Naive alternative: one covering pack, or stacked 12,000s beyond the top tier. *\/\n  function naive(target) {\n    var top = BUNDLES[BUNDLES.length - 1];\n    if (target <= top.pts) {\n      for (var i = 0; i < BUNDLES.length; i++) {\n        if (BUNDLES[i].pts >= target) {\n          return { cents: BUNDLES[i].cents, label: \"1 \u00d7 \" + fmtPts(BUNDLES[i].pts) + \" pack\" };\n        }\n      }\n    }\n    var k = Math.ceil(target \/ top.pts);\n    return { cents: k * top.cents, label: k + \" \u00d7 \" + fmtPts(top.pts) + \" packs\" };\n  }\n\n  \/* Smallest gift-card set covering totalCents: minimise covered value first,\n     then card count. Coin DP in 5-unit steps (all denominations divide by 5). *\/\n  function wallet(totalCents) {\n    var step = 500;\n    var bound = Math.ceil(totalCents \/ step) * step + 10000;\n    var n = bound \/ step;\n    var minCards = new Array(n + 1).fill(Infinity);\n    var choice = new Array(n + 1).fill(-1);\n    minCards[0] = 0;\n    for (var v = 1; v <= n; v++) {\n      for (var i = 0; i < DENOMS.length; i++) {\n        var du = DENOMS[i] * 100 \/ step;\n        if (v >= du && minCards[v - du] + 1 < minCards[v]) {\n          minCards[v] = minCards[v - du] + 1;\n          choice[v] = i;\n        }\n      }\n    }\n    var best = -1;\n    for (var w = Math.ceil(totalCents \/ step); w <= n; w++) {\n      if (minCards[w] < Infinity) { best = w; break; }\n    }\n    var counts = new Array(DENOMS.length).fill(0);\n    var q = best;\n    while (q > 0) { var d = choice[q]; counts[d]++; q -= DENOMS[d] * 100 \/ step; }\n    return { valueCents: best * step, counts: counts };\n  }\n\n  function rowHTML(lbl, val, small) {\n    return '<div class=\"fcp-row' + (small ? \" fcp-sm\" : \"\") + '\">' +\n      '<span class=\"lbl num\">' + lbl + '<\/span>' +\n      '<span class=\"leader\" aria-hidden=\"true\"><\/span>' +\n      '<span class=\"val num\">' + val + \"<\/span><\/div>\";\n  }\n\n  function render() {\n    var raw = parseInt(input.value, 10);\n    var target = isNaN(raw) ? 0 : Math.min(Math.max(raw, 0), MAX_PTS);\n\n    chips.forEach(function (ch) {\n      ch.setAttribute(\"aria-pressed\", String(parseInt(ch.dataset.pts, 10) === target));\n    });\n\n    if (target < 1) {\n      resultEl.innerHTML = '<p class=\"fcp-empty\">Enter the FC Points you need &mdash; or tap a quick pick &mdash; and we&rsquo;ll price the cheapest bundle combo.<\/p>';\n      walletEl.hidden = true;\n      return;\n    }\n\n    var best = solve(target);\n    var html = '<p class=\"fcp-result-label\">Cheapest way to buy ' + fmtPts(target) + \" FC Points<\/p>\";\n\n    for (var i = BUNDLES.length - 1; i >= 0; i--) {\n      if (best.counts[i] > 0) {\n        html += rowHTML(\n          best.counts[i] + \" \u00d7 \" + fmtPts(BUNDLES[i].pts) + \" FC Points\",\n          fmtMoney(best.counts[i] * BUNDLES[i].cents),\n          false\n        );\n      }\n    }\n\n    html += '<div class=\"fcp-total\"><span class=\"fcp-word\">Total<\/span>' +\n      '<span class=\"fcp-amount\">' + fmtMoney(best.cents) + \"<\/span><\/div>\";\n\n    var over = best.pts - target;\n    html += rowHTML(\n      \"Points received\",\n      fmtPts(best.pts) + (over > 0 ? \" (+\" + fmtPts(over) + \" over)\" : \" (exact)\"),\n      true\n    );\n    html += rowHTML(\n      \"Effective cost per 100 points\",\n      fmtMoney(Math.round(best.cents \/ (best.pts \/ 100))),\n      true\n    );\n\n    var alt = naive(target);\n    if (alt.cents > best.cents) {\n      html += '<span class=\"fcp-save num\">vs buying one bigger pack (' + alt.label +\n        \", \" + fmtMoney(alt.cents) + \"): save \" + fmtMoney(alt.cents - best.cents) + \"<\/span>\";\n    }\n\n    resultEl.innerHTML = html;\n    if (raw > MAX_PTS) {\n      resultEl.insertAdjacentHTML(\"beforeend\",\n        '<p class=\"fcp-empty\" style=\"margin-top:0.5rem;font-size:0.875rem;\">Capped at ' + fmtPts(MAX_PTS) + \" points.<\/p>\");\n    }\n    resultEl.classList.remove(\"settle\");\n    void resultEl.offsetWidth; \/* restart settle animation (no-op under reduced motion) *\/\n    resultEl.classList.add(\"settle\");\n\n    var w = wallet(best.cents);\n    var parts = [];\n    for (var d = DENOMS.length - 1; d >= 0; d--) {\n      for (var k = 0; k < w.counts[d]; k++) parts.push(SYMBOL[currency] + DENOMS[d]);\n    }\n    var cardWord = parts.length === 1 ? \"card\" : \"cards\";\n    walletCards.textContent = parts.join(\" + \") + \" PSN or Xbox \" + cardWord;\n    var leftover = w.valueCents - best.cents;\n    walletCover.textContent = \"Covers your \" + fmtMoney(best.cents) + \" total\" +\n      (leftover > 0 ? \" with \" + fmtMoney(leftover) + \" left in your wallet.\" : \" exactly.\");\n    walletEl.hidden = false;\n  }\n\n  input.addEventListener(\"input\", render);\n  chips.forEach(function (ch) {\n    ch.addEventListener(\"click\", function () {\n      input.value = ch.dataset.pts;\n      render();\n    });\n  });\n  curBtns.forEach(function (btn) {\n    btn.addEventListener(\"click\", function () {\n      currency = btn.dataset.cur;\n      curBtns.forEach(function (b) {\n        b.setAttribute(\"aria-pressed\", String(b === btn));\n      });\n      render();\n    });\n  });\n\n  render();\n})();\n<\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-fc-points-prices-at-a-glance\">FC Points prices at a glance<\/h2>\n\n\n\n<p>EA sells FC Points in seven standard tiers, same face value in dollars, pounds and euros &mdash; check the current store listing before you buy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>100 FC Points &mdash; &pound;0.99<\/li>\n\n\n\n<li>500 FC Points &mdash; &pound;4.99<\/li>\n\n\n\n<li>1,050 FC Points &mdash; &pound;9.99<\/li>\n\n\n\n<li>1,600 FC Points &mdash; &pound;14.99<\/li>\n\n\n\n<li>2,800 FC Points &mdash; &pound;24.99<\/li>\n\n\n\n<li>5,900 FC Points &mdash; &pound;49.99<\/li>\n\n\n\n<li>12,000 FC Points &mdash; &pound;99.99<\/li>\n<\/ul>\n\n\n\n<p>Two things follow. Bigger bundles are cheaper per point &mdash; 12,000 works out at roughly 83p per 100 points against 99p at the bottom tier. And because sizes are fixed, an awkward target like 3,500 points is often cheapest as a combination of smaller packs, which is exactly what the calculator checks. Searching for &ldquo;FIFA Points prices&rdquo;? Same thing &mdash; EA renamed the currency when FIFA became EA Sports FC, and nothing else changed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-pay-for-fc-points-without-a-card\">How to pay for FC Points without a bank card<\/h2>\n\n\n\n<p>FC Points are bought through your platform&rsquo;s store, so anything that funds your PlayStation or Microsoft wallet pays for them. Redeem a <a href=\"https:\/\/www.recharge.com\/en\/gb\/playstation-store\">PlayStation gift card<\/a> or an <a href=\"https:\/\/www.recharge.com\/en\/gb\/xbox-gift-card\">Xbox gift card<\/a>, the value lands in your wallet, and points purchases draw from that balance. That means no card details on the console (useful on shared or kids&rsquo; accounts), a hard cap on spending, and a code by email in minutes. The calculator&rsquo;s wallet suggestion shows which card values cover your total with the least left over.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-when-not-to-buy-fc-points-separately\">When not to buy FC Points separately<\/h2>\n\n\n\n<p>If you&rsquo;re buying FC 27 anyway, do the edition maths first. The Ultimate Edition includes up to 6,000 FC Points in three monthly drops plus the Season 1 Premium Pass &mdash; bought separately, 5,900 points alone cost &pound;49.99. Ultimate Plus (&pound;139.99) stretches that to 10,000 points across five drops, Premium Passes for Seasons 1&ndash;5 and a Hall of FUT Player Pick, but it&rsquo;s pre-order only, listed until 31 August 2026. On the US store, Standard is $69.99 and Ultimate $99.99 &mdash; a $30 step &mdash; so if you&rsquo;ll spend &pound;30-plus on points this season, the upgrade usually pays for itself. Full breakdown in our <a href=\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-27-editions-compared-which-to-buy\">FC 27 editions comparison<\/a>, with last year&rsquo;s point-drop experience covered in our <a href=\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-ultimate-edition-benefits-bonuses-is-it-worth-it\">FC 26 Ultimate Edition review<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-spend-safely-packs-are-chance-based\">Spend safely: packs are chance-based<\/h2>\n\n\n\n<p>Two things worth saying plainly. FC Points are non-refundable once spent &mdash; open a pack and the money is gone, whatever&rsquo;s inside. And Ultimate Team packs are paid, chance-based items: a fixed price for a random outcome, which is why PEGI attaches an in-game purchases warning covering random items to the game&rsquo;s rating. If you&rsquo;ve wondered why a football game carries that notice, that&rsquo;s the honest answer. A sensible guardrail: fund your wallet with a fixed-value gift card and treat it as the season&rsquo;s budget. And if it&rsquo;s the pack ritual you enjoy, the <a href=\"https:\/\/www.recharge.com\/blog\/en-gb\/free-fc-26-pack-opener-ultimate-online-simulator\">free FC 26 pack opener<\/a> scratches that itch without spending a point.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-fc-points-faq\">FC Points FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">How much do 12,000 FC Points cost?<\/h3>\n\n\n\n<p>&pound;99.99 in the UK ($99.99 \/ &euro;99.99) at EA&rsquo;s standard tier &mdash; the biggest bundle sold and the cheapest cost per point.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can you buy FC Points with a gift card?<\/h3>\n\n\n\n<p>Yes, indirectly. Redeem a <a href=\"https:\/\/www.recharge.com\/en\/gb\/playstation-store\">PlayStation<\/a> or <a href=\"https:\/\/www.recharge.com\/en\/gb\/xbox-gift-card\">Xbox gift card<\/a>, the value is added to your store wallet, and FC Points bought in-game or from the store are paid from that balance.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do FC Points carry over from FC 26 to FC 27?<\/h3>\n\n\n\n<p>Don&rsquo;t count on it. EA&rsquo;s policy has historically been that points don&rsquo;t carry over between annual titles. EA confirms specifics for each new game in its official FC Points FAQ, so check there before FC 27 launches &mdash; and it&rsquo;s safest to spend down your FC 26 balance rather than bank on a transfer.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Are FC Points the same as FUT coins?<\/h3>\n\n\n\n<p>No. Coins are Ultimate Team&rsquo;s earned currency &mdash; you get them from playing matches and trading on the transfer market &mdash; while FC Points are bought with real money. Buying coins from third-party sites breaks EA&rsquo;s rules and puts your account at risk, so it&rsquo;s never worth it.<\/p>\n\n\n\n<p>That&rsquo;s FC Points in full: fixed bundles, cheaper per point as you go up, best bought with wallet credit you control. Top up with a <a href=\"https:\/\/www.recharge.com\/en\/gb\/playstation-store\">PlayStation gift card<\/a> or <a href=\"https:\/\/www.recharge.com\/en\/gb\/xbox-gift-card\">Xbox gift card<\/a>, let the calculator pick your bundles &mdash; and if you&rsquo;d rather build your squad with brains instead of packs, our <a href=\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused\">AI squad builder<\/a> is free.<\/p>\n\n\n<!-- FC 27 popup X8. Platform gift-card showcase (PlayStation \/ Xbox \/ paysafecard Players Pass for Steam), card swaps with the platform choice. No game, no countdown, no page rain. 6 languages, region-matched store. Copy in the markup, timings in CFG. Zero \"and\" symbols on purpose - WordPress entity-encodes them inside script tags. -->\n<style>\n#rcm-root{position:fixed;inset:0;z-index:2147483000;font-family:Poppins,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-align:left}\n#rcm-root .rcm-backdrop{position:absolute;inset:0;background:rgba(0,18,22,.74);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .35s ease}\n#rcm-root .rcm-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.94);width:min(94vw,880px);max-height:94vh;overflow:auto;box-sizing:border-box;opacity:0;outline:none;border-radius:28px;background:linear-gradient(170deg,#8b7cf6 0%,#93b8f0 48%,#bfeee8 100%);box-shadow:0 40px 100px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.07);display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);transition:opacity .35s ease,transform .5s cubic-bezier(.2,.9,.2,1.08)}\n#rcm-root.rcm-in .rcm-backdrop{opacity:1}\n#rcm-root.rcm-in .rcm-card{opacity:1;transform:translate(-50%,-50%) scale(1)}\n#rcm-root .rcm-x{position:absolute;top:12px;right:12px;z-index:6;width:36px;height:36px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(16,35,58,.16);color:#10233a!important;font-size:22px;line-height:36px;text-align:center;cursor:pointer;transition:transform .2s ease,background .2s ease}\n#rcm-root .rcm-x:hover{background:rgba(255,255,255,.22);transform:rotate(90deg)}\n#rcm-root .rcm-cardwrap{position:absolute;left:0;right:0;top:0;bottom:54px;z-index:3;display:flex;align-items:center;justify-content:center;padding:26px}\n#rcm-root .rcm-hero{width:84%;max-width:360px;height:auto;border-radius:14px;box-shadow:0 26px 60px rgba(0,0,0,.5),0 2px 0 rgba(255,255,255,.18) inset;transform:rotate(-5deg);transition:opacity .28s ease,transform .45s cubic-bezier(.2,.9,.2,1)}\n#rcm-root .rcm-hero.is-swap{opacity:0;transform:rotate(-5deg) translateY(10px) scale(.96)}\n#rcm-root .rcm-cardcap{position:absolute;left:18px;right:18px;bottom:16px;z-index:4;margin:0;text-align:center;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#cfe3ff!important}\n#rcm-root .rcm-stage{position:relative;overflow:hidden;display:block;padding:0;min-height:440px;background:linear-gradient(180deg,#1b2a4a 0%,#16304a 55%,#0f2233 100%);touch-action:none;user-select:none;-webkit-user-select:none}\n#rcm-root .rcm-pitch{position:absolute;left:-30%;right:-30%;bottom:-8%;height:70%;z-index:1;background:repeating-linear-gradient(0deg,rgba(255,255,255,.09) 0 2px,rgba(255,255,255,0) 2px 40px),repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 2px,rgba(255,255,255,0) 2px 60px);transform:perspective(420px) rotateX(58deg);transform-origin:50% 100%;pointer-events:none}\n#rcm-root .rcm-pitch::after{content:\"\";position:absolute;left:50%;top:0;width:34%;padding-top:34%;margin-left:-17%;border:2px solid rgba(255,255,255,.12);border-radius:50%}\n#rcm-root .rcm-light{position:absolute;left:-40%;top:-30%;width:40%;height:160%;z-index:1;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.12),rgba(255,255,255,0));transform:skewX(-16deg);animation:rcmSweep 6s ease-in-out 1s infinite;pointer-events:none}\n#rcm-root .rcm-cta.is-pulse{animation:rcmPulseBtn 1.6s ease-in-out infinite}\n@keyframes rcmPulseBtn{0%,100%{box-shadow:0 12px 26px rgba(0,224,112,.4)}50%{box-shadow:0 12px 40px rgba(0,224,112,.75)}}\n@keyframes rcmHit{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}\n@keyframes rcmMiss{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}60%{transform:translateX(6px)}}\n#rcm-root .rcm-body{padding:30px 32px 26px;min-width:0;color:#10233a}\n#rcm-root .rcm-rise{opacity:0;transform:translateY(14px)}\n#rcm-root.rcm-in .rcm-rise{animation:rcmRise .55s cubic-bezier(.2,.9,.2,1) both}\n#rcm-root.rcm-in .rcm-rise:nth-child(1){animation-delay:.16s}#rcm-root.rcm-in .rcm-rise:nth-child(2){animation-delay:.22s}#rcm-root.rcm-in .rcm-rise:nth-child(3){animation-delay:.28s}#rcm-root.rcm-in .rcm-rise:nth-child(4){animation-delay:.34s}#rcm-root.rcm-in .rcm-rise:nth-child(5){animation-delay:.4s}#rcm-root.rcm-in .rcm-rise:nth-child(6){animation-delay:.46s}#rcm-root.rcm-in .rcm-rise:nth-child(7){animation-delay:.52s}#rcm-root.rcm-in .rcm-rise:nth-child(8){animation-delay:.58s}#rcm-root.rcm-in .rcm-rise:nth-child(9){animation-delay:.64s}\n#rcm-root .rcm-eyebrow{display:block;margin:0 0 10px;padding:0;background:none;color:#10233a!important;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}\n#rcm-root .rcm-dot{display:none}\n#rcm-root .rcm-title{margin:0 0 8px;font-size:26px;line-height:1.15;font-weight:600;letter-spacing:-.01em;color:#10233a!important}\n#rcm-root .rcm-plats{display:flex;gap:8px;margin:0 0 14px;flex-wrap:wrap}\n#rcm-root .rcm-plat{display:inline-flex;align-items:center;gap:8px;margin:0;padding:12px 16px;border-radius:999px;border:1.5px solid rgba(16,35,58,.28);background:rgba(255,255,255,.34);color:#10233a!important;font-family:inherit;font-size:13.5px;font-weight:600;line-height:1;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}\n#rcm-root .rcm-plat::before{content:\"\";width:10px;height:10px;border-radius:50%;background:currentColor;opacity:.9}\n#rcm-root .rcm-plat[data-platform=\"playstation\"]::before{background:#2e6bff}\n#rcm-root .rcm-plat[data-platform=\"xbox\"]::before{background:#3ec53e}\n#rcm-root .rcm-plat[data-platform=\"steam\"]::before{background:#66c0f4}\n#rcm-root .rcm-plat:hover,#rcm-root .rcm-plat:focus-visible{transform:translateY(-2px);border-color:rgba(255,255,255,.5)}\n#rcm-root .rcm-plat.is-on{background:#101820!important;border-color:#101820!important;color:#fff!important;box-shadow:0 10px 22px rgba(16,24,32,.32)}\n#rcm-root .rcm-sub{margin:0 0 18px;font-size:13.5px;line-height:1.45;color:#38506b!important}\n#rcm-root .rcm-pick{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#38506b!important}\n#rcm-root .rcm-market{margin:0 0 10px;justify-content:center;font-size:12px;color:#38506b!important;display:flex;align-items:center;gap:8px;flex-wrap:wrap}\n#rcm-root .rcm-market .rcm-flag{display:inline;padding:0;border-radius:0;background:none;color:#38506b!important;font-weight:600;font-size:12.5px}\n#rcm-root .rcm-undo{background:none;border:0;padding:0;margin:0;color:#10233a!important;font-family:inherit;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}\n#rcm-root .rcm-actions{display:flex;flex-direction:column;align-items:stretch;margin:18px 0 12px}\n#rcm-root .rcm-cta{width:100%;box-sizing:border-box;position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#101820;color:#25e07a!important;text-decoration:none!important;font-weight:600;font-size:15px;line-height:1;padding:15px 24px;border-radius:999px;border:0;box-shadow:0 12px 26px rgba(16,24,32,.28);transition:transform .15s ease,box-shadow .15s ease;will-change:transform}\n#rcm-root .rcm-cta:hover,#rcm-root .rcm-cta:focus-visible{box-shadow:0 16px 32px rgba(0,224,112,.5);color:#00373d!important}\n\n#rcm-root .rcm-cta-text{color:#25e07a!important;display:inline-block}\n#rcm-root .rcm-cta-text.is-swap{animation:rcmSwap .38s cubic-bezier(.2,.9,.2,1.2)}\n#rcm-root .rcm-later{display:block;width:100%;margin-top:4px;text-align:center;align-self:center;background:none;border:0;margin:0;padding:8px 4px;color:#38506b!important;font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:3px;box-shadow:none}\n#rcm-root .rcm-later:hover{color:#10233a!important}\nhtml.rcm-lock{overflow:hidden}\n@keyframes rcmRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}\n@keyframes rcmSwap{0%{opacity:0;transform:translateY(8px) scale(.96)}100%{opacity:1;transform:none}}\n@keyframes rcmFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}\n@keyframes rcmDrop{0%{opacity:0;transform:translateY(-50px) scale(.9)}100%{opacity:1;transform:none}}\n@keyframes rcmSweep{0%{left:-45%}55%,100%{left:125%}}\n@keyframes rcmPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}\n}\n}\n@keyframes rcmBump{0%{transform:scale(1)}40%{transform:scale(1.06) rotate(-2deg)}100%{transform:scale(1)}}\n@keyframes rcmSpark{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2)}}\n@media (max-width:719px){\n#rcm-root .rcm-card{grid-template-columns:1fr;width:min(94vw,440px);border-radius:22px}\n#rcm-root .rcm-stage{min-height:200px}\n#rcm-root .rcm-cardwrap{bottom:44px;padding:16px}\n#rcm-root .rcm-hero{width:76%;max-width:260px}\n#rcm-root .rcm-cardcap{bottom:12px;font-size:11.5px}\n#rcm-root .rcm-glow{top:50%}\n#rcm-root .rcm-body{padding:16px 18px 16px}\n#rcm-root .rcm-eyebrow{margin-bottom:8px}\n#rcm-root .rcm-title{font-size:20px;margin-bottom:6px}\n#rcm-root .rcm-sub{font-size:12.5px;margin-bottom:12px}\n#rcm-root .rcm-plats{gap:6px;margin-bottom:10px;flex-wrap:nowrap}\n#rcm-root .rcm-plat{padding:8px 8px;font-size:12px;gap:6px;flex:1;justify-content:center;white-space:nowrap}\n#rcm-root .rcm-market{margin-bottom:12px}\n#rcm-root .rcm-market-text{display:none}\n#rcm-root .rcm-actions{margin:14px 0 10px}\n#rcm-root .rcm-actions{flex-direction:column;align-items:stretch;gap:6px}\n#rcm-root .rcm-cta{width:100%;box-sizing:border-box}\n}\n@media (prefers-reduced-motion:reduce){#rcm-root *,#rcm-root *::before,#rcm-root *::after{animation:none!important;transition:none!important}#rcm-root .rcm-rise{opacity:1;transform:none}}\n<\/style>\n<div id=\"rcm-root\" style=\"display:none\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"rcm-title\">\n  <div class=\"rcm-backdrop\" data-rcm-close=\"1\"><\/div>\n  <div class=\"rcm-card\" tabindex=\"-1\">\n    <button type=\"button\" class=\"rcm-x\" data-rcm-close=\"1\" aria-label=\"Close\">\u00d7<\/button>\n    <div class=\"rcm-stage\">\n      <span class=\"rcm-glow\"><\/span><span class=\"rcm-pitch\"><\/span><span class=\"rcm-light\"><\/span>\n      <div class=\"rcm-cardwrap\">\n        <img loading=\"lazy\" class=\"rcm-hero\" src=\"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2026\/09\/16135154\/playstation-gift-card-800.webp\" alt=\"PlayStation Store gift card\" width=\"800\" height=\"500\" decoding=\"async\">\n      <\/div>\n      <p class=\"rcm-cardcap\"><span class=\"rcm-cardcap-t\">PlayStation Store<\/span><\/p>\n    <\/div>\n    <div class=\"rcm-body\">\n      <p class=\"rcm-eyebrow rcm-rise\"><span class=\"rcm-dot\"><\/span><span class=\"rcm-eyebrow-dyn\">FC 27 kick-off<\/span><\/p>\n      <p class=\"rcm-title rcm-rise\" id=\"rcm-title\">FC 27 is nearly here. Fund the squad.<\/p>\n      <p class=\"rcm-sub rcm-rise\">Instant delivery \u00b7 code by email<\/p>\n      <p class=\"rcm-pick rcm-rise\">Where do you play?<\/p>\n      <div class=\"rcm-plats rcm-rise\" role=\"radiogroup\" aria-label=\"Platform\">\n        <button type=\"button\" class=\"rcm-plat is-on\" role=\"radio\" aria-checked=\"true\" data-platform=\"playstation\" data-label=\"PlayStation\" data-cta=\"pl_ps\" data-slug=\"playstation-store\" data-color=\"#2e6bff\">PlayStation<\/button>\n        <button type=\"button\" class=\"rcm-plat\" role=\"radio\" aria-checked=\"false\" data-platform=\"xbox\" data-label=\"Xbox\" data-cta=\"pl_xb\" data-slug=\"xbox-gift-card\" data-color=\"#3ec53e\">Xbox<\/button>\n        <button type=\"button\" class=\"rcm-plat\" role=\"radio\" aria-checked=\"false\" data-platform=\"steam\" data-label=\"PC \u00b7 Steam\" data-cta=\"pl_st\" data-slug=\"paysafecard-players-pass-steam\" data-color=\"#66c0f4\">PC \u00b7 Steam<\/button>\n      <\/div>\n      <div class=\"rcm-actions rcm-rise\">\n        <a class=\"rcm-cta\" href=\"https:\/\/www.recharge.com\/en\/gb\/playstation-store\"><span class=\"rcm-cta-text\">Get PlayStation Store credit<\/span><\/a>\n      <\/div>\n      <p class=\"rcm-market rcm-rise\"><span class=\"rcm-flag\">UK store \u00b7 \u00a3<\/span><span class=\"rcm-market-text\"><\/span><button type=\"button\" class=\"rcm-undo\" hidden><\/button><\/p>\n      <button type=\"button\" class=\"rcm-later\" data-rcm-close=\"1\">Not now<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n<script>\n(function () {\n  if (window.__rcmFc27) { return; }\n  window.__rcmFc27 = true;\n  var AMP = String.fromCharCode(38);\n  var CFG = {\n    key: 'rcm_fc27_kit',\n    mobileSeconds: 5,\n    desktopFallbackSeconds: 5,\n    hideDays: 0,\n    hideDaysAfterClick: 0,\n    launch: '2026-09-25T00:00:00',\n    earlyConsole: '2026-09-18T00:00:00',\n    earlyPC: '2026-09-17T23:00:00Z',\n    launchText: 'Ultimate editions first. Full launch Friday 25 September',\n    blogLocale: '',\n    utm: 'utm_source=blog' + AMP + 'utm_medium=popup' + AMP + 'utm_campaign=fc27_kickoff'\n  };\n  var o = window.rcPopOverrides || {};\n  for (var k in o) { if (o.hasOwnProperty(k)) { CFG[k] = o[k]; } }\n\n  var root = document.getElementById('rcm-root');\n  if (!root) { return; }\n  var q = function (s) { return root.querySelector(s); };\n  var card = q('.rcm-card'), cta = q('.rcm-cta'), ctaText = q('.rcm-cta-text'), plats = root.querySelectorAll('.rcm-plat');\n  var stage = q('.rcm-stage'), hero = q('.rcm-hero'), glow = q('.rcm-glow'), cardCap = q('.rcm-cardcap-t');\n  var eyebrow = q('.rcm-eyebrow-dyn'), title = q('#rcm-title');\n  var flag = q('.rcm-flag'), marketText = q('.rcm-market-text'), undo = q('.rcm-undo');\n  var closers = root.querySelectorAll('[data-rcm-close]');\n  var shown = false, open = false, waiting = false, how = '', timer = 0, last = {};\n  var reduce = window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n  var isTouch = window.matchMedia('(hover: none), (pointer: coarse)').matches;\n  if (!isTouch) { if (navigator.maxTouchPoints > 0) { if (window.innerWidth < 900) { isTouch = true; } } }\n  document.body.appendChild(root);\n\n  var CARDCAP = { playstation: 'PlayStation Store', xbox: 'Xbox', steam: 'paysafecard Players Pass' };\n  var IMGS = {\"playstation\": \"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2026\/09\/16135154\/playstation-gift-card-800.webp\", \"xbox\": \"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2026\/09\/16135157\/xbox-gift-card-800.webp\", \"steam\": \"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2026\/09\/16115354\/paysafecard-players-pass-steam-card.webp\"};\n  var STORES = { en: ['us','gb','ca','au','ie','nz','in','za','ae','sg','nl','de','be','at','ch','se','no','dk','fi','pl'], de: ['de','at','ch'], fr: ['fr'], nl: ['nl'], es: ['es'], it: ['it'], pl: ['pl'], pt: ['pt'] };\n  var DEFAULT_CC = { en: 'gb', de: 'de', fr: 'fr', nl: 'nl', es: 'es', it: 'it', pl: 'pl', pt: 'pt' };\n  var LABEL = { us: 'US store \u00b7 $', gb: 'UK store \u00b7 \u00a3', ca: 'Canada store \u00b7 $', au: 'Australia store \u00b7 $', ie: 'Ireland store \u00b7 \u20ac', nz: 'New Zealand store \u00b7 $', in: 'India store \u00b7 \u20b9', za: 'South Africa store \u00b7 R', ae: 'UAE store \u00b7 AED', sg: 'Singapore store \u00b7 $', nl: 'Netherlands store \u00b7 \u20ac', de: 'Germany store \u00b7 \u20ac', be: 'Belgium store \u00b7 \u20ac', at: 'Austria store \u00b7 \u20ac', ch: 'Switzerland store \u00b7 CHF', se: 'Sweden store \u00b7 kr', no: 'Norway store \u00b7 kr', dk: 'Denmark store \u00b7 kr', fi: 'Finland store \u00b7 \u20ac', pl: 'Poland store \u00b7 z\u0142', fr: 'France store \u00b7 \u20ac', es: 'Spain store \u00b7 \u20ac', it: 'Italy store \u00b7 \u20ac', pt: 'Portugal store \u00b7 \u20ac' };\n  var TZ = { 'America\/New_York': 'us', 'America\/Chicago': 'us', 'America\/Denver': 'us', 'America\/Los_Angeles': 'us', 'America\/Phoenix': 'us', 'America\/Anchorage': 'us', 'Pacific\/Honolulu': 'us', 'America\/Detroit': 'us', 'America\/Toronto': 'ca', 'America\/Vancouver': 'ca', 'America\/Edmonton': 'ca', 'America\/Winnipeg': 'ca', 'America\/Halifax': 'ca', 'Europe\/London': 'gb', 'Europe\/Dublin': 'ie', 'Australia\/Sydney': 'au', 'Australia\/Melbourne': 'au', 'Australia\/Brisbane': 'au', 'Australia\/Perth': 'au', 'Australia\/Adelaide': 'au', 'Pacific\/Auckland': 'nz', 'Asia\/Kolkata': 'in', 'Africa\/Johannesburg': 'za', 'Asia\/Dubai': 'ae', 'Asia\/Singapore': 'sg', 'Europe\/Amsterdam': 'nl', 'Europe\/Berlin': 'de', 'Europe\/Brussels': 'be', 'Europe\/Vienna': 'at', 'Europe\/Zurich': 'ch', 'Europe\/Stockholm': 'se', 'Europe\/Oslo': 'no', 'Europe\/Copenhagen': 'dk', 'Europe\/Helsinki': 'fi', 'Europe\/Warsaw': 'pl', 'Europe\/Paris': 'fr', 'Europe\/Madrid': 'es', 'Europe\/Rome': 'it', 'Europe\/Lisbon': 'pt' };\n  var STRINGS = {\n    en: { eyebrow: 'EA SPORTS FC 27 is live!', sub: 'Instant delivery \u00b7 code by email', pick: 'Where do you play?', cta1: 'Top up now', back: 'Welcome back', outNow: 'FC 27 is out now', liveTitle: 'FC 27 is live. Top up and play.', later: 'Not now', close: 'Close', undo: 'Use the {store} store instead', title: 'Top up any gaming wallet instantly', cta: { playstation: 'Get PlayStation Store credit', xbox: 'Get Xbox credit', steam: 'Get Steam credit' }, titles: [['player-lists', 'Shortlist done. Fund the squad.'], ['player-stats', 'Ratings checked. Fund the squad.'], ['ratings-database', 'Ratings checked. Fund the squad.'], ['squad-builder', 'Dream XI built. Now fund it.'], ['pack-opener', 'Packs simulated. Now open real ones.'], ['wonderkids', 'Wonderkids found. Fund the squad.'], ['icons', 'Icons scouted. Fund the squad.'], ['editions', 'Edition picked. Fund it before kick-off.'], ['pc-requirements', 'PC ready? Fund your Steam wallet.'], ['keyboard', 'Controls sorted. Fund your Steam wallet.'], ['closed-beta', 'Gameplay studied. Fund the squad.'], ['comparison', 'Debate settled. Fund the squad.'], ['upgrades', 'Upgrades noted. Fund the squad.']] },\n    de: { eyebrow: 'EA SPORTS FC 27 ist live!', sub: 'Sofortige Lieferung \u00b7 Code per E-Mail', pick: 'Wo spielst du?', cta1: 'Jetzt aufladen', back: 'Willkommen zur\u00fcck', outNow: 'FC 27 ist da', liveTitle: 'FC 27 ist live. Aufladen und spielen.', later: 'Sp\u00e4ter', close: 'Schlie\u00dfen', undo: 'Lieber den Store {store}', title: 'Lade jedes Gaming-Guthaben sofort auf', cta: { playstation: 'PlayStation Store Guthaben', xbox: 'Xbox Guthaben', steam: 'Steam Guthaben' }, titles: [['kader-builder', 'Startelf steht. Jetzt Guthaben holen.'], ['spielerbewertungen', 'Ratings gepr\u00fcft. Jetzt Guthaben holen.'], ['pack-opener', 'Packs simuliert. Jetzt echte \u00f6ffnen.'], ['wonderkids', 'Talente gefunden. Jetzt Guthaben holen.'], ['icons', 'Icons gescoutet. Jetzt Guthaben holen.'], ['spielervergleich', 'Vergleich erledigt. Jetzt Guthaben holen.'], ['abwertungen', 'Auf- und Abwertungen gepr\u00fcft. Jetzt Guthaben holen.']] },\n    es: { eyebrow: '\u00a1EA SPORTS FC 27 ya est\u00e1 aqu\u00ed!', sub: 'Entrega inmediata \u00b7 c\u00f3digo por correo', pick: '\u00bfD\u00f3nde juegas?', cta1: 'Recargar ahora', back: 'Bienvenido de nuevo', outNow: 'FC 27 ya est\u00e1 disponible', liveTitle: 'FC 27 ya est\u00e1 aqu\u00ed. Recarga y juega.', later: 'Ahora no', close: 'Cerrar', undo: 'Usar la tienda de {store}', title: 'Recarga cualquier saldo de juego al instante', cta: { playstation: 'Saldo para PlayStation Store', xbox: 'Saldo para Xbox', steam: 'Saldo para Steam' }, titles: [['creador-de-plantillas', 'Once ideal listo. Ahora rec\u00e1rgalo.'], ['base-de-datos-valoraciones', 'Valoraciones vistas. Recarga tu saldo.'], ['simulador-de-sobres', 'Sobres simulados. Abre los de verdad.'], ['perlas', 'Perlas encontradas. Recarga tu saldo.'], ['iconos', 'Iconos fichados. Recarga tu saldo.'], ['comparador', 'Debate resuelto. Recarga tu saldo.'], ['rastreador', 'Subidas y bajadas vistas. Recarga tu saldo.']] },\n    it: { eyebrow: 'EA SPORTS FC 27 \u00e8 live!', sub: 'Consegna immediata \u00b7 codice via email', pick: 'Dove giochi?', cta1: 'Ricarica ora', back: 'Bentornato', outNow: 'FC 27 \u00e8 disponibile', liveTitle: 'FC 27 \u00e8 qui. Ricarica e gioca.', later: 'Non ora', close: 'Chiudi', undo: 'Usa lo store {store}', title: 'Ricarica subito qualsiasi credito di gioco', cta: { playstation: 'Credito PlayStation Store', xbox: 'Credito Xbox', steam: 'Credito Steam' }, titles: [['costruttore-rosa', 'Undici pronto. Ora ricarica.'], ['database-valutazioni', 'Valutazioni viste. Ricarica il credito.'], ['simulatore', 'Pacchetti simulati. Ora aprine di veri.'], ['wonderkids', 'Talenti trovati. Ricarica il credito.'], ['icone', 'Icone scoutate. Ricarica il credito.'], ['confronto', 'Dibattito chiuso. Ricarica il credito.'], ['tracker', 'Cambi di valutazione visti. Ricarica il credito.']] },\n    pl: { eyebrow: 'EA SPORTS FC 27 jest ju\u017c dost\u0119pne!', sub: 'Natychmiastowa dostawa \u00b7 kod e-mailem', pick: 'Gdzie grasz?', cta1: 'Do\u0142aduj teraz', back: 'Witaj ponownie', outNow: 'FC 27 jest ju\u017c dost\u0119pne', liveTitle: 'FC 27 jest ju\u017c dost\u0119pne. Do\u0142aduj i graj.', later: 'Nie teraz', close: 'Zamknij', undo: 'U\u017cyj sklepu {store}', title: 'Do\u0142aduj dowolny portfel gamingowy od razu', cta: { playstation: 'Do\u0142aduj PlayStation Store', xbox: 'Do\u0142aduj Xbox', steam: 'Do\u0142aduj Steam' }, titles: [['kreator-skladu', 'Sk\u0142ad gotowy. Teraz do\u0142aduj.'], ['baza-ocen', 'Oceny sprawdzone. Do\u0142aduj \u015brodki.'], ['symulator', 'Paczki przetestowane. Otw\u00f3rz prawdziwe.'], ['mlode-talenty', 'Talenty znalezione. Do\u0142aduj \u015brodki.'], ['ikony', 'Ikony wypatrzone. Do\u0142aduj \u015brodki.'], ['porownywania', 'Sp\u00f3r rozstrzygni\u0119ty. Do\u0142aduj \u015brodki.'], ['podwyzek', 'Zmiany ocen sprawdzone. Do\u0142aduj \u015brodki.']] },\n    pt: { eyebrow: 'EA SPORTS FC 27 j\u00e1 est\u00e1 live!', sub: 'Entrega imediata \u00b7 c\u00f3digo por email', pick: 'Onde jogas?', cta1: 'Carregar agora', back: 'Bem-vindo de volta', outNow: 'FC 27 j\u00e1 saiu', liveTitle: 'FC 27 j\u00e1 est\u00e1 dispon\u00edvel. Carrega e joga.', later: 'Agora n\u00e3o', close: 'Fechar', undo: 'Usar a loja {store}', title: 'Carrega qualquer carteira de jogo ao instante', cta: { playstation: 'Saldo PlayStation Store', xbox: 'Saldo Xbox', steam: 'Saldo Steam' }, titles: [['criador-de-plantel', 'Onze pronto. Agora carrega.'], ['base-de-dados-avaliacoes', 'Avalia\u00e7\u00f5es vistas. Carrega o saldo.'], ['simulador', 'Packs simulados. Abre os verdadeiros.'], ['jovens-promessas', 'Promessas encontradas. Carrega o saldo.'], ['icons', '\u00cdcones observados. Carrega o saldo.'], ['comparador', 'Debate resolvido. Carrega o saldo.'], ['subidas', 'Subidas e descidas vistas. Carrega o saldo.']] }\n  };\n  var docLang = (document.documentElement.getAttribute('lang') || 'en').toLowerCase().slice(0, 2);\n  var T = STRINGS[docLang] || STRINGS.en;\n\n  function setDaysLeft() {\n    var now = Date.now(), launch = new Date(CFG.launch).getTime();\n    daysLeft = Math.max(0, Math.ceil((launch - now) \/ 864e5));\n    \n  }\n\n  function store(k, v) { try { if (v === null) { localStorage.removeItem(k); } else { localStorage.setItem(k, v); } } catch (e) {} }\n  function read(k) { try { return localStorage.getItem(k) || ''; } catch (e) { return ''; } }\n  function hiddenUntil() { return parseInt(read(CFG.key) || '0', 10); }\n\n  var blog = CFG.blogLocale || (function () { var m = location.pathname.match(\/\\\/blog\\\/([a-z]{2})(?:-([a-z]{2}))?\\\/\/i); return m ? (m[1] + (m[2] ? '-' + m[2] : '')).toLowerCase() : 'en-gb'; })();\n  var lang = blog.split('-')[0]; if (!STORES[lang]) { lang = 'en'; }\n  var blogCC = blog.split('-')[1] || DEFAULT_CC[lang];\n  if (STORES[lang].indexOf(blogCC) === -1) { blogCC = DEFAULT_CC[lang]; }\n  function detectCC() {\n    var saved = read('rcm_kit_market'); if (saved) { if (STORES[lang].indexOf(saved) !== -1) { return saved; } }\n    try { var tz = Intl.DateTimeFormat().resolvedOptions().timeZone; if (TZ[tz]) { if (STORES[lang].indexOf(TZ[tz]) !== -1) { return TZ[tz]; } } } catch (e) {}\n    var nl = (navigator.language || '').toLowerCase(), region = nl.split('-')[1] || '';\n    if (region) { if (STORES[lang].indexOf(region) !== -1) { return region; } }\n    return blogCC;\n  }\n  var cc = detectCC(), platform = '', platLabel = '', slug = '', daysLeft = 0;\n\n  function hrefFor() { return 'https:\/\/www.recharge.com\/' + lang + '\/' + cc + '\/' + slug + '?' + CFG.utm + AMP + 'utm_content=' + platform + '_' + cc; }\n  function track(ev, extra) {\n    window.dataLayer = window.dataLayer || [];\n    var d = { event: ev, popup_id: CFG.key, popup_page: location.pathname, popup_trigger: how, popup_platform: platform, popup_market: cc, popup_days_left: daysLeft };\n    if (extra) { for (var kk in extra) { if (extra.hasOwnProperty(kk)) { d[kk] = extra[kk]; } } }\n    window.dataLayer.push(d);\n  }\n  function renderMarket() {\n    flag.textContent = LABEL[cc] || (cc.toUpperCase() + ' store');\n    if (cc !== blogCC) {\n      marketText.textContent = 'Region-locked codes, so we picked the ' + (LABEL[cc] || cc.toUpperCase()).split(' \u00b7')[0] + '.';\n      undo.hidden = false; undo.textContent = 'Use the ' + (LABEL[blogCC] || blogCC.toUpperCase()).split(' \u00b7')[0] + ' instead';\n    } else {\n      marketText.textContent = 'Region-locked codes, matched to your account.';\n      undo.hidden = true;\n    }\n    cta.href = hrefFor();\n  }\n  undo.addEventListener('click', function () { cc = blogCC; store('rcm_kit_market', cc); renderMarket(); track('rc_popup_market'); });\n\n  function setPlatform(p, silent) {\n    var _ctaMap = { pl_ps: T.cta1, pl_xb: T.cta1, pl_st: T.cta1 };\n    var btn = null;\n    for (var i = 0; i < plats.length; i++) {\n      var on = plats[i].getAttribute('data-platform') === p;\n      plats[i].className = on ? 'rcm-plat is-on' : 'rcm-plat'; plats[i].setAttribute('aria-checked', on ? 'true' : 'false');\n      if (on) { btn = plats[i]; }\n    }\n    if (!btn) { return; }\n    platform = p; platLabel = btn.getAttribute('data-label'); slug = btn.getAttribute('data-slug');\n    if (!silent) { ctaText.className = 'rcm-cta-text'; void ctaText.offsetWidth; }\n    ctaText.textContent = (_ctaMap[btn.getAttribute('data-cta')] || btn.getAttribute('data-cta'));\n    if (!silent) { ctaText.className = 'rcm-cta-text is-swap'; }\n    cta.href = hrefFor();\n    var col = btn.getAttribute('data-color');\n    glow.style.background = 'radial-gradient(closest-side,' + col + '8c,rgba(0,0,0,0))';\n    if (IMGS[p]) { if (hero.getAttribute('src') !== IMGS[p]) {\n      if (silent) { hero.src = IMGS[p]; hero.alt = platLabel + ' card'; }\n      else { hero.className = 'rcm-hero is-swap';\n        setTimeout(function () { hero.src = IMGS[p]; hero.alt = platLabel + ' card'; hero.className = 'rcm-hero'; }, 200); } } }\n    if (cardCap) { cardCap.textContent = CARDCAP[p] || platLabel; }\n    if (!silent) { store('rcm_kit_platform', p); track('rc_popup_platform'); }\n  }\n  for (var b = 0; b < plats.length; b++) { plats[b].addEventListener('click', function () { setPlatform(this.getAttribute('data-platform'), false); }); }\n\n  function bannerOpen() {\n    var ids = ['CybotCookiebotDialog', 'onetrust-banner-sdk', 'usercentrics-root', 'cookie-law-info-bar', 'cmpbox'];\n    for (var i = 0; i < ids.length; i++) { var el = document.getElementById(ids[i]); if (el) { if (el.getBoundingClientRect().height > 0) { if (getComputedStyle(el).visibility !== 'hidden') { return true; } } } }\n    return false;\n  }\n  function focusables() {\n    var all = root.querySelectorAll('button, a[href]'), f = [];\n    for (var i = 0; i < all.length; i++) { if (!all[i].hidden) { if (all[i].getBoundingClientRect().width > 0) { f.push(all[i]); } } }\n    return f;\n  }\n  function onKey(e) {\n    if (e.key === 'Escape') { track('rc_popup_close'); close(CFG.hideDays); return; }\n    if (e.key === 'Tab') {\n      var f = focusables(), first = f[0], lastEl = f[f.length - 1];\n      if (e.shiftKey) { if (document.activeElement === first || document.activeElement === card) { e.preventDefault(); lastEl.focus(); } }\n      else { if (document.activeElement === lastEl) { e.preventDefault(); first.focus(); } }\n    }\n  }\n  var actions = q('.rcm-actions');\n  if (!reduce) {\n    actions.addEventListener('pointermove', function (e) {\n      var r = cta.getBoundingClientRect(), dx = e.clientX - (r.left + r.width \/ 2), dy = e.clientY - (r.top + r.height \/ 2);\n      if (Math.sqrt(dx * dx + dy * dy) < 110) { cta.style.transform = 'translate(' + (dx * 0.16).toFixed(1) + 'px,' + (dy * 0.26).toFixed(1) + 'px)'; } else { cta.style.transform = ''; }\n    }, { passive: true });\n    actions.addEventListener('pointerleave', function () { cta.style.transform = ''; });\n  }\n  function show() {\n    shown = true; open = true;\n    root.style.display = ''; void root.offsetWidth; root.className = 'rcm-in';\n    document.documentElement.classList.add('rcm-lock');\n    document.addEventListener('keydown', onKey);\n    setTimeout(function () { card.focus(); }, 60);\n    track('rc_popup_view', { popup_returning: !!read('rcm_kit_platform') });\n  }\n  function close(days) {\n    if (!open) { return; }\n    open = false; store(CFG.key, String(Date.now() + days * 864e5));\n    document.removeEventListener('keydown', onKey); document.documentElement.classList.remove('rcm-lock');\n    root.className = ''; setTimeout(function () { root.style.display = 'none'; }, 360);\n  }\n  function trigger(source) {\n    if (shown) { return; }\n    if (bannerOpen()) { if (!waiting) { waiting = true; setTimeout(function () { waiting = false; trigger(source); }, 1000); } return; }\n    how = source; show();\n  }\n  for (var c = 0; c < closers.length; c++) { closers[c].addEventListener('click', function () { track('rc_popup_close'); close(CFG.hideDays); }); }\n  cta.addEventListener('click', function () { track('rc_popup_click'); close(CFG.hideDaysAfterClick); });\n\n  \/\/ personalisation: page-aware title, remembered platform + name, market\n  title.textContent = T.title;\n  q('.rcm-sub').textContent = T.sub;\n  q('.rcm-pick').textContent = T.pick;\n  eyebrow.textContent = T.eyebrow;\n  q('.rcm-later').textContent = T.later;\n  q('.rcm-x').setAttribute('aria-label', T.close);\n  var path = location.pathname.toLowerCase();\n  var savedPlatform = read('rcm_kit_platform');\n  var guess = (path.indexOf('pc-requirements') !== -1 || path.indexOf('keyboard') !== -1) ? 'steam' : 'playstation';\n  setPlatform(savedPlatform || guess, true);\n  renderMarket();\n  setDaysLeft();\n\n  if (CFG.hideDays > 0 || CFG.hideDaysAfterClick > 0) { if (hiddenUntil() > Date.now()) { return; } } else { store(CFG.key, null); }\n  if (isTouch) { setTimeout(function () { trigger('timer'); }, CFG.mobileSeconds * 1000); }\n  else {\n    document.addEventListener('mouseout', function (e) { if (e.relatedTarget) { return; } if (e.clientY > 10) { return; } trigger('exit'); });\n    if (CFG.desktopFallbackSeconds > 0) { setTimeout(function () { trigger('timer'); }, CFG.desktopFallbackSeconds * 1000); }\n  }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>What FC Points cost, which bundle combo is cheapest for the points you need, and how to pay with a PSN or Xbox gift card.<\/p>\n","protected":false},"author":49,"featured_media":49838,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"cos_headline_score":0,"cos_seo_score":0,"cos_headline_text":"","cos_headline_has_been_analyzed":false,"cos_last_analyzed_headline":[],"_hreflang_tags":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[23],"tags":[],"class_list":["post-49819","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-digital-lifestyle-old"],"jetpack_publicize_connections":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.4 (Yoast SEO v21.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>FC Points Explained: Prices, Cheapest Bundles &amp; Cost Calculator<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FC Points Explained: Prices, Cheapest Bundles &amp; Cost Calculator\" \/>\n<meta property=\"og:description\" content=\"What FC Points cost, which bundle combo is cheapest for the points you need, and how to pay with a PSN or Xbox gift card.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator\" \/>\n<meta property=\"og:site_name\" content=\"Recharge Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-24T13:35:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-21T12:31:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2026\/08\/24154951\/fc-points-explained-hero.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1500\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Conor Byrne\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator\",\"url\":\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator\",\"name\":\"FC Points Explained: Prices, Cheapest Bundles & Cost Calculator\",\"isPartOf\":{\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/#website\"},\"datePublished\":\"2026-08-24T13:35:47+00:00\",\"dateModified\":\"2026-09-21T12:31:32+00:00\",\"author\":{\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/#\/schema\/person\/857508b94164c3cdc1f206b5c30d31a6\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.recharge.com\/blog\/en-gb\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FC Points Explained: Prices, Cheapest Bundles &#038; Cost Calculator\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/#website\",\"url\":\"https:\/\/www.recharge.com\/blog\/en-gb\/\",\"name\":\"Recharge Blog\",\"description\":\"Everything about online safety, smart spending &amp; your digital lifestyle.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.recharge.com\/blog\/en-gb\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/#\/schema\/person\/857508b94164c3cdc1f206b5c30d31a6\",\"name\":\"Conor Byrne\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/624bd2d0a75e67e81c16920493bcda346cb5cfd0f77cfdff3a72413de0254eeb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/624bd2d0a75e67e81c16920493bcda346cb5cfd0f77cfdff3a72413de0254eeb?s=96&d=mm&r=g\",\"caption\":\"Conor Byrne\"},\"description\":\"My passion for the e-commerce and fintech space started years ago with my first gaming console, giving me firsthand experience with the world of digital credit and top-ups. As a blog copywriter here at Recharge.com, I now get to use that insight to create clear, helpful content that makes navigating gift cards and online payments a breeze for our community.\",\"url\":\"https:\/\/www.recharge.com\/blog\/en-gb\/author\/conor-byrne\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"FC Points Explained: Prices, Cheapest Bundles & Cost Calculator","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator","og_locale":"en_GB","og_type":"article","og_title":"FC Points Explained: Prices, Cheapest Bundles & Cost Calculator","og_description":"What FC Points cost, which bundle combo is cheapest for the points you need, and how to pay with a PSN or Xbox gift card.","og_url":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator","og_site_name":"Recharge Blog","article_published_time":"2026-08-24T13:35:47+00:00","article_modified_time":"2026-09-21T12:31:32+00:00","og_image":[{"width":1500,"height":1000,"url":"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2026\/08\/24154951\/fc-points-explained-hero.jpg","type":"image\/jpeg"}],"author":"Conor Byrne","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator","url":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator","name":"FC Points Explained: Prices, Cheapest Bundles & Cost Calculator","isPartOf":{"@id":"https:\/\/www.recharge.com\/blog\/en-gb\/#website"},"datePublished":"2026-08-24T13:35:47+00:00","dateModified":"2026-09-21T12:31:32+00:00","author":{"@id":"https:\/\/www.recharge.com\/blog\/en-gb\/#\/schema\/person\/857508b94164c3cdc1f206b5c30d31a6"},"breadcrumb":{"@id":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-points-explained-cost-calculator#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.recharge.com\/blog\/en-gb"},{"@type":"ListItem","position":2,"name":"FC Points Explained: Prices, Cheapest Bundles &#038; Cost Calculator"}]},{"@type":"WebSite","@id":"https:\/\/www.recharge.com\/blog\/en-gb\/#website","url":"https:\/\/www.recharge.com\/blog\/en-gb\/","name":"Recharge Blog","description":"Everything about online safety, smart spending &amp; your digital lifestyle.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.recharge.com\/blog\/en-gb\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.recharge.com\/blog\/en-gb\/#\/schema\/person\/857508b94164c3cdc1f206b5c30d31a6","name":"Conor Byrne","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.recharge.com\/blog\/en-gb\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/624bd2d0a75e67e81c16920493bcda346cb5cfd0f77cfdff3a72413de0254eeb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/624bd2d0a75e67e81c16920493bcda346cb5cfd0f77cfdff3a72413de0254eeb?s=96&d=mm&r=g","caption":"Conor Byrne"},"description":"My passion for the e-commerce and fintech space started years ago with my first gaming console, giving me firsthand experience with the world of digital credit and top-ups. As a blog copywriter here at Recharge.com, I now get to use that insight to create clear, helpful content that makes navigating gift cards and online payments a breeze for our community.","url":"https:\/\/www.recharge.com\/blog\/en-gb\/author\/conor-byrne"}]}},"jetpack_featured_media_url":"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2026\/08\/24154951\/fc-points-explained-hero.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/posts\/49819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/comments?post=49819"}],"version-history":[{"count":3,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/posts\/49819\/revisions"}],"predecessor-version":[{"id":52498,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/posts\/49819\/revisions\/52498"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/media\/49838"}],"wp:attachment":[{"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/media?parent=49819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/categories?post=49819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/tags?post=49819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}