WordPress Dashboard → Classified Listing → Settings → Payment
The Payment Settings panel is where you configure how sellers pay to post and promote listings on your directory. Payments can be used for pricing plans (pay-per-ad or subscription-based), featured placements, bump-ups, and membership packages. The plugin ships with five gateway options — Offline, PayPal, Authorize.net (Pro), Stripe (Pro), and WooCommerce (Pro) — so you can match the gateway to your audience and region.
| Gateway | Plan Required | Best For | Setup Complexity |
|---|---|---|---|
| Offline Payment | Free | Manual bank transfer, mobile banking (bKash, Nagad), cash on delivery. | Low — no API keys needed. |
| PayPal | Free | Global audience familiar with PayPal; instant digital checkout. | Medium — PayPal account + email required. |
| Authorize.net | Pro | US-based directories needing direct card processing without PayPal. | Medium-High — API Login ID + Transaction Key + Webhook. |
| Stripe | Pro | Modern card processing with saved cards, 3D Secure, and global reach. | Medium — Publishable + Secret Key + Webhook. |
| WooCommerce Payment | Pro | Any gateway WooCommerce supports (100+ gateways worldwide). | Variable — depends on WooCommerce gateway plugin. |
On this page:
1. Checkout Option #

1. Checkout Options #
Navigate to: Classified Listing → Settings → Payment → Checkout Option
1.1 Enable Payment #
Master switch for the entire payment system. When disabled, all pricing plans are free, no checkout page is shown, and no gateway processes transactions. Enable this only after you have at least one gateway configured and tested.
💡 Tip Start with payment disabled while you configure pricing plans and gateways. Enable it only once you have run a successful test transaction in sandbox mode.
1.2 Enforce SSL on Checkout #
Forces the checkout page to load over HTTPS. When enabled, any HTTP request to the checkout URL is automatically redirected to its HTTPS equivalent.
🔒 Security SSL is mandatory for all payment gateways that process card data. Your hosting provider must have an active SSL certificate installed before enabling this option. Without SSL, browsers will show a ‘Not Secure’ warning that will deter sellers from completing checkout.
1.3 Disable Billing Address #
Hides the billing address fields (name, address, city, postcode, country) from the checkout form. When enabled, sellers complete checkout without entering an address.
Enable this to simplify checkout for digital-only directories where a physical address is irrelevant. Keep it disabled if you need address data for invoicing, tax compliance, or fraud screening.
1.4 Enable Subscription #
Activates recurring subscription support for membership packages. When enabled, sellers can purchase a plan that auto-renews at a configured interval rather than making one-time payments.
ℹ️ Note Subscription billing requires a gateway that supports recurring charges. PayPal (via IPN), Stripe, and Authorize.net all support subscriptions. Offline Payment does not support automatic recurring billing — subscriptions using Offline Payment require manual renewal approval each cycle.
2. Currency Options #
Currency settings in the Payment panel control how amounts are displayed and transmitted to payment gateways. These settings are shared with the currency options in General Settings — changing them here updates the same underlying values.
| Setting | Description | Example |
| Currency | Select the ISO 4217 currency code your directory operates in. This is sent to the payment gateway for processing. | USD, EUR, BDT, GBP |
| Currency Position | Where the currency symbol renders relative to the amount. | Left: $99 | Right: 99$ |
| Thousands Separator | Character inserted between groups of three digits in large amounts. | 1,000 or 1.000 |
| Decimal Separator | Character separating the integer and fractional parts of a price. | 9.99 or 9,99 |
⚠️ Important The currency you set here must be supported by your active payment gateway. For example, Stripe supports 135+ currencies but some gateways are USD-only. Verify gateway currency support before going live to avoid silent transaction failures.
3. Offline Payment #
Navigate to: Classified Listing → Settings → Payment → Offline
Offline Payment lets sellers submit a listing and pay through a manual channel — bank transfer, mobile banking (bKash, Nagad, Rocket), cash deposit, or any method you specify in the instructions. The order is held in a pending state until an admin manually marks it as paid.

3.1 Enable Offline Payment #
Activates the Offline Payment gateway at checkout. Once enabled, fill in all fields below before saving — an empty title or missing instructions will confuse sellers at checkout.
3.2 Title #
The payment method name displayed to the seller on the checkout page. Make this specific and recognisable:
• Generic: Offline Payment
• Better: Bank Transfer / Mobile Banking (bKash, Nagad)
3.3 Description #
A short line of text displayed below the title on the checkout page. Use this to set expectations: how long payment confirmation takes, what the seller should do next, or which mobile banking apps are accepted.
3.4 Instructions #
Full payment instructions delivered to the seller after they place their order. This appears on the order confirmation page and in the confirmation email. Include everything the seller needs to complete payment:
• Bank name, branch, account name, account number, routing/SWIFT code.
• Mobile banking number and account name (bKash Personal / Merchant).
• Reference format to include in the transfer (e.g., order number).
• Your contact email or WhatsApp for payment confirmation.
⚠️ Important Offline payment orders are NOT automatically approved. After a seller transfers payment, you must manually verify it and change the order status to Completed under Classified Listing → Payment History. Only then will the listing be published (if ‘Publish Pending Listing After Payment Success’ is enabled in General Settings).
4. PayPal #
Navigate to: Classified Listing → Settings → Payment → PayPal
PayPal is available in the free version of Classified Listing and supports one-time payments and subscriptions via PayPal IPN (Instant Payment Notification). Sellers are redirected to PayPal’s hosted checkout and returned to your site on completion.

4.1 Basic Configuration #
| Field | Description | Required |
| Enable PayPal | Master toggle for the PayPal gateway. | Yes |
| Title | Gateway name shown at checkout (e.g., ‘Pay with PayPal’). | Yes |
| Description | Short text shown below the title at checkout. | Optional |
| PayPal Email | The email address associated with your PayPal merchant account. Payments are sent to this address. | Yes |
4.2 Advanced Options #
| Field | Description |
| PayPal Sandbox | Enable to test transactions without real money. Use PayPal sandbox credentials from developer.paypal.com. Disable before going live. |
| Receiver Email | Enter your primary PayPal account email here only if it differs from the PayPal Email above. Used to validate IPN requests. |
| Payment Action | Sale: captures funds immediately at checkout. Authorization: reserves funds but does not capture — you must manually capture later from your PayPal dashboard. |
| Page Style | Optional. Name of a custom checkout page style defined in your PayPal account. Only affects the classic PayPal checkout UI. |
| Image URL | URL of a logo image (max 150×50px) displayed in the top-left of PayPal’s checkout page. Reinforces brand trust. |
4.3 PayPal API (Refunds) #
To process refunds directly from the plugin (rather than logging into PayPal manually), enter your PayPal API credentials:
• API Username — found in PayPal → Account Settings → API Access.
• API Password — generated alongside the API username.
• API Signature — the third credential in the API key set.
ℹ️ Note PayPal API credentials are separate from your account login. Generate them at: PayPal → Settings → Account Settings → API Access → NVP/SOAP API Integration (Classic).
💡 Tip Always test PayPal in Sandbox mode first. Switch Sandbox off and replace sandbox credentials with live credentials only when you are ready to accept real payments.
5. Authorize.net (Pro) #
Navigate to: Classified Listing → Settings → Payment → Authorize.net
Authorize.net is a US-based payment gateway that processes credit and debit cards directly on your site via a hosted form. It is a Pro feature and requires an active Authorize.net merchant account.

5.1 Basic Configuration #
| Field | Description | Required |
| Enable Authorize.net | Activates the gateway at checkout. | Yes |
| Title | Gateway name shown at checkout. | Yes |
| Description | Short text shown below the title. | Optional |
| API Login ID | Found in Authorize.net Merchant Interface → Account → Settings → API Credentials & Keys. | Yes |
| Transaction Key | Generated alongside the API Login ID. | Yes |
5.2 Advanced Options #
| Field | Description |
| Sandbox | Enable to test transactions using Authorize.net’s sandbox environment (sandbox.authorize.net). Use sandbox API credentials, not live ones. |
| Authorize Only | When enabled, funds are reserved but not captured at checkout — you must capture manually. When disabled (default), funds are both authorised and captured immediately. |
| Authorize.net + Cartspan | Stores the last 4 digits of the card in your local database alongside the transaction response. Useful for record-keeping and partial refund workflows. |
| Select Card Types | Choose which card brands to accept: Visa, Mastercard, Amex, Discover, etc. Uncheck cards you do not want to process. |
| Webhook URL | Pre-filled automatically. Copy this URL into your Authorize.net Merchant Interface under Account → Settings → Webhooks to receive real-time transaction events. |
| Signature Key | Generated in Authorize.net → Account → Settings → API Credentials & Keys → Signature Key. Required for webhook signature verification. |
⚠️ Important The Webhook URL and Signature Key are required for subscription renewals and refund notifications to work correctly. Without them, the plugin will not receive payment status updates from Authorize.net.
6. Stripe (Pro) #
Navigate to: Classified Listing → Settings → Payment → Stripe
Stripe is a modern card processing gateway with support for saved cards, 3D Secure authentication, global currencies, and detailed logging. It is a Pro feature and requires a Stripe account.
6.1 Basic Configuration #

| Field | Description | Required |
| Enable Stripe | Activates Stripe at checkout. | Yes |
| Title | Gateway name shown at checkout. | Yes |
| Description | Short text shown below the title. | Optional |
| Test Mode | Enables Stripe’s test environment. No real charges are made. | Test phase |
| Test Publishable Key | From Stripe Dashboard → Developers → API Keys → Test keys. | Test phase |
| Test Secret Key | From Stripe Dashboard → Developers → API Keys → Test keys. | Test phase |
| Live Publishable Key | From Stripe Dashboard → Developers → API Keys → Live keys. | Live phase |
| Live Secret Key | From Stripe Dashboard → Developers → API Keys → Live keys. | Live phase |
6.2 Advanced Options #
| Field | Description |
| Inline Credit Card Form | Renders the card number, expiry, and CVC fields directly on your checkout page (Stripe Elements) instead of redirecting to a hosted page. Provides a smoother UX but requires SSL. |
| Statement Descriptor | Text (max 22 characters, no special chars < > ” \ ‘ *) that appears on the cardholder’s bank statement. Use your brand name so sellers recognise the charge. |
| Capture | When enabled (default), funds are captured immediately. When disabled, the charge is authorised only and must be captured within 7 days or it expires automatically. |
| Enable Stripe Receipt | Sends a Stripe-generated receipt email to the seller’s billing email in live mode. Stripe does not send receipts in test mode regardless of this setting. |
| Saved Cards | Allows repeat sellers to save card details for faster future checkouts. Card data is stored on Stripe’s PCI-compliant servers — never on your WordPress site. |
| Force 3D Secure | Requires all card transactions to complete 3D Secure (Verified by Visa / Mastercard SecureCode) authentication. Increases security but adds an extra step for the seller. |
| Webhook URL | Pre-filled automatically. Add this URL in Stripe Dashboard → Developers → Webhooks → Add Endpoint. Required for subscription events and refund notifications. |
| Test Webhook Secret | Generated in Stripe Dashboard when you add a webhook endpoint. Used to verify that webhook payloads genuinely originate from Stripe. |
| Logging | Writes Stripe API requests and responses to the Classified Listing system log. Enable temporarily when troubleshooting payment failures; disable in production. |
🔒 Security Never log Stripe activity in production for extended periods. Logs may capture partial card data or token information. Enable logging only during active debugging, then disable it immediately after.
⚠️ Important Stripe’s webhook endpoint must be registered in your Stripe Dashboard AND the Webhook Secret must be entered in the plugin settings. Missing either will break subscription renewals, refund callbacks, and dispute notifications.
7. WooCommerce Payment (Pro) #
Navigate to: Classified Listing → Settings → Payment → WooCommerce Payment
WooCommerce Payment is a bridge integration that routes Classified Listing checkout through WooCommerce’s order system. This unlocks every payment gateway plugin available for WooCommerce — over 100 options including local gateways (Bkash, Nagad, SSLCommerz, Razorpay, Mercado Pago) that are not natively supported by the other four gateways.

Prerequisites #
• WooCommerce plugin installed and activated on your WordPress site.
• At least one WooCommerce payment gateway plugin installed, activated, and configured.
• Classified Listing Pro licence active.
7.1 Enable WooCommerce Payment #
Check this box to activate the WooCommerce bridge. Once enabled, the plugin will read all currently active WooCommerce payment gateways and present them at checkout.
7.2 WooCommerce Payment Gateways List #
After enabling, a list of your active WooCommerce gateways appears. Each gateway shown here reflects what is configured in WooCommerce → Settings → Payments. Enable individual gateways there first, then return here to confirm they appear.
⚠️ Important Order history for WooCommerce-processed payments is stored in WooCommerce → Orders, NOT in Classified Listing → Payment History. Do not look for WooCommerce orders in the plugin’s own payment history — they will not appear there.
💡 Tip You can run WooCommerce Payment alongside other gateways (e.g., PayPal + WooCommerce). Sellers will see all enabled gateways at checkout and choose their preferred method.
Common WooCommerce gateways used with Classified Listing:
| WooCommerce Gateway Plugin | Region / Use Case |
| WooCommerce Payments (by WooCommerce) | Global — Stripe-powered, built-in to WooCommerce. |
| SSLCommerz for WooCommerce | Bangladesh — bKash, Nagad, Rocket, cards, net banking. |
| Razorpay for WooCommerce | India — UPI, cards, wallets, net banking. |
| PayTR for WooCommerce | Turkey — local card processing. |
| Mercado Pago for WooCommerce | Latin America — cards, cash, bank transfers. |
| Paystack for WooCommerce | Africa (Nigeria, Ghana, Kenya) — cards, bank, USSD. |
| 2Checkout / Verifone for WooCommerce | Global — cards, PayPal, digital wallets. |
Gateway Selection Guide
Use this table to choose the right gateway combination for your directory:
| Scenario | Recommended Gateway(s) |
| Free directory, no payment needed | Leave payment disabled. |
| Bangladesh-only audience (bKash / Nagad) | Offline Payment + WooCommerce (SSLCommerz add-on). |
| Global audience, free plan | PayPal. |
| Global audience, Pro plan, card processing | Stripe (Pro). |
| US audience, existing Authorize.net merchant account | Authorize.net (Pro). |
| Need 100+ gateway options or local gateway not listed above | WooCommerce Payment (Pro). |
| Run multiple gateways simultaneously | Enable any combination — sellers choose at checkout. |
Frequently Asked Questions #
Q: Payment is enabled but no gateway appears at checkout — why?
A: At least one gateway must be individually enabled. Go to each gateway tab (Offline, PayPal, etc.) and toggle ‘Enable’ on. If you see no gateway at checkout after enabling, flush your site cache and check that the checkout page contains the [rtcl_checkout] shortcode.
Q: Can I use multiple gateways at the same time?
A: Yes. Enable as many gateways as you need. All enabled gateways appear at checkout and the seller selects their preferred method. Running Offline + PayPal is a common combination for developing-market directories.
Q: Stripe / Authorize.net webhooks are not firing — what do I check?
A: Verify three things: (1) the Webhook URL from the plugin settings is registered in your gateway dashboard, (2) the Webhook Secret is copied exactly into the plugin field, and (3) your server is not blocking incoming POST requests from the gateway’s IP range. Check the gateway’s webhook logs for delivery errors.
Q: Offline payment orders stay Pending forever — how do I approve them?
A: Go to Classified Listing → Payment History, find the order, and manually change its status to Completed. If ‘Publish Pending Listing After Payment Success’ is enabled in General Settings, the associated listing will be published automatically when you do this.
Q: Subscriptions are enabled but sellers are not being charged on renewal.
A: Automatic subscription renewal requires a gateway that supports it (PayPal IPN, Stripe, or Authorize.net). Offline Payment does not auto-renew. Also verify that WordPress cron is running — subscription renewals are triggered by wp-cron. If your host disables wp-cron, set up a real server cron job.
Q: WooCommerce Payment is enabled but no gateways appear in the list.
A: You must first install and activate individual WooCommerce gateway plugins (e.g., SSLCommerz, Razorpay) AND enable them under WooCommerce → Settings → Payments. The Classified Listing panel only lists gateways that are already active in WooCommerce.
Q: Test mode is off but Stripe is still not processing real payments.
A: Confirm you have entered the Live Publishable Key and Live Secret Key (not the test keys). Test and live keys are different strings in your Stripe dashboard — test keys start with ‘pk_test_’ and ‘sk_test_’, live keys with ‘pk_live_’ and ‘sk_live_’.