{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition","tabs","tab"]},"type":"markdown"},"seo":{"title":"Reefpay Docs","description":"Reefpay is the groundbreaking payment gateway that lets you integrate with the future of payments.","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"delete-a-stored-payment-method","__idx":0},"children":["Delete a stored payment method"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":1},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A valid API key — see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/how-tos/setup/obtain-credentials"},"children":["Obtain API credentials"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["An existing ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payment_token"]}," value"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-soft-delete-works","__idx":2},"children":["How soft-delete works"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Reefpay"," uses ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["soft-delete"]}," for payment tokens:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The token status changes from ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["active"]}," to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["inactive"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The token record is retained for audit and transaction history."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Any future transaction that references the token will be rejected."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Existing completed transactions linked to the token are unaffected."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"This action is irreversible"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Once deleted, a token cannot be reactivated. To use the same payment method again, create a new token."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-1-send-the-delete-request","__idx":3},"children":["Step 1: Send the delete request"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Send ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELETE /v1/payment_tokens/{token}"]},"."]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"curl","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"shell","header":{"controls":{"copy":{}}},"source":"curl -X DELETE \\\n  https://api.dev.paradisegateway.net/v1/payment_tokens/PAYMENT_TOKEN-01KFDKXMQ637EKEAY410MSQSXB \\\n  -H \"APIKEY: YOUR-API-KEY\"\n","lang":"shell"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Python","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"python","header":{"controls":{"copy":{}}},"source":"import requests\n\ntoken = \"PAYMENT_TOKEN-01KFDKXMQ637EKEAY410MSQSXB\"\nresp = requests.delete(\n    f\"https://api.dev.paradisegateway.net/v1/payment_tokens/{token}\",\n    headers={\"APIKEY\": \"YOUR-API-KEY\"},\n)\nprint(resp.json())\n","lang":"python"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"JavaScript","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"javascript","header":{"controls":{"copy":{}}},"source":"const token = \"PAYMENT_TOKEN-01KFDKXMQ637EKEAY410MSQSXB\";\nconst resp = await fetch(\n  `https://api.dev.paradisegateway.net/v1/payment_tokens/${token}`,\n  {\n    method: \"DELETE\",\n    headers: { \"APIKEY\": \"YOUR-API-KEY\" },\n  }\n);\nconsole.log(await resp.json());\n","lang":"javascript"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"C#","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"csharp","header":{"controls":{"copy":{}}},"source":"var token = \"PAYMENT_TOKEN-01KFDKXMQ637EKEAY410MSQSXB\";\nvar resp = await client.DeleteAsync(\n    $\"https://api.dev.paradisegateway.net/v1/payment_tokens/{token}\");\nConsole.WriteLine(await resp.Content.ReadAsStringAsync());\n","lang":"csharp"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Java","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"java","header":{"controls":{"copy":{}}},"source":"String token = \"PAYMENT_TOKEN-01KFDKXMQ637EKEAY410MSQSXB\";\nHttpRequest request = HttpRequest.newBuilder()\n    .uri(URI.create(\n        \"https://api.dev.paradisegateway.net/v1/payment_tokens/\" + token))\n    .header(\"APIKEY\", \"YOUR-API-KEY\")\n    .DELETE().build();\nHttpResponse<String> resp = client.send(request,\n    HttpResponse.BodyHandlers.ofString());\nSystem.out.println(resp.body());\n","lang":"java"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Go","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"go","header":{"controls":{"copy":{}}},"source":"token := \"PAYMENT_TOKEN-01KFDKXMQ637EKEAY410MSQSXB\"\nreq, _ := http.NewRequest(\"DELETE\",\n    \"https://api.dev.paradisegateway.net/v1/payment_tokens/\"+token, nil)\nreq.Header.Set(\"APIKEY\", \"YOUR-API-KEY\")\nresp, _ := http.DefaultClient.Do(req)\ndefer resp.Body.Close()\nbody, _ := io.ReadAll(resp.Body)\nfmt.Println(string(body))\n","lang":"go"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"PHP","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"php","header":{"controls":{"copy":{}}},"source":"$token = \"PAYMENT_TOKEN-01KFDKXMQ637EKEAY410MSQSXB\";\n$ch = curl_init(\"https://api.dev.paradisegateway.net/v1/payment_tokens/$token\");\ncurl_setopt_array($ch, [\n    CURLOPT_RETURNTRANSFER => true,\n    CURLOPT_CUSTOMREQUEST => \"DELETE\",\n    CURLOPT_HTTPHEADER => [\"APIKEY: YOUR-API-KEY\"],\n]);\necho curl_exec($ch); curl_close($ch);\n","lang":"php"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Ruby","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"ruby","header":{"controls":{"copy":{}}},"source":"require \"net/http\"\ntoken = \"PAYMENT_TOKEN-01KFDKXMQ637EKEAY410MSQSXB\"\nuri = URI(\"https://api.dev.paradisegateway.net/v1/payment_tokens/#{token}\")\nreq = Net::HTTP::Delete.new(uri, { \"APIKEY\" => \"YOUR-API-KEY\" })\nresp = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(req) }\nputs resp.body\n","lang":"ruby"},"children":[]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"step-2-verify-the-response","__idx":4},"children":["Step 2: Verify the response"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["200"]}," response confirms the soft-delete. The returned token now has ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status: inactive"]},"."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"payment_token\": \"PAYMENT_TOKEN-01KFDKXMQ637EKEAY410MSQSXB\",\n  \"object\": \"payment_token\",\n  \"type\": \"card\",\n  \"status\": \"inactive\",\n  \"customer_id\": \"CUSTOMER-01KFDKXMQ637EKEAY410MSQSXB\",\n  \"is_default\": false,\n  \"nickname\": \"My Business Visa\",\n  \"card\": {\n    \"brand\": \"visa\",\n    \"last_four\": \"1111\",\n    \"bin\": \"411111\",\n    \"funding\": \"credit\"\n  },\n  \"correlation_id\": \"d4e5f6a7-b8c9-0123-def0-1234567890ab\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Key observations:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["status"]}," is now ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["inactive"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_default"]}," is automatically set to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["false"]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"when-to-delete-tokens","__idx":5},"children":["When to delete tokens"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Scenario"},"children":["Scenario"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Action"},"children":["Action"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Customer requests removal of payment method"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Delete the token"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Card reported lost or stolen"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Delete and create a new token with the replacement card"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Compliance requirement (data minimization)"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Delete tokens no longer needed"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Card expired and will not be renewed"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Delete the token"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"default-payment-method-behavior","__idx":6},"children":["Default payment method behavior"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you delete a token that was the customer's default (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_default: true"]},"), no other token is automatically promoted to default. You should explicitly set a new default using ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/how-tos/tokenization-vaulting/update-payment-method"},"children":["Update stored payment method"]}," with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["is_default: true"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"next-steps","__idx":7},"children":["Next steps"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/how-tos/tokenization-vaulting/store-card"},"children":["Store a card for future use"]}," — create a replacement token"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/concepts/tokenization/stored-payment-methods"},"children":["About stored payment methods"]}]}]}]},"headings":[{"value":"Delete a stored payment method","id":"delete-a-stored-payment-method","depth":1},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"How soft-delete works","id":"how-soft-delete-works","depth":2},{"value":"Step 1: Send the delete request","id":"step-1-send-the-delete-request","depth":2},{"value":"Step 2: Verify the response","id":"step-2-verify-the-response","depth":2},{"value":"When to delete tokens","id":"when-to-delete-tokens","depth":2},{"value":"Default payment method behavior","id":"default-payment-method-behavior","depth":2},{"value":"Next steps","id":"next-steps","depth":2}],"frontmatter":{"title":"Delete a stored payment method","shortTitle":"Delete payment method","intro":"Remove a stored payment token using a soft-delete. The token is marked inactive and retained for audit history, but it can no longer be used in new transactions.","type":"how-to","seo":{"title":""}},"lastModified":"2026-06-05T02:46:44.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/how-tos/tokenization-vaulting/delete-payment-method","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}