> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.mangopay.com/testing/payment-methods/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.mangopay.com/_mcp/server. # Payment methods Mangopay provides test cards and account details for you to simulate transactions in your Sandbox environment. > **Warning** > > **Warning - For Sandbox only** > > All cards and account details available on this page are for testing purposes in the Sandbox environment only. ## Cards ### CB/Visa/Mastercard The following card triggers a 3DS2 frictionless flow, where SCA is not required. You need to set the `SecureMode` to `DEFAULT` or `NO_CHOICE`.
**Card number** 4970107111111119
**Expiry date** Any future date (month/year)
**CVC** Any three digits
**Currencies** See the [currencies](/guides/currencies) page for details
The following card triggers a 3DS2 challenge flow, where SCA is required. You need to set the `SecureMode` to `FORCE` or `NO_CHOICE`.
**Card number** 4970105181818183
**Expiry date** Any future date (month/year)
**CVC** Any three digits
**Currencies** See the [currencies](/guides/currencies) page for details
### Maestro/Bancontact The following card triggers a 3DS2 challenge flow, where SCA is required. You need to set the `SecureMode` to `FORCE`.
**Card number** 5033951000000004
**Expiry date** Any future date (month/year)
**CVC** Any three digits
**Currencies** EUR
### AMEX The following card triggers a 3DS2 challenge flow, where SCA is required. You need to set the `SecureMode` to `FORCE`.
**Card number** 375989111111119
**Expiry date** Any future date (month/year)
**CVC** 1234
**Currencies** EUR
## Banking ### Bank wires To test pre-declared bank wire transfers, first call the [POST Create a Direct Bank Wire PayIn](/api-reference/bank-wire-payins/create-bank-wire-payin) endpoint to declare the payment. Then, to simulate the user making the wire transfer with their bank, you can then use the [Mangopay Dashboard](https://hub.mangopay.com/) Once connected: * Select your Sandbox `ClientId` in the top left * Click ***Sandbox Ops*** at the bottom of the left sidebar * Select ***Sandbox Operations*** in the left sidebar of the legacy Dashboard * Select ***Process a payin bankwire*** * Enter the `Id` of the pay-in you declared * Select ***Accept the payin*** (or ***Refuse the payin***) and click ***Submit*** After a few seconds, pay-in `Status` changes to `SUCCEEDED` and the funds are credited to the wallet. ### Virtual Accounts To test a bank wire transfer to a Virtual Account, you need to first create the account using the [POST Create a Virtual Account](/api-reference/virtual-accounts/create-virtual-account) endpoint. Then, to simulate the user making the wire transfer with their bank, you can then use the [Mangopay Dashboard](https://hub.mangopay.com/) Once connected: * Select your Sandbox `ClientId` in the top left * Click ***Sandbox Ops*** at the bottom of the left sidebar * Select ***Sandbox Operations*** in the left sidebar of the legacy Dashboard * Select ***Create a banking alias payin*** * Enter the following details (which are all required) and click ***Submit***: * The `Id` of the Virtual Account in the ***Banking alias Id*** field * The amount to pay in (note that this is **not** in minor units, so `100` is EUR 100.00, for example) * The custom reference, which is displayed in the pay-in's `WireReference` * The (fictional) name of the account holder * The (testing) IBAN and BIC – you can use [these details](/testing/payouts#general-testing) for FR and GB After a few seconds, the pay-in is created. To retrieve its `Id` via the API, call [GET List Transactions for a Wallet](/api-reference/transactions/list-transactions-wallet) using the Virtual Account's `WalletId`. You can also set up the `PAYIN_NORMAL_SUCCEEDED` [webhook](/webhooks) which contains the pay-in `Id` as the `RessourceId` parameter. Use the [GET View a PayIn](/api-reference/virtual-accounts/view-payin-external-instruction) endpoint to retrieve the full details of the [External Instruction Bank Wire](/api-reference/virtual-accounts/external-instruction-bank-wire-payin-object) pay-in. ### Pay by bank To test Pay by Bank, follow the `RedirectURL` in the API response to access the simulator. Use the credentials below to simulate the user's login to their bank, depending on the `Country`. Other testing data is provided if available. The `BankName` value skips the bank selection step, and the `IBAN` may make it possible to avoid a second authentication step (note that in Production, the `BIC` is required as well). See the [guide](/guides/payment-methods/banking/pay-by-bank) for details.
`Country` User name Password `BankName` `IBAN`
`AT` u37836153 idv243 \- `AT237779048615835002`
`DE` u83188312 zhx571 `de-demobank-open-banking-embedded-templates` `DE86622025011873401330`
`DK` u14373334 oam094 \- `DK6112197300631497`
`EE` u45530588 jkw063 `ee-demobank-open-banking-redirect` `EE831853951696135352`
`ES` u89609866 bst827 `es-demobank-open-banking-redirect` `ES4320339641318952396609`
`FI` u06516046 kam413 `fi-demobank-open-banking-redirect` `FI5692728476249545`
`FR` u77894411 mzw990 `fr-demobank-open-banking-redirect` `FR7010096000506758298614X08`
`GB` u83646180 rlf446 `uk-demobank-open-banking-redirect` `GB27WRDK15987166981285`
`IE` u92721594 nbs589 \- \-
`IT` u42389294 fog735 `it-demobank-open-banking-redirect` `IT39P0266750520LJC1V5JDSPGJ`
`NL` u31617430 xnf660 `nl-demobank-open-banking-redirect` `NL24DGXA1322823873`
`PL` u92646934 ivf650 `pl-demobank-open-banking-redirect` `PL90254328459114220292385619`
`PT` u16025013 jvq103 `pt-demobank-open-banking-redirect` `PT63465472006596504782081`
### Direct debit For testing [direct debits](/guides/payment-methods/banking/direct-debit), you can use the following bank account data and mock values. Note that it is not possible to test direct debit email notifications in Sandbox. #### SEPA You can use the following details on [POST Create an IBAN Bank Account](/api-reference/bank-accounts/create-iban-bank-account) for testing the **SEPA scheme**:
`IBAN` FR7630004000031234567890143
`BIC` BNPAFRPP
#### Bacs You can use the following details on [POST Create a GB Bank Account](/api-reference/bank-accounts/create-gb-bank-account) for testing the **Bacs scheme**:
`AccountNumber` 55779911
`SortCode` 200000
#### Mandates When testing direct debit mandates and pay-ins, you can set a specific value for the `FirstName` parameter of the [Natural User](/api-reference/users/natural-user-object-sca) who owns the bank account for the mandate. * `Successful` - Results in an active mandate. You must do a pay-in with this mandate for the status to be updated. * `Invalid` - For Bacs only, results in a failed mandate due to incorrect bank account information. * `Penniless` - Results in a failed pay-in due to lack of funds (with the [001830](/errors/codes/001830)). * `Fickle` - Results in a successful pay-in which is disputed by the user and hence a dispute is created. #### Direct debit refunds It is not possible to initiate a refund for a direct debit pay-in until the 8th day following the day of the pay-in's `CreationDate` (to avoid a conflict with possible late failures). On [POST Create a Refund](/api-reference/refunds/create-refund-payin) you can set the `Tag` to the mock value `ignore_mindate` to ignore the minimum date restriction and test refunds within 7 days. Note that you can only create a refund if the pay-in `Status` is `SUCCEEDED`, which you can achieve with the `Successful` mock value above. ## Alternative payment methods (APMs) ### Apple Pay To test Apple Pay, [create a sandbox Apple ID](https://developer.apple.com/help/app-store-connect/test-in-app-purchases-main/create-sandbox-apple-ids) and then use this ID to log in on your device. Once logged in as a sandbox tester, [add an Apple Pay test card](https://developer.apple.com/apple-pay/sandbox-testing/) to your Apple wallet to test your integration on your device. ### Bancontact To test Bancontact pay-ins on web, follow the `RedirectURL` in the API response to access Mangopay’s simulator. The simulator gives options to test successful and failed payment scenarios. For mobile, the `DeepLinkURL` returned by the API in Sandbox is a placeholder. Bancontact doesn’t provide a testing environment, so the only way to complete the payment in Sandbox is by using Mangopay’s web-based simulator, accessible via the `RedirectURL` value. ### Bizum The only way to test Bizum is via Mangopay's simulator. To test Bizum, follow the `RedirectURL` in the API response to access Mangopay’s simulator. The simulator gives options to test successful and failed payment scenarios. In Sandbox, the `RedirectURL` is returned in all cases, because it is the only way to complete the transaction. In Production, the `RedirectURL` is not returned if `Phone` is sent. ### BLIK To test BLIK, follow the `RedirectURL` in the API response to access Mangopay’s simulator. The simulator gives options to test successful and failed payment scenarios. ### Google Pay You can use Google Pay's [test card suite](https://developers.google.com/pay/api/android/guides/resources/test-card-suite) to test your Google Pay integration with Mangopay. Once you have joined the test card suite group, you can use the following cards in Sandbox: * **4111111111111111** - To trigger a challenge flow (requiring 3DS redirection) on web * **5555555555554445** - To trigger a challenge flow (requiring 3DS redirection) on mobile * **5555555555554444** - To trigger a frictionless flow (not requiring 3DS redirection) on web and mobile ### iDEAL To test iDEAL, follow the `RedirectURL` in the API response to access Mangopay’s simulator. The simulator gives options to test successful and failed payment scenarios. ### Klarna To test Klarna, follow the `RedirectURL` returned in Sandbox to access Klarna’s simulator. Klarna’s [Sample customer data](https://docs.klarna.com/resources/developer-tools/sample-data/sample-customer-data/) allows you to test successful and failed payment scenarios. The sample data relating to disputes is available but can’t be used to simulate disputes on the Klarna’s sandbox Merchant Portal. **Note:** If you use data other than the samples provided, it will be used to create a new Klarna account during the payment process. ### MB WAY To test MB WAY, enter your phone number in the `Phone` parameter to receive an SMS containing a link to Mangopay’s simulator. ### Multibanco To test Multibanco, follow the `RedirectURL` in the API response to access Mangopay’s simulator. The simulator gives options to test successful and failed payment scenarios. ### Payconiq To test Payconiq pay-ins on web, follow the `RedirectURL` in the API response to access Mangopay’s simulator. The simulator gives options to test successful and failed payment scenarios. For mobile, the `QRCodeURL` and `DeepLinkURL` returned by the API in Sandbox are placeholders. The only way to complete the payment in Sandbox is by using Mangopay’s web-based simulator, accessible via the `RedirectURL` value. ### PayPal When PayPal is activated in Sandbox, Mangopay provides you with credentials to a PayPal account that can be used for testing. To test PayPal, follow the `RedirectURL` in the API response to access the PayPal payment page and log in using the test account provided. ### Satispay To test Satispay, follow the `RedirectURL` in the API response to access Mangopay’s simulator. The simulator gives options to test successful and failed payment scenarios. ### Swish To test Swish, follow the `RedirectURL` in the API response to access Mangopay’s simulator. The simulator gives options to test successful and failed payment scenarios. For mobile, the `QRCodeURL` and `DeepLinkURL` are not returned by the API in Sandbox. The only way to complete the payment in Sandbox is by using Mangopay’s web-based simulator, accessible via the `RedirectURL` value. ### TWINT To test TWINT, follow the `RedirectURL` in the API response to access Mangopay’s simulator. The simulator gives options to test successful and failed payment scenarios.