Skip to main content

Processor Credentials

Each processor type requires different credentials in the options object when calling tagada.processors.create(). This page documents the exact fields for every supported gateway.

Supported Gateways

Stripe

Cards, wallets, APMs

NMI

Direct gateway

Checkout.com

Global payments

Airwallex

Multi-currency

Mastercard

Enterprise gateway

Authorize.Net

US gateway

Finix

Platform payments

N-Genius

Middle East

CCAvenue

India gateway

Ovri

EU gateway

KessPay

Alt. gateway

Trust Flow

Alt. gateway

ConvesioPay

WordPress payments

Tap

MENA payments

TagadaPay

Managed payments

Sandbox

Testing

Common Structure

All processors share the same creation format — only the options differ:
const { processor } = await tagada.processors.create({
  processor: {
    name: 'My Gateway',
    type: 'stripe',           // ← processor type
    enabled: true,
    supportedCurrencies: ['USD', 'EUR'],
    baseCurrency: 'USD',
    options: { /* credentials — see below */ },
  },
});

SandboxSandbox

Type: sandbox | Use for: Testing and development No real credentials required — the sandbox processor simulates a payment gateway.
options: {
  testMode: true,
}
FieldTypeRequiredDescription
testModebooleanNoAlways treated as test mode
forceDeclinebooleanNoForce all payments to decline
targetApprovalRatenumberNoSimulate a specific approval rate (0–100)
simulatedDelaynumberNoAdd artificial latency in milliseconds
See the Sandbox Testing Guide for a full walkthrough.

StripeStripe

Type: stripe | Where to find credentials: Stripe Dashboard → Developers → API Keys
options: {
  secretKey: 'sk_live_...',
  publicKey: 'pk_live_...',
  webhookSecret: 'whsec_...',
}
FieldTypeRequiredDescription
secretKeystringYesStripe secret key (sk_live_... or sk_test_...)
publicKeystringRecommendedStripe publishable key (pk_live_...)
webhookSecretstringRecommendedWebhook signing secret (whsec_...)
testModebooleanNoUse Stripe test mode
sendReceiptEmailbooleanNoLet Stripe send payment receipt emails
descriptorobjectNoStatement descriptor override (see Descriptor Fields)
radarobjectNoEnable Stripe Radar: { enabled: true, publishableKey: 'pk_...' }
apmSettingsobjectNoAlternative payment methods (Apple Pay, Google Pay, etc.)
Stripe Connect: If you’re connecting via OAuth instead of API keys, Stripe provides an accountId (e.g. acct_...). In this case you don’t need secretKey — TagadaPay handles the authentication. This is typically done through the TagadaPay dashboard, not the API.

NMINMI

Type: nmi | Where to find credentials: NMI Merchant Portal → Settings → Security Keys
options: {
  apiKey: 'your-nmi-security-key',
}
FieldTypeRequiredDescription
apiKeystringYesNMI Security Key
usernamestringNoNMI username (for certain integrations)
passwordstringNoNMI password
testModebooleanNoUse NMI test mode
merchantNamestringNoMerchant name for 3DS
merchantUrlstringNoMerchant URL for 3DS
merchantCountryCodestringNoISO country code for 3DS
enable3DSbooleanNoEnable 3D Secure authentication
useProcessorTokenbooleanNoUse NMI’s tokenization
descriptorobjectNoStatement descriptor override
acquirerBinVisastringNoAcquirer BIN for Visa 3DS
acquirerBinMastercardstringNoAcquirer BIN for Mastercard 3DS
acquirerBinAmexstringNoAcquirer BIN for Amex 3DS
acquirerBinDiscoverstringNoAcquirer BIN for Discover 3DS
acquirerBinJcbstringNoAcquirer BIN for JCB 3DS
acquirerBinDinersClubstringNoAcquirer BIN for Diners Club 3DS
acquirerBinCBstringNoAcquirer BIN for Carte Bancaire 3DS
amexRequestorTypestringNoAmex 3DS requestor type
cbSiretNumberstringNoSIRET number for Carte Bancaire
discoverClientIdstringNoDiscover 3DS client ID

Checkout.comCheckout.com

Type: checkout | Where to find credentials: Checkout.com Dashboard → Developers → Keys Supports two authentication modes:

AirwallexAirwallex

Type: airwallex | Where to find credentials: Airwallex Dashboard → Developer → API Keys
options: {
  clientId: 'your-client-id',
  clientApiKey: 'your-api-key',
  webhookSecret: 'your-webhook-secret',
}
FieldTypeRequiredDescription
clientIdstringYesAirwallex client ID
clientApiKeystringYesAirwallex API key
webhookSecretstringYesWebhook signing secret
testModebooleanNoUse Airwallex demo environment
descriptorobjectNoStatement descriptor override
apmSettingsobjectNoAPM config (Klarna, Afterpay, PayPal, etc.)

MastercardMastercard Gateway

Type: mastercard | Where to find credentials: Mastercard Gateway Merchant Administration portal
options: {
  merchantId: 'your-merchant-id',
  password: 'your-api-password',
  gatewayUrl: 'https://your-gateway.mastercard.com/api/rest',
}
FieldTypeRequiredDescription
merchantIdstringYesMerchant ID from your Mastercard Gateway account
passwordstringYesAPI password (not your login password)
gatewayUrlstringYesYour gateway API URL (region-specific)
apiVersionstringNoAPI version (defaults to latest)
testModebooleanNoUse test mode
descriptorobjectNoStatement descriptor override
acquirerBinVisastringNoAcquirer BIN for Visa 3DS
acquirerBinMastercardstringNoAcquirer BIN for Mastercard 3DS

Authorize.Net

Type: authorizenet | Where to find credentials: Authorize.Net Merchant Interface → Account → API Credentials & Keys
options: {
  apiLoginId: 'your-api-login-id',
  transactionKey: 'your-transaction-key',
}
FieldTypeRequiredDescription
apiLoginIdstringYesAPI Login ID
transactionKeystringYesTransaction Key
clientKeystringNoPublic client key (for Accept.js tokenization)
testModebooleanNoUse sandbox environment

FinixFinix

Type: finix | Where to find credentials: Finix Dashboard → Settings → API Keys
options: {
  username: 'your-finix-username',
  password: 'your-finix-password',
  merchantId: 'your-merchant-id',
}
FieldTypeRequiredDescription
usernamestringYesFinix API username
passwordstringYesFinix API password
merchantIdstringYesFinix merchant identity ID
sandboxedbooleanNoUse sandbox environment
webhookSecretstringNoWebhook signing secret

N-GeniusNetwork Ngenius

Type: ngenius | Where to find credentials: N-Genius Online Portal → Settings → API Keys
options: {
  apiKey: 'your-api-key',
  outlet: 'your-outlet-reference',
  apiUrl: 'https://api-gateway.ngenius-payments.com',
}
FieldTypeRequiredDescription
apiKeystringYesN-Genius API key
outletstringYesOutlet reference ID
apiUrlstringYesAPI gateway URL (must end with a lowercase letter, no trailing slash)
sandboxedbooleanNoUse sandbox environment

CCAvenueCCAvenue

Type: ccavenue | Where to find credentials: CCAvenue Merchant Portal → Settings → API Keys
options: {
  accessCode: 'your-access-code',
  workingKey: 'your-working-key',
  merchantId: 'your-merchant-id',
}
FieldTypeRequiredDescription
accessCodestringYesCCAvenue access code
workingKeystringYesCCAvenue working (encryption) key
merchantIdstringYesCCAvenue merchant ID
testModebooleanNoUse test mode

OvriOvri

Type: ovri | Where to find credentials: Ovri Back Office → Configuration → API
options: {
  apiKey: 'your-api-key',
  websiteKey: 'your-website-key',
  secretKeyPos: 'your-secret-pos-key',
}
FieldTypeRequiredDescription
apiKeystringYesOvri API key
websiteKeystringYesOvri website key
secretKeyPosstringYesOvri secret POS key
testModebooleanNoUse test mode

KessPayKessPay

Type: kesspay | Where to find credentials: KessPay Merchant Portal
options: {
  clientId: 'your-client-id',
  clientSecret: 'your-client-secret',
  username: 'your-username',
  password: 'your-password',
  sellerCode: 'your-seller-code',
  apiSecretKey: 'your-api-secret',
  publicKey: 'your-public-key',
}
FieldTypeRequiredDescription
clientIdstringYesKessPay client ID
clientSecretstringYesKessPay client secret
usernamestringYesKessPay API username
passwordstringYesKessPay API password
sellerCodestringYesSeller code
apiSecretKeystringYesAPI secret key
publicKeystringYesPublic key
testModebooleanNoUse test mode
notifyUrlstringNoWebhook notification URL

Trust FlowTrust Flow

Type: trustflow | Where to find credentials: Trust Flow Merchant Portal
options: {
  appId: 'your-app-id',
  secretKey: 'your-secret-key',
}
FieldTypeRequiredDescription
appIdstringYesTrust Flow application ID
secretKeystringYesTrust Flow secret key
testModebooleanNoUse test mode

ConvesioPayConvesioPay

Type: convesio | Where to find credentials: ConvesioPay Dashboard
options: {
  secretKey: 'your-secret-key',
  integrationName: 'your-integration-name',
}
FieldTypeRequiredDescription
secretKeystringYesConvesioPay secret key
integrationNamestringYesIntegration name configured in ConvesioPay
webhookSecretstringNoWebhook signing secret
testModebooleanNoUse test mode

Tap

Type: tap | Where to find credentials: Tap Dashboard → goSell → API Keys
options: {
  apiKey: 'sk_live_...',
  merchantId: 'your-merchant-id',
}
FieldTypeRequiredDescription
apiKeystringYesTap secret API key
merchantIdstringYesTap merchant ID
testModebooleanNoUse test mode
descriptorobjectNoStatement descriptor override
threeDSecurebooleanNoEnable 3D Secure
saveCardbooleanNoAllow saving cards for future payments
receiptEmailbooleanNoSend receipt email via Tap
receiptSmsbooleanNoSend receipt SMS via Tap

TagadaPayTagadaPay

Type: tagadapay | How it works: Managed payment processing by TagadaPay. You provide your account ID and TagadaPay handles the rest.
options: {
  accountId: 'acct_...',
}
FieldTypeRequiredDescription
accountIdstringYesYour TagadaPay account ID
testModebooleanNoUse test mode
descriptorobjectNoStatement descriptor override
Contact TagadaPay support to enable this processor and get your account ID.

Descriptor Fields

Several processors support a descriptor object for customizing the statement descriptor shown on customer bank statements:
descriptor: {
  descriptor: 'MYCOMPANY',
  descriptor_suffix: 'Order',
  phone: '+1-555-0100',
  address: '123 Main St',
  city: 'New York',
  state: 'NY',
  postal: '10001',
  country: 'US',
  mcc: '5411',
  merchantId: 'MERCH001',
  url: 'https://mycompany.com',
}
All descriptor fields are optional. Not all processors support all fields — check your gateway’s documentation for supported descriptor options.

Full Example

Here’s a complete example connecting Stripe with all common options:
import Tagada from '@tagadapay/node-sdk';
const tagada = new Tagada('your-api-key');

const { processor } = await tagada.processors.create({
  processor: {
    name: 'Stripe US',
    type: 'stripe',
    enabled: true,
    supportedCurrencies: ['USD', 'EUR', 'GBP'],
    baseCurrency: 'USD',
    options: {
      secretKey: 'sk_live_...',
      publicKey: 'pk_live_...',
      webhookSecret: 'whsec_...',
      descriptor: {
        descriptor: 'MYSHOP',
      },
      radar: {
        enabled: true,
        publishableKey: 'pk_live_...',
      },
    },
  },
});

console.log('Created:', processor.id);

Next Steps

Merchant Quick Start

Full 7-step setup from processor to live checkout

Multi-PSP Routing

Connect multiple processors and cascade transactions

Sandbox Testing

Test payments without real money