Sandkasse til simuleret betalingsgateway
Lær, hvordan en betalings-API svarer: simuler godkendelser, afvisninger og 3-D Secure med offentliggjorte testkort – helt offline.
🔒 Undervisningssimulator: den kontakter ingen bank, intet kortnetværk eller nogen betalingsudbyder. Kun offentliggjorte testkortnumre accepteres.
Offentliggjorte testkortnumre
| Kortnummer | Netværk | Simuleret resultat | |
|---|---|---|---|
| 4242 4242 4242 4242 | Visa | Betalingen lykkes | |
| 4000 0000 0000 0002 | Visa | Afvist: generic_decline | |
| 4000 0000 0000 9995 | Visa | Afvist: insufficient_funds | |
| 4000 0000 0000 0069 | Visa | Afvist: expired_card | |
| 4000 0000 0000 0127 | Visa | Afvist: incorrect_cvc | |
| 4000 0000 0000 0119 | Visa | Fejl: processing_error | |
| 4000 0025 0000 3155 | Visa | Kræver 3-D Secure-godkendelse | |
| 5555 5555 5555 4444 | Mastercard | Betalingen lykkes | |
| 3782 822463 10005 | American Express | Betalingen lykkes |
Sådan fungerer betalingsflowet
Din server opretter og bekræfter en payment intent, gatewayen svarer med en status, og en webhook fortæller senere din backend det endelige resultat. Gennemfør ordrer ud fra webhooken, ikke ud fra browserens omdirigering.
{
"method": "POST",
"path": "/v1/payment_intents",
"body": {
"amount": 2000,
"currency": "usd",
"confirm": true,
"payment_method_data": {
"type": "card",
"card": {
"number": "4242424242424242",
"exp_month": 12,
"exp_year": 2030,
"cvc": "123"
}
}
}
}{
"id": "pi_test_3kq9x2m7v1c8b5n4z6a0d2f1",
"object": "payment_intent",
"livemode": false,
"amount": 2000,
"currency": "usd",
"status": "succeeded",
"payment_method": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242",
"exp_month": 12,
"exp_year": 2030
}
},
"latest_charge": {
"id": "ch_test_8h2j4k6l1m3n5p7q9r0s2t4u",
"authorization_code": "T4K2Q9",
"outcome": {
"network_status": "approved_by_network",
"type": "authorized"
}
}
}{
"id": "evt_test_1a2b3c4d5e6f7g8h9i0j1k2l",
"object": "event",
"type": "payment_intent.succeeded",
"livemode": false,
"data": {
"object": {
"id": "pi_test_3kq9x2m7v1c8b5n4z6a0d2f1",
"status": "succeeded",
"amount": 2000,
"currency": "usd"
}
}
}{
"id": "evt_test_9z8y7x6w5v4u3t2s1r0q9p8o",
"object": "event",
"type": "payment_intent.payment_failed",
"livemode": false,
"data": {
"object": {
"id": "pi_test_7f6e5d4c3b2a1z0y9x8w7v6u",
"status": "requires_payment_method",
"last_payment_error": {
"type": "card_error",
"code": "card_declined",
"decline_code": "insufficient_funds",
"message": "Your card has insufficient funds."
}
}
}
}Om Sandkasse til simuleret betalingsgateway
Denne sandkasse med en simuleret betalingsgateway lader udviklere lære, hvordan en API til kortbetalinger svarer, uden at røre rigtige penge. Vælg et af de offentliggjorte testkortnumre, indtast en vilkårlig fremtidig udløbsdato, en CVC og et beløb, og tryk på Simuler betaling. Siden returnerer et JSON-objekt formet som en typisk payment intent: et id, en status, kortnetværket og de sidste fire cifre, en afvisningskode og besked ved fejl samt en falsk autorisationskode ved godkendelser. 3-D Secure-kortet viser en simuleret kontrol, så du kan øve håndtering af statussen requires_action, og hvert resultat indeholder den tilsvarende webhook-hændelse. Simulatoren kører udelukkende i din browser: den kontakter ingen bank, intet kortnetværk eller nogen betalingsudbyder, og den accepterer kun de offentliggjorte testnumre i tabellen. Rigtige kortnumre afvises lokalt og sendes aldrig nogen steder hen.
FAQ
Trækker sandkassen penge på et kort eller kontakter en bank?
Nej. Alt simuleres i din browser. Der sendes ingen forespørgsel til Visatk, en bank, et kortnetværk eller en betalingsudbyder, og ingen penge flyttes.
Hvorfor afvises mit kortnummer?
Sandkassen accepterer kun de offentliggjorte testnumre i tabellen. Ethvert andet nummer, inklusive et rigtigt kort, afvises lokalt, så det aldrig behandles som godkendt.
Kan jeg bruge disse numre hos min rigtige betalingsudbyder?
Det er de bredt offentliggjorte testnumre, der bruges i udbyderes testtilstande. De virker kun med test-API-nøgler i din udbyders sandkasse; i live-tilstand afvises de altid.