This guide will help you down the most common use case for charging a card via Payments API.

## 1. Create a webhook endpoint to accept merchant ids

As new merchants are enrolled for PaySimple card acceptance, you will need to collect and store merchant ids.

a. [Subscribe](🔗) to the [Merchant Activated for Payment Webhook](🔗). b. Store `merchant_id` and `merchant_key` in your database.

If you miss a webhook subscription, or need to collect keys for existing merchants, call [get or list merchant endpoints](🔗).

## 2. Implement PMT to collect cards on your website

Include the [PMT Library](🔗) on your page and initialize using the `merchant_key` identifier collected in step #1. PMT will collect card data, submit it to PaySimple, and return a one time token (nonce).

## 3. Submit a sale to PaySimple

On your server, create a request to the [Sale endpoint](🔗). Set the `PaySimple-Merchant-Id` header to the id you collected in step #1. Set the `payment_method_token` value to the nonce token returned in step #2. If you wish to store the card in the vault for future use, set `store_in_vault` to `on_success`.

If you do not want to make a sale immediately, but instead need to store the card for a future sale, call the [Vault from Nonce](🔗) endpoint.