---
updatedAt: 2025-10-21T10:35:11.000Z
agentTools:
  projectIndex: https://docs.geidea.net/llms.txt
---

# Test Cards

### Test integration and test data

There is also a test integration page available publicly on this link:
<https://www.merchant.geidea.net/testpage>

Please ask your Geidea contact to provide you with an account/merchant public key to be able to start testing payments through the Hosted payment page.

Using the following cards, multiple scenarios can be created with a specific code returned from the Gateway implying a successful transaction, a failed transaction, or otherwise:

<Table align={["left","left","left","left","left","left"]}>
  <thead>
    <tr>
      <th style={{ textAlign: "left" }}>
        Test Cards
      </th>

      <th style={{ textAlign: "left" }}>
        Purpose
      </th>

      <th style={{ textAlign: "left" }}>
        Card Number
      </th>

      <th style={{ textAlign: "left" }}>
        Response code
      </th>

      <th style={{ textAlign: "left" }}>
        Response message
      </th>

      <th style={{ textAlign: "left" }}>
        Detailed response code
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td style={{ textAlign: "left" }}>
        **Mastercard**
      </td>

      <td style={{ textAlign: "left" }}>
        3DS 2-Challenge (Method URL provided)
      </td>

      <td style={{ textAlign: "left" }}>
        5123450000000008
        5555555555554444
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>

      <td style={{ textAlign: "left" }}>
        Success
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>

      </td>

      <td style={{ textAlign: "left" }}>
        3DS 2- Frictionless (Method URL provided)
      </td>

      <td style={{ textAlign: "left" }}>
        5123456789012346
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>

      <td style={{ textAlign: "left" }}>
        Success
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>

      </td>

      <td style={{ textAlign: "left" }}>
        3DS1 & 3DS2 Not Enrolled Response
      </td>

      <td style={{ textAlign: "left" }}>
        5111111111111118
        2223000000000023
      </td>

      <td style={{ textAlign: "left" }}>
        300
      </td>

      <td style={{ textAlign: "left" }}>
        3DS authentication failed
      </td>

      <td style={{ textAlign: "left" }}>
        001
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        **Visa**
      </td>

      <td style={{ textAlign: "left" }}>
        3DS 2-Challenge (Method URL provided)
      </td>

      <td style={{ textAlign: "left" }}>
        4440000009900010
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>

      <td style={{ textAlign: "left" }}>
        Success
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>

      </td>

      <td style={{ textAlign: "left" }}>
        3DS 2- Frictionless (Method URL provided)
      </td>

      <td style={{ textAlign: "left" }}>
        4440000042200014
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>

      <td style={{ textAlign: "left" }}>
        Success
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>

      </td>

      <td style={{ textAlign: "left" }}>
        Not Enrolled Response
      </td>

      <td style={{ textAlign: "left" }}>
        4012000033330026
      </td>

      <td style={{ textAlign: "left" }}>
        300
      </td>

      <td style={{ textAlign: "left" }}>
        3DS authentication failed
      </td>

      <td style={{ textAlign: "left" }}>
        001
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        **MADA**
      </td>

      <td style={{ textAlign: "left" }}>
        3DS 2-Challenge
      </td>

      <td style={{ textAlign: "left" }}>
        5588480000000003
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>

      <td style={{ textAlign: "left" }}>
        Success
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>

      </td>

      <td style={{ textAlign: "left" }}>
        3DS 2- Frictionless (Method URL provided)
      </td>

      <td style={{ textAlign: "left" }}>
        4464040000000007
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>

      <td style={{ textAlign: "left" }}>
        Success
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        **AMEX**
      </td>

      <td style={{ textAlign: "left" }}>
        3DS2 - Challenge (No Method URL)
      </td>

      <td style={{ textAlign: "left" }}>
        340000099900051
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>

      <td style={{ textAlign: "left" }}>
        Success
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>

      </td>

      <td style={{ textAlign: "left" }}>
        3DS2 - Frictionless (Method URL provided)
      </td>

      <td style={{ textAlign: "left" }}>
        340353278080900
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>

      <td style={{ textAlign: "left" }}>
        Success
      </td>

      <td style={{ textAlign: "left" }}>
        000
      </td>
    </tr>
  </tbody>
</Table>

For Positive & Negative cases below are details:

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        Expiry Date
      </th>

      <th>
        Detailed Response Message
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        01 / 39  
        01/35
      </td>

      <td>
        The operation was successful
      </td>
    </tr>

    <tr>
      <td>
        05 / 39
      </td>

      <td>
        Transaction declined - please contact your bank!
      </td>
    </tr>

    <tr>
      <td>
        04 / 27
      </td>

      <td>
        Transaction failed - expired card
      </td>
    </tr>

    <tr>
      <td>
        08 / 28
      </td>

      <td>
        Provider connection timed out
      </td>
    </tr>

    <tr>
      <td>
        02 / 37
      </td>

      <td>
        Unspecified failure from the provider
      </td>
    </tr>

    <tr>
      <td>
        05 / 37
      </td>

      <td>
        Unknown provider error
      </td>
    </tr>
  </tbody>
</Table>

| CSC/CVV | CSC/CVV Response Code |
| :------ | :-------------------- |
| 100     | MATCH                 |
| 101     | NOT\_PROCESSED        |
| 102     | NO\_MATCH             |

| AMEX CSC/CVV | CSC/CVV Response Code |
| :----------- | :-------------------- |
| 1000         | MATCH                 |
| 1010         | NOT\_PROCESSED        |
| 1020         | NO\_MATCH             |

<HTMLBlock>{`
<script src="https://global.localizecdn.com/localize.js"></script>
<script>!function(a){if(!a.Localize){a.Localize={};for(var e=["translate","untranslate","phrase","initialize","translatePage","setLanguage","getLanguage","getSourceLanguage","detectLanguage","getAvailableLanguages","untranslatePage","bootstrap","prefetch","on","off","hideWidget","showWidget"],t=0;t<e.length;t++)a.Localize[e[t]]=function(){}}}(window);</script>

<script>
  Localize.initialize({
    key: 'SDt2zs6IAj3cO',
    rememberLanguage: true,
  });
</script>
`}</HTMLBlock>