> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dintero.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Swedbank test data

> Test Visa, Mastercard, and Amex card numbers, tokens, and magic amounts for verifying Swedbank Pay integrations in Dintero Checkout sandbox.

export const CopyValue = ({children}) => {
  const [copied, setCopied] = useState(false);
  const getText = node => {
    if (node == null || typeof node === "boolean") return "";
    if (typeof node === "string" || typeof node === "number") return String(node);
    if (Array.isArray(node)) return node.map(getText).join("");
    if (node.props && node.props.children) return getText(node.props.children);
    return "";
  };
  const text = getText(children);
  const copy = () => {
    navigator.clipboard.writeText(text).then(() => {
      setCopied(true);
      setTimeout(() => setCopied(false), 2000);
    }).catch(err => console.error("Failed to copy:", err));
  };
  return <button type="button" onClick={copy} title={copied ? "Copied" : "Copy"} className="group/copy-button backdrop-blur" style={{
    display: "inline-flex",
    alignItems: "center",
    gap: "0.4em",
    padding: "0.1em 0.45em 0.1em 0",
    margin: 0,
    borderRadius: "0.375rem",
    font: "inherit",
    fontVariantNumeric: "tabular-nums",
    lineHeight: 1.4,
    cursor: "pointer",
    whiteSpace: "nowrap"
  }}>
      <span>{children}</span>
      {copied ? <svg width="16" height="11" viewBox="0 0 16 11" fill="none" xmlns="http://www.w3.org/2000/svg" class="fill-primary dark:fill-primary-light">
          <path d="M14.7813 1.21873C15.0751 1.51248 15.0751 1.98748 14.7813 2.2781L6.53135 10.5312C6.2376 10.825 5.7626 10.825 5.47197 10.5312L1.21885 6.28123C0.925098 5.98748 0.925098 5.51248 1.21885 5.22185C1.5126 4.93123 1.9876 4.9281 2.27822 5.22185L5.99697 8.9406L13.7188 1.21873C14.0126 0.924976 14.4876 0.924976 14.7782 1.21873H14.7813Z">
          </path>
        </svg> : <svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-4 h-4 text-gray-400 group-hover/copy-button:text-gray-500 dark:text-white/40 dark:group-hover/copy-button:text-white/60">
          <path d="M14.25 5.25H7.25C6.14543 5.25 5.25 6.14543 5.25 7.25V14.25C5.25 15.3546 6.14543 16.25 7.25 16.25H14.25C15.3546 16.25 16.25 15.3546 16.25 14.25V7.25C16.25 6.14543 15.3546 5.25 14.25 5.25Z" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
          </path>
          <path d="M2.80103 11.998L1.77203 5.07397C1.61003 3.98097 2.36403 2.96397 3.45603 2.80197L10.38 1.77297C11.313 1.63397 12.19 2.16297 12.528 3.00097" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
          </path>
        </svg>}
    </button>;
};

## Swedbank

### Visa

| Card number                             | Expiry                  | CVC                        | Type of test data                    |
| --------------------------------------- | ----------------------- | -------------------------- | ------------------------------------ |
| <CopyValue>4925000000000004</CopyValue> | After the current month | Any                        | Loopback only                        |
| <CopyValue>4581097032723517</CopyValue> | After the current month | Any                        | Loopback only                        |
| <CopyValue>4581099940323133</CopyValue> | After the current month | Any                        | Loopback only                        |
| <CopyValue>4581096604172848</CopyValue> | After the current month | Any                        | Loopback only                        |
| <CopyValue>4761739001010416</CopyValue> | After the current month | Any                        | 3DS enrolled, ECI 5, Evry & loopback |
| <CopyValue>4581096477726290</CopyValue> | After the current month | <CopyValue>019</CopyValue> | Swedbank & loopback                  |

### MasterCard

| Card number                             | Expiry                       | CVC                        | Type of test data                    |
| --------------------------------------- | ---------------------------- | -------------------------- | ------------------------------------ |
| <CopyValue>5226612199533406</CopyValue> | <CopyValue>09/28</CopyValue> | <CopyValue>602</CopyValue> | 3DS enrolled, ECI 6, Evry & loopback |
| <CopyValue>5413066399580167</CopyValue> | After the current month      | Any                        | Loopback only                        |
| <CopyValue>5226609999109486</CopyValue> | After the current month      | Any                        | Loopback only                        |
| <CopyValue>5226600159865967</CopyValue> | After the current month      | Any                        | Loopback only                        |
| <CopyValue>5226603115488031</CopyValue> | After the current month      | Any                        | Loopback only                        |
| <CopyValue>5226604266737382</CopyValue> | After the current month      | Any                        | Loopback only                        |
| <CopyValue>5226600156995650</CopyValue> | After the current month      | Any                        | Loopback only                        |

### Example tokens

| Card number                             | Token                                                       | CVC |
| --------------------------------------- | ----------------------------------------------------------- | --- |
| <CopyValue>4925000000000004</CopyValue> | <CopyValue>1333e495-6ac0-4722-9aa2-5fefd339a40f</CopyValue> | Any |
| <CopyValue>5413066399580167</CopyValue> | <CopyValue>d18c7744-9838-4f05-9931-1b3ffedaeea1</CopyValue> | Any |

### Swedbank creditcard - Magic Amounts (Error Testing Using Amounts)

| Amount                        | Error Code                                                         | Description                                     |
| ----------------------------- | ------------------------------------------------------------------ | ----------------------------------------------- |
| <CopyValue>900305</CopyValue> | <CopyValue>MONTHLYLIMITEXCEEDED</CopyValue>                        | The monthly attempt limit has been exceeded     |
| <CopyValue>900313</CopyValue> | <CopyValue>REJECTED\_BY\_ACQUIRER\_INVALID\_AMOUNT</CopyValue>     | Invalid amount, response-code: 13               |
| <CopyValue>900330</CopyValue> | <CopyValue>REJECTED\_BY\_ACQUIRER\_FORMAT\_ERROR</CopyValue>       | Format error, response-code: 30                 |
| <CopyValue>900334</CopyValue> | <CopyValue>REJECTED\_BY\_ACQUIRER\_POSSIBLE\_FRAUD</CopyValue>     | Possible fraud, response-code: 34               |
| <CopyValue>900343</CopyValue> | <CopyValue>REJECTED\_BY\_ACQUIRER\_CARD\_STOLEN</CopyValue>        | Card stolen, response-code: 43                  |
| <CopyValue>900354</CopyValue> | <CopyValue>REJECTED\_BY\_ACQUIRER\_CARD\_EXPIRED</CopyValue>       | Card expired, response-code: 54                 |
| <CopyValue>900351</CopyValue> | <CopyValue>REJECTED\_BY\_ACQUIRER</CopyValue>                      | Unknown error, response-code: 51                |
| <CopyValue>900359</CopyValue> | <CopyValue>REJECTED\_BY\_ACQUIRER\_POSSIBLE\_FRAUD</CopyValue>     | Possible fraud, response-code: 59               |
| <CopyValue>900361</CopyValue> | <CopyValue>REJECTED\_BY\_ACQUIRER\_INSUFFICIENT\_FUNDS</CopyValue> | Insufficient funds, response-code: 61           |
| <CopyValue>900362</CopyValue> | <CopyValue>REJECTED\_BY\_ACQUIRER</CopyValue>                      | Unknown error, response-code: 62                |
| <CopyValue>900391</CopyValue> | <CopyValue>ACQUIRER\_HOST\_OFFLINE</CopyValue>                     | Acquirer host offline, response-code: 91        |
| <CopyValue>952400</CopyValue> | <CopyValue>DONOTRETRY</CopyValue>                                  | Transaction declined, do not retry              |
| <CopyValue>952501</CopyValue> | <CopyValue>MODIFICATIONSREQUIRED</CopyValue>                       | Transaction is declined and needs modifications |
| <CopyValue>952100</CopyValue> | <CopyValue>DAILYLIMITEXCEEDED</CopyValue>                          | The daily attempt limit has been exceeded       |

> The `DAILYLIMITEXCEEDED` must be performed 10 times to be triggered, and the
> `MONTHLYLIMITEXCEEDED` has to be performed 15 times to be triggered.
> The `SuspensionWarning` response message appears when the two limit exceeds
> have 5 attempts left (i.e. after 5 daily or 10 monthly attempts).
