# Pay with stored card details Customers can request to store their card details during a payment, which you can then use for future payments without customers having to re-enter the details. > **Information** > > Only you can access [credentials stored in the Vault](https://www.checkout.com/docs/payments/store-and-manage-credentials.md). > > > Customer details saved using [Remember Me](https://www.checkout.com/docs/payments/accept-payments/accept-a-payment-on-your-website/extend-your-flow-integration/enable-remember-me.md) can be accessed by all merchants with Remember Me enabled, regardless of which merchant the customer saved them with. > > > You can use Remember Me to provide faster checkout for your customers with the [Flow](https://www.checkout.com/docs/payments/accept-payments/accept-a-payment-on-your-website.md), [Flow for mobile](https://www.checkout.com/docs/payments/accept-payments/accept-a-payment-on-your-mobile-app.md), [Hosted Payments Page](https://www.checkout.com/docs/payments/accept-payments/accept-a-payment-on-a-hosted-page.md), and [Payment Links](https://www.checkout.com/docs/payments/accept-payments/create-a-payment-link.md) solutions. --- ## SCA requirements In regions that require Strong Customer Authentication (SCA), you must enable [3D Secure (3DS)](https://www.checkout.com/docs/payments/authenticate-payments/3d-secure.md) authentication for the initial payment by setting `3ds.enabled` to `true` in the initial payment request. If you do not supply the required information, your payment request has a higher risk of declining with a `20154` response code. If this happens, we [automatically upgrade the payment to 3DS](https://www.checkout.com/docs/risk-management/3d-secure/automated-sca-soft-decline-retry.md) and retry the transaction. See [SCA compliance](https://www.checkout.com/docs/business-operations/ensure-regulatory-compliance/sca-compliance.md) for more information. You must also set `3ds.challenge_indicator` to `challenge_requested_mandate` to prevent subsequent CNP transactions from being declined. > **Information** > > If the transaction qualifies, you can also make use of [3DS exemptions](https://www.checkout.com/docs/risk-management/3d-secure/sessions/3ds-exemptions.md). For more information, see [SCA compliance](https://www.checkout.com/docs/business-operations/ensure-regulatory-compliance/sca-compliance.md). --- ## Store card details To enable one-click payments, or to avoid having to input their card details again for future payments, a customer may request to save their card details during a cardholder-initiated transaction (CIT). To store your customer's card details during an initial transaction, call the [Request a payment](https://api-reference.checkout.com/tag/Payments/#operation/requestAPaymentOrPayout) endpoint with the following fields: - `source.store_for_future_use` – Set to `true` - `payment_type` – Set to `Regular` - `merchant_initiated` – Set to `false` > **Information** > > Your base URL's `{prefix}` value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see [API endpoints](https://www.checkout.com/docs/developer-resources/api/api-endpoints.md). **Production** `POST` `https://{prefix}.api.checkout.com/payments` **Sandbox** `POST` `https://{prefix}.api.sandbox.checkout.com/payments` ### Request example **Full card details** ```json { "source": { "type": "card", "number": 4242424242424242, "expiry_month": 10, "expiry_year": 2026, "store_for_future_use": true }, "amount": 5000, "currency": "USD", "payment_type": "Regular", "merchant_initiated": false, "3ds": { "enabled": true, "challenge_indicator": "challenge_requested" } } ``` **Card token** ```json { "source": { "type": "token", "token": "tok_4gzeau5o2uqubbk6fufs3m7p54", "store_for_future_use": true }, "amount": 5000, "currency": "USD", "payment_type": "Regular", "merchant_initiated": false, "3ds": { "enabled": true, "challenge_indicator": "challenge_requested" } } ``` **Network token** ```json { "source": { "type": "network_token", "token": "4111111111111111", "token_type": "vts", "expiry_month": "10", "expiry_year": "2025", "eci": "06", "cryptogram": "AgAAAAAAAIR8CQrXcIhbQAAAAAA=", "store_for_future_use": true }, "amount": 5000, "currency": "USD", "payment_type": "Regular", "merchant_initiated": false, "3ds": { "enabled": true, "challenge_indicator": "challenge_requested" } } ``` ### Response example ```json { "id": "pay_4hlqceyyib5ezpxtpdpwfhwtda", "status": "Pending", "reference": "ORD-5023-4E89", "3ds": { "downgraded": false, "enrolled": "Y" }, "source": { "type": "id", "id": "src_nwd3m4in3hkuddfpjsaevunhdy" }, "_links": { "self": { "href": "https://{prefix}.api.sandbox.checkout.com/payments/pay_fbfrj7f3bwou5bdgmzsryd223i" }, "actions": { "href": "https://{prefix}.api.sandbox.checkout.com/payments/pay_fbfrj7f3bwou5bdgmzsryd223i/actions" }, "redirect": { "href": "https://{prefix}.api.sandbox.checkout.com/redirect/act_y3oqhf46pyzuxjbcn2giaqnb44" } } } ``` The response returns a payment instrument value in the `source.id` field, which you can use to request future payments with the stored card details. --- ## Request a payment with stored card details To request a payment with stored card details, call the [Request a payment](https://api-reference.checkout.com/tag/Payments/#operation/requestAPaymentOrPayout) endpoint, setting: - The `payment_type` field to `Regular`. - The `source` object to the payment instrument values: - The `type` field to `id`. - The `id` field to the `source.id` value you received when storing the card details. ### Request example ```json { "source": { "type": "id", "id": "src_nwd3m4in3hkuddfpjsaevunhdy" }, "amount": 5000, "currency": "USD", "payment_type": "Regular", "merchant_initiated": false, "3ds": { "enabled": true, "challenge_indicator": "no_challenge_requested" } } ``` > **Note** > > If you process a payment with full card details or network tokens stored in a card-on-file system external to Checkout.com, you must set `source.stored` to `true` in the request. **Full card details** ```json { "source": { "type": "card", "number": 4242424242424242, "expiry_month": 10, "expiry_year": 2026, "stored": true }, "amount": 5000, "currency": "USD", "payment_type": "Regular" } ``` **Network token** ```json { "source": { "type": "network_token", "token": "4111111111111111", "token_type": "vts", "expiry_month": "10", "expiry_year": "2025", "eci": "06", "cryptogram": "AgAAAAAAAIR8CQrXcIhbQAAAAAA=", "stored": true }, "amount": 5000, "currency": "USD", "payment_type": "Regular" } ``` --- ## Related topics - [Recurring payments with stored card details](https://www.checkout.com/docs/payments/accept-payments/pay-with-stored-card-details/recurring-payments-with-stored-card-details.md): Learn how to request recurring payments with stored card details. - [Unscheduled payments with stored card details](https://www.checkout.com/docs/payments/accept-payments/pay-with-stored-card-details/unscheduled-payments-with-stored-card-details.md): Learn how to request unscheduled payments with stored card details. - [Pay with tokenized CVV](https://www.checkout.com/docs/payments/accept-payments/pay-with-stored-card-details/pay-with-tokenized-cvv.md): Learn how to request payments with a stored CVV.