# Authorize.net
> Accept card and digital wallet payments through Authorize.net using PaymentKit. PaymentKit handles PCI compliance and securely orchestrates all payment operations with Authorize.net.
# Set up summary
To accept payments with Authorize.net in PaymentKit, you will need to:
1. Generate Authorize.net API credentials
2. Configure Authorize.net fraud settings
3. Connect Authorize.net to PaymentKit
4. (Optional) Enable Apple Pay
5. (Optional) Enable Google Pay
# Generate API credentials in Authorize.net
PaymentKit needs your **API Login ID** and **Transaction Key** to securely communicate with [Authorize.net](http://Authorize.net).
1. In your [Authorize.net](http://Authorize.net) account, navigate to **Account → Security Settings → API Credentials & Keys**
2. Copy your **API Login ID**
3. Click **New Transaction Key → Submit**
4. Enter the verification PIN sent to your email/phone
5. Copy the **Transaction Key**
Ensure test mode is turned off before going live.
# Configure Authorize.net fraud settings
1. In your [Authorize.net](http://Authorize.net) account, navigate to **Tools → Fraud Detection Suite**
2. Ensure your settings align with recommended configurations:
* Daily velocity filter → `Not configured`
* Hourly velocity filter → `Disabled`
* Suspicious transaction filter → `Review`
* Transaction IP velocity filter → `Disabled`
* Enhanced AVS handling filter → `Multiple actions selected`
* Enhanced CVV handling filter → `Multiple actions selected`
* Enhanced AVS handling filter → `Report only`
* Shipping address verification filter → `Not configured`
* IP-shipping address mismatch filter → `Not configured`
* Regional IP address filter → `Not configured`
* Shipping-billing mismatch filter → `Not configured`
* Authorized API IP addresses → `Not configured`
* IP address blocking → `Not configured`
3. Run the **Setup Wizard**
Make sure "Process as normal and report filter(s) triggered" is selected in Setup Wizard.
# Connect Authorize.net to PaymentKit
1. Navigate to **Developers → Payment Processors**
2. Click **Add Processor** and select **Authorize.net**
3. Enter your **API login ID** and **Transaction 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
Apple Pay requires a **custom domain** and a valid Apple Pay Merchant Identity Certificate. This section walks you through what's needed so your website can securely accept Apple Pay payments through [Authorize.net](http://Authorize.net) and PaymentKit.
## Authorize Apple Pay in Authorize.net
1. In Authorize.net, enable Apple Pay as a payment method following their guides ([guide 1](https://developer.authorize.net/api/reference/features/in-app.html#Apple_Pay) / [guide 2](https://support.authorize.net/knowledgebase/Knowledgearticle/?code=000001505))
2. [Verify your website domain with Apple](https://developer.apple.com/documentation/applepaywebmerchantregistrationapi/preparing-merchant-domains-for-verification) to allow it to process Apple Pay transactions — this ensures that your domain is authorized to initiate payments
## Create an Apple merchant ID
1. In the [Apple Developer Portal](https://developer.apple.com/), navigate to **Identifiers → Merchant IDs**
2. Click "+" to create a new merchant ID, and enter:
* **Description:** e.g., `"Apollo Apple Pay"`
* **Merchant Identifier:** e.g., `merchant.com.apollo`
## Generate a certificate signing request (CSR)
To authorize Apple Pay for your Merchant ID, you need a **certificate containing a private key**:
1. On macOS, open **Keychain Access → Certificate Assistant → Request a Certificate from a Certificate Authority**
2. Enter your email and a common name for the key (e.g., `"Apollo Apple Pay Key"`).
3. Save the request to disk and choose a **2048-bit RSA key**. This produces a `.certSigningRequest` file
4. Upload this CSR in the [Apple Developer Portal](https://developer.apple.com/account/resources/certificates/list) to generate your **Apple Pay Merchant Identity Certificate** (`.cer` file) — download this
## Export and convert the certificate
1. Install the `.cer` in your macOS login keychain
2. Expand the certificate entry to view the private key
3. Export the **certificate + private key** as a `.p12` file, and set a password
4. Convert the `.p12` to a `.pem` private key for PaymentKit using Terminal:
```bash
openssl pkcs12 -in merchant_id.p12 -nocerts -out key.pem -nodes
```
Make sure the `.p12` contains both the certificate and private key — otherwise the `.pem` will not work.
## Turn on Apple Pay in PaymentKit
1. Navigate to **Developers → Payment Processors**
2. Edit your Authorize.net processor settings
3. Turn on Apple Pay and upload the `.cer` and `.pem` files
4. Enter your **Authorize.net Account ID** and **Merchant Name**
# Enable Google Pay
Google Pay requires a **Google Pay Merchant Account** and a verified Merchant ID. This section walks you through what's needed so your website can securely accept Google Pay payments through [Authorize.net](http://Authorize.net) and PaymentKit.
Coming soon.
Once enabled, Apple Pay and Google Pay can be integrated directly into your custom checkout form using PaymentKit's ElementsForm. Click to learn more.
\[MBCC]