# Test Cards and Payment Methods Building with an AI agent? Start at https://docs.payme.io/agents.md ## Related - [Environments](/payments/getting-started/environments) - [Errors](/payments/getting-started/errors) - [Quickstart](/payments/getting-started/quickstart) Use these test details only in the sandbox. Google Pay and Apple Pay work in the sandbox; the invoicing service (iCount documents) does not, so test documents on a minimal live sale with an immediate refund. Live testing without a sandbox is possible with minimum amounts and an immediate refund, or with authorization-only sales. ## Main credit card numbers for testing EMV supported credit cards: Credit Card |Details ---|--- **Card Number:** `4557430402053431` **Expiration:** `12/30` **CVV:**`200` **Social ID:**`008336174`|**Limitations**: Acts as an international non-Israeli card. Accepts sales with only one installment. Accepts sales in ILS, USD, EUR. **Card Number:** `375516193000090` **Expiration:** `12/30` **CVV:** `0957` **Social ID:**`008336174`| **Limitations**: Acts as an international Israeli card. Accepts sales with multiple installments. Accepts sales in ILS, USD, EUR. **Card Number:** `5326105300985846` **Expiration:** `12/30` **CVV:** `658` **Social ID:**`008336174`| **Limitations**: Acts as a local Israeli card. Accepts sales with multiple installments. Accepts sales in ILS only. ## Secondary credit card numbers for testing Credit Card Type |Credit Card Number ---|--- Visa| `4111111111111111` `4200000000000000` Mastercard| `5555555555554444` `5454545454545454` AmericanExpress| `378282246310005` `377777777777770` Diners |`38520000023237` Discover| `6011000990139424` JCB |`3530111333300000` Isracard|`12312312` ## Credit card numbers for testing specific responses and errors These cards work only in the sandbox, where they always fail. A charge (`pay-sale`, or a charge with a `buyer_key`) returns **HTTP 200** with `status_code: 1` and the error below; tokenizing a decline card with `capture-buyer-token` returns **HTTP 500** with the same `status_code`, `status_error_code` and `status_error_details`. Card Number |Description|`status_error_code`|Message (with `language: "en"`) ---|---|---|--- `4000000000000002`| Payment is declined with a card declined error|`20004`|Refusal by credit company. Please try a different card `4000000000000051`| Payment is declined with a card blocked error|`21001`|The card is blocked `4000000000000085`| Payment is declined with a card stolen error|`21002`|The card is stolen `4000000000000069`| Payment is declined with a card expired error|`21004`|The card is expired `4000000000000101`| Payment is declined with a required CVV error|`21007`|CVV/ID is required but was not entered `4000000000000127`| Payment is declined with an incorrect CVV|`21008`|Incorrect CVV or ID `4000000000000135`| Payment is declined with a credit limit reached error|`21006`|The credit limit has been reached `4242424242424241`| Payment is declined with an incorrect card number error|`21005`|Incorrect card number `4000000000000036`| Token capture succeeds only through Hosted Fields `tokenize()` or `capture-buyer-token`; a later charge with the token is then declined. On a hosted payment page it is declined at once, with `capture_buyer` or `sale_type: token`, and no token exists|`20004`|Refusal by credit company. Please try a different card ## 3D Secure in the sandbox The sandbox applies the same selection rules as production. A sale gets the 3D Secure challenge when the card is foreign (issued in a country other than the seller's registered country), when the amount is at least the account's 3D Secure threshold, or when it has 3 or more installments. The amount rule compares `sale_price` in minor units with the threshold, without converting currencies. Whether a local card is challenged depends on the account's 3D Secure rules, so use a foreign card to test the challenge reliably. | Card | Behavior | |---|---| | `4918914107195005` | Challenge: the issuer page asks for a one-time code. Enter `555` to pass; any other code (for example `111`) fails authentication. | | `4907639999909022` | Frictionless approve: no challenge, authentication succeeds. | | `5283901906612672` | Frictionless decline: no challenge, authentication fails. | These cards use expiry `07/28` and CVV `123`. They produce a challenge only when the sale is selected for 3D Secure (see the rules above). ## Apple Pay Testing Information Card Brand | Card Number | Card Expiry Date | Card CVV ---|---|---|--- Visa | 4051 0693 0220 0121 | 12/27 | 340 Mastercard | 5204 2452 5052 2095 | 12/30 | 111 American Express | 37272 79248 51007 | 12/28 | 1111 Discover | FPAN: 6011 0009 9475 4889 | 12/30 | 111 ## Israeli Direct Debit Testing Information Bank Account Information (Bank, Branch, Account Number) |Description ---|--- `54, 112, 2222111` |Bank Authorization is approved after 60 seconds `54, 113, 4444333`|Bank Authorization is declined after 60 seconds `54, 111, 1112223`|Bank Authorization is declined immediately `54, 114, 5555111`|Bank Authorization stays pending (no status update is sent) Any other bank account is approved immediately. In the sandbox you only receive bank-authorization statuses 1 or 2. ## SEPA Payment Method Testing Information Account Number |Description ---|--- `DE89370400440532013000`| The Payment status transitions from `initial` to `completed` immediately. `DE08370400440532013003`|The Payment status transitions from `initial` to `completed` after 3 minutes. `DE62370400440532013001` |The Payment status transitions from `initial` to `failed` immediately. `DE78370400440532013004`|The Payment status transitions from `initial` to `failed` after 3 minutes. `DE35370400440532013002`|The Payment status transitions from `initial` to `completed` and then immediately to `chargeback`. ## BACS Payment Method Testing Information SORT CODE |Account Number| Description ---|---|--- `108800`| `00012345`| The Payment status transitions from `initial` to `completed` immediately. `108800`| `90012345`| The Payment status transitions from `initial` to `completed` after 3 minutes. `108800`| `33333335`| The Payment status transitions from `initial` to `completed` and then immediately to `failed`. ## Creating test sellers (partners) `seller_social_id` `9999999999`, `seller_email` `random@paymeservice.com` (suppresses automatic emails), `seller_bank_code` `54`, any 3-digit branch, any 6-digit account. ## Tokens in the sandbox Tokenization works in the sandbox out of the box. A token is scoped by the call that captures it: with `"buyer_is_private": true` it belongs to the seller (MPL); without it, it is account-level: any seller of the same partner can charge it, and a [`get-buyer-key`](/payments/tokenization/post-get-buyer-key) call that sends `seller_payme_id` fails with error `603` ("Merchant not allowed to use this buyer"). Charging a token outside its scope (a seller-level token by another seller, or any token by a seller of another partner) fails with error `605` ("The buyer was not captured using the provided seller"). Capture and charge a sandbox token on the sandbox with sandbox credentials.