Authorize.net

Enable Authorize.net as one of your payment service providers in OpenPay.

Enable credit card paymentsCopied!

To enable secure communication between OpenPay and your Authorize.net account, make sure to configure your API login ID and transaction key in OpenPay.

link icon Sign in to Authorize.net
  • Select Account from the main toolbar

  • Under Security Settings, select API Credentials & Keys

  • Copy your API login ID (you will need to add this in OpenPay)

  • Select New Transaction Key

  • Click Submit to continue

  • Request and enter PIN for verification

  • Your new transaction key is displayed

  • Copy your transaction key (you will need to add this in OpenPay)

  • Select Authorize, and enter your API login ID and Transaction key

  • Specify your environment type

  • Toggle on credit card as a payment method

  • Click Create

Enable Apple/Google payCopied!

Enable Apple Pay in Authorize.netCopied!

In order to enable Apple/Google pay, you must have your own custom domain

  • Enable payment method in Authorize.net by following their guides here and here

Verify your domain with AppleCopied!

For the steps below, you will need an Apple Developer Account and a Mac computer

Create an Apple Pay Merchant Identity CertificateCopied!

Create a Merchant ID (if you haven’t already)Copied!

  • Go to the Apple Developer Portal

  • Navigate to Identifiers > Merchant IDs

  • Click the “+” button

  • Enter:

    • A description (e.g., "My Store Apple Pay")

    • A Merchant Identifier (e.g., merchant.com.yourcompany)

  • Click Continue > Register

Create a Certificate Signing Request (CSR)Copied!

You'll need this to generate your Apple Pay certificate.

On your Mac:

  1. Open Keychain Access

  2. In the menu, go to:
    Keychain Access > Certificate Assistant > Request a Certificate from a Certificate Authority

  3. Fill in:

    • User Email Address (your email)

    • Common Name (e.g., "Apple Pay Key")

    • Leave CA Email Address blank

  4. Select:
    “Saved to disk” and “Let me specify key pair information”

  5. Click Continue, and choose:

    • Key Size: 2048 bits

    • Algorithm: RSA

This creates a .certSigningRequest file.

Generate and download the .cer CertificateCopied!

  • Go to Apple Developer Portal > Certificates

  • Click “+” and choose:

    • Apple Pay Merchant Identity Certificate

  • Select your Merchant ID

  • Upload your .certSigningRequest file

  • Click Continue, then Download the certificate
    → You now have a .cer file (e.g., merchant_id.cer)

Install and export from macOS KeychainCopied!

Install the .cer into your macOS Keychain
  1. Double-click the merchant_id.cer file you downloaded
    → It will open in Keychain Access

  2. Ensure it's installed in the login keychain, under "Certificates"

  3. You should now see:

    • Your certificate

    • Its associated private key (the one from your CSR)

Export the Certificate + Private Key as .p12 *
  1. In Keychain Access, find your certificate by name (use the Common Name from CSR)

  2. Expand the entry to see the private key

  3. Right-click the private key and choose “Export…”

  4. Save as: merchant_id.p12

  5. Choose a password when prompted (you’ll need it during .pem conversion)

*If you export only the certificate (not the private key), your .p12 will be incomplete.
You need the .p12 to contain both the cert and private key to convert to .pem.

Convert .p12 to a Private Key .pem Copied!

Open Terminal and run:

# Extract private key
openssl pkcs12 -in merchant_id.p12 -nocerts -out key.pem -nodes

You'll be prompted for:

  • The password you set when exporting the .p12

  • Possibly to create a passphrase for the private key (if not using -nodes)

Enable Apple Pay in OpenPayCopied!

In order to enable Google pay, you must have your own Google Pay wallet console account

Enable Google Pay in OpenPayCopied!

  • You can find your Google pay merchant ID from your Google Pay wallet console account

    We recommend registering after you complete your staging integration, as you will need to provide screenshots of successful Google Pay usage on your website to be approved. Approval time usually takes a couple hours.

To render the payment button, the availability of the payment method have to check first. Please note that formInstance.getAvailablePaymentMethods() should be called after the from loaded.

Here's the example:

const formInstance = new OpenPayForm({
	onLoad: () => {
		const availablePaymentMethods = formInstance.getAvailablePaymentMethods();
		availablePaymentMethods?.forEach((method) => {
		if (
			method.name === 'authorizenet-apple-pay' &&
			'isAvailable' in method && method.isAvailable
		) {
			// Apple Pay is available - enable or display your Apple Pay button 
			document.querySelector('#apple-pay-button')?.removeAttribute('disabled');
		}
	});
	}
});

The payment button can be configured like the following to invoke submission when clicked:

For better design/styling practice, please follow Apple's design guideline or Google’s brand guideline.

document.querySelector('#apple-pay-button')?.addEventListener('click', () => {
	formInstance.generalSubmit('authorizenet-apple-pay', { ...optionalConfiguration } );
});

The appropriate Payment Request UI will be prompted according to user device and browser. After successful payment, it will either setup payment method or create subscription.

onCheckoutStarted ,onCheckoutSuccess , onSetupPaymentMethodSuccess, onCheckoutError callbacks can be used to track the checkout status.