# Stripe
> Accept card, direct debit, and digital wallet payments through Stripe using PaymentKit. PaymentKit acts as the payment orchestrator and provides the required PCI compliance documentation used to enable Stripe’s raw card APIs.
# Set up summary
To accept payments with Stripe in PaymentKit, you will need to:
1. Request access to Stripe raw card APIs
2. Enable raw card number processing in Stripe Dashboard
3. Create Stripe API keys
4. Connect Stripe to PaymentKit
5. (Optional) Enable Apple Pay and Google Pay
# Request access to Stripe raw card APIs
PaymentKit uses Stripe’s [**raw card APIs**](https://support.stripe.com/questions/enabling-access-to-raw-card-data-apis), which must be enabled by Stripe.
PaymentKit is PCI compliant and provides the required compliance documentation, including the **Self-Assessment Questionnaire (SAQ D)** and **On-Site Attestation of Compliance.** These documents are required when requesting access to Stripe’s raw card data APIs. You do not need to complete PCI certification separately.
Submit a request through [Stripe Support](https://support.stripe.com/contact/login?redirected=true\&question=other\&subject=Request+to+enable+raw+card+data+APIs) using the following message:
> I am requesting access to Stripe’s raw card data APIs for my account. PaymentKit serves as our PCI-compliant payment orchestrator and provides the required Self-Assessment Questionnaire (SAQ D) and On-Site Attestation of Compliance, which can be accessed here: (insert link)
Stripe should get back to you within a few days.
# Enable raw card number processing in Stripe Dashboard
Once Stripe has approved your raw card API access, you must enable the setting in your Stripe Dashboard to avoid warnings when PaymentKit processes payments.
1. In your Stripe Dashboard, navigate to [**Settings > Integration**](https://dashboard.stripe.com/settings/integration)
2. Under the **Advanced** section, enable **Allow processing of raw card numbers**
For more details, see Stripe's documentation on [enabling access to raw card data APIs](https://support.stripe.com/questions/enabling-access-to-raw-card-data-apis) and Stripe's [integration security guide](https://docs.stripe.com/security/guide).
If this setting is not enabled, Stripe will display a one-time warning about full card numbers being passed to their API. This is expected behavior — PaymentKit's secure proxy (VGS) detokenizes card aliases before forwarding them to Stripe. Enabling this setting acknowledges that your integration intentionally sends raw card data.
# Create Stripe API keys
PaymentKit requires Stripe API keys to securely connect to your Stripe account.
1. In your Stripe account, navigate to the [API keys page](https://dashboard.stripe.com/apikeys)
2. Create a **restricted API key**
* How will you use this API key: *Providing this key to another website*
* 3rd party name: *PaymentKit*
* 3rd party URL:[*http://app.paymentkit.com/*](http://app.paymentkit.com/)
3. Copy the following values:
* **Publishable key**
* **Restricted secret key**
# Connect Stripe to PaymentKit
1. Navigate to **Developers → Payment Processors**
2. Click **Add Processor** and select **Stripe**
3. Enter your **publishable key** and **restricted key**
4. Turn on the payment methods you want to accept payments in **(for Apple Pay and Google Pay, you will need to complete the additional steps below)**
# Enable Apple Pay and Google Pay
## Register Your Domain
A **custom domain is required** before digital wallets can be enabled.
1. Register your domain in Stripe [here](https://dashboard.stripe.com/settings/payment_method_domains?enabled=true)
2. Verify the domain
## Add Apple Pay and Google Pay as accepted payment methods
After your domain is registered:
1. Navigate to **Developers → Payment Processors**
2. Edit your Stripe processor settings
3. Add Apple Pay and Google Pay as accepted payment methods
## Notes on how wallet availability works
PaymentKit does not control whether Apple Pay or Google Pay is shown. Availability is determined entirely by Stripe based on device, browser, and wallet configuration.
### Availability Summary
**Apple Pay**
* Safari on macOS, iOS, and iPadOS
**Google Pay**
* Android devices
* Supported Chrome desktop browsers
For full requirements, see Stripe's documentation [here](https://docs.stripe.com/testing/wallets?ui=payment-element#device-requirements).
You can also compare expected behavior using Stripe's demo pages [here](https://stripe-payments-demo.appspot.com/) and [here](https://docs.stripe.com/testing/wallets?ui=payment-request-button-element).
Once enabled, Apple Pay and Google Pay can be integrated directly into your custom checkout form using PaymentKit's ``. Click to learn more.
***
\[MBCC]