Gateway Setup

Connect your payment processor to start accepting payments

RevKeen integrates with NMI (Network Merchants Inc.) as the primary payment gateway. This guide walks you through connecting your gateway and configuring it for both test and production environments.

Supported Payment Gateways

📄

NMI Gateway

Recommended. Full support including tokenization, recurring billing, 3DS verification, and ACH payments.
📄

Other Gateways

Additional gateway support coming soon. Contact us if you have specific requirements.

Prerequisites

  • An NMI merchant account (nmi.com)
  • Access to your NMI merchant portal
  • API Security Key from NMI settings
  • Collect.js tokenization key (for secure card collection)

NMI Gateway Setup

1

Get Your API Security Key

  1. Log in to your NMI merchant portal
  2. Navigate to Settings → Security Keys
  3. Generate a new API Security Key or copy an existing one
  4. Keep this key secure — it provides full API access
Never expose your API Security Key in client-side code. It should only be stored securely on your server or in RevKeen's encrypted settings.
2

Get Your Collect.js Tokenization Key

  1. In the NMI portal, go to Settings → Collect.js
  2. Create a new tokenization key
  3. Set the allowed domains (your checkout URLs)
  4. Copy the generated tokenization key
The tokenization key is safe to use in client-side code. It only allows card tokenization, not actual charges.
3

Configure Gateway in RevKeen

  1. Go to Settings → Payment Gateway in your RevKeen dashboard
  2. Select NMI as your gateway provider
  3. Enter your API Security Key
  4. Enter your Collect.js Tokenization Key
  5. Click Save & Verify
4

Test Your Connection

RevKeen will verify your credentials by performing a zero-dollar authorization. If successful, your gateway status will show as Connected.

Run a test payment using one of the test cards below to verify the full flow.

Test Card Numbers

Use these test cards in sandbox/test mode to simulate various scenarios:

Card NumberBrandResult
4111111111111111Visa✅ Approved
5431111111111111Mastercard✅ Approved
341111111111111Amex✅ Approved
4000000000000002Visa❌ Declined
4000000000003220Visa🔐 3DS Required
Use any future expiration date (e.g., 12/28) and any 3-digit CVV (or 4-digit for Amex) when testing.

Test vs Production Mode

ModeUse CaseReal Charges
TestDevelopment, QA, demos❌ No
ProductionLive customer payments✅ Yes

Toggle between modes in Settings → Payment Gateway → Environment.

Always thoroughly test in Test mode before switching to Production. Production transactions will charge real cards and cannot be easily undone.

How Payment Flow Works

1
Customer Enters Card

Card details entered in RevKeen's secure checkout form

2
Collect.js Tokenization

Card tokenized client-side — raw card data never touches your servers

3
RevKeen Processes Payment

Token sent to RevKeen API, which calls NMI to process the charge

4
Result Returned

Success or decline response, customer redirected appropriately

API Configuration (Optional)

If you're using the RevKeen API to process payments programmatically, ensure your gateway is configured before making charge requests:

// Gateway configuration is managed in the dashboard
// API calls automatically use your configured gateway

const payment = await client.payments.create({
  customerId: 'cus_xxxxxxxx',
  amount: 9900, // $99.00 in cents
  currency: 'USD',
  paymentMethodToken: 'tok_xxxxxxxx', // From Collect.js
  description: 'Pro Plan Subscription',
});

if (payment.data.status === 'succeeded') {
  console.log('Payment successful:', payment.data.transactionId);
}

Troubleshooting

"Invalid API Key" error

Verify you copied the complete API Security Key from NMI. Check there are no extra spaces or missing characters.

Collect.js not loading

Ensure your domain is added to the allowed domains in NMI's Collect.js settings. Include both your development and production URLs.

Test payments work but production fails

Check that your NMI account is fully activated for live processing. Some accounts require additional verification before going live.

Next Steps