Skip to main content
Navigation Path: Admin Dashboard → Settings → General Settings → Payment Gateway

Overview

Configure payment methods to process customer transactions. The platform supports three payment types: Bank Transfer (ACH), Credit Card (Stripe), and PayPal. Payment accounts can process both one-time and recurring payments.

Bank Account

Manual bank transfer payments with account details

Stripe

Automated credit card processing with Stripe

PayPal

PayPal checkout and payment processing

Setting Up Payment Methods

Configuration Steps:
  1. Navigate to Admin Dashboard → Settings → General Settings
  2. Click on the Payment Gateway tab
  3. Select the payment method you want to configure (Bank Account, Stripe, or PayPal)
  4. Fill in the required fields for your chosen payment method
  5. Use sandbox/test mode to verify your setup before going live
  6. Save your configuration to enable the payment method

Bank Account (ACH Transfer)

Configure bank account details for manual payment processing via bank transfer.

Required Information

FieldDescriptionRequired
Bank LogoUpload your bank’s logo for easy identificationNo
Bank NameName of the financial institution (e.g., Vietinbank, Chase Bank)✅ Yes
Account Holder NameFull legal name on the bank account✅ Yes
Account Number (IBAN)Bank account number or IBAN for international transfers✅ Yes
Bank Location/BranchBranch location or bank addressNo

Setup Instructions

  1. Upload your bank’s logo for easy identification by customers
  2. Provide complete bank information including account holder name and IBAN
  3. Include the bank branch location or address
  4. Save configuration to make the bank account available for customer payments
Capacity: Add up to 20 bank accounts for manual payment processing with a sortable interface.
Best Practice: Provide clear payment instructions to customers, including reference numbers and processing times for bank transfers. Consider adding multiple bank accounts for different currencies or regions.
Manual Processing: Bank transfers require manual verification. Set up a process to check incoming payments and manually mark invoices as paid in your system.

Stripe Payment Gateway

Stripe enables secure credit card processing with industry-leading security, compliance, and global payment support.

Configuration Parameters

SettingDescriptionFormat
Enable StripeMaster toggle to activate Stripe payment processingToggle (Default: Disabled)
Display NameCustom label shown to customersText (Default: “Credit Card”)
Publishable KeyPublic API key from Stripe Dashboardpk_live_... or pk_test_...
Secret KeyPrivate API key from Stripe Dashboardsk_live_... or sk_test_...
Webhook SecretEndpoint secret for webhook verificationwhsec_...

Getting Your Stripe API Keys

  1. Create a Stripe account at stripe.com
  2. Log in to your Stripe Dashboard
  3. Navigate to Developers → API Keys
  4. Copy your Publishable Key (starts with pk_)
  5. Copy your Secret Key (starts with sk_)
  6. For testing, use test keys (pk_test_ and sk_test_)
  7. For production, use live keys (pk_live_ and sk_live_)

Setting Up Webhooks

Webhooks notify your platform about payment events in real-time.
  1. Go to Stripe Dashboard → Developers → Webhooks
  2. Click Add Endpoint
  3. Enter your webhook URL: https://yourdomain.com/stripe/webhook
  4. Select events to listen for:
    • payment_intent.succeeded
    • payment_intent.payment_failed
    • charge.refunded
    • customer.subscription.created
    • customer.subscription.updated
    • customer.subscription.deleted
  5. Copy the Signing Secret (starts with whsec_)
  6. Paste the signing secret in your platform’s Stripe configuration
Security: Never share your Secret Key or Webhook Secret publicly. Use test keys during development and switch to live keys only when ready for production. Keep keys secure and rotate them if compromised.
Testing: Use Stripe’s test mode with test card numbers to verify your integration before going live. Test card: 4242 4242 4242 4242, any future expiry, any CVC.

PayPal Payment Gateway

Configure PayPal for secure online payments and checkout.

Configuration Parameters

SettingDescriptionFormat
Enable PayPalMaster toggle to activate PayPal payment processingToggle (Default: Disabled)
Display NameCustom label shown to customersText (Default: “PayPal”)
Client IDPayPal REST API Client IDFrom PayPal Developer Dashboard
Client SecretPayPal REST API SecretFrom PayPal Developer Dashboard
ModeEnvironment settingSandbox (testing) or Live (production)

Getting PayPal API Credentials

  1. Create a PayPal Business account at paypal.com
  2. Log in to PayPal Developer Dashboard
  3. Navigate to My Apps & Credentials
  4. Create a new app or select existing app
  5. Copy your Client ID
  6. Click “Show” to reveal and copy your Secret
  7. Use Sandbox credentials for testing
  8. Use Live credentials for production

Sandbox vs Live Mode

Sandbox Mode (Testing):
  • Use sandbox Client ID and Secret
  • Test with sandbox PayPal accounts
  • No real money transactions
  • Safe for development and testing
Live Mode (Production):
  • Use live Client ID and Secret
  • Real PayPal accounts and transactions
  • Actual money processing
  • Only use when ready for production
Mode Selection: Always start in Sandbox mode for testing. Only switch to Live mode when you’ve thoroughly tested your integration and are ready to accept real payments.
PayPal Sandbox: Create test buyer and seller accounts in the PayPal Sandbox to test the complete payment flow without using real money.

Payment Method Comparison

FeatureBank TransferStripePayPal
Setup DifficultyEasyModerateModerate
ProcessingManualAutomaticAutomatic
Transaction FeesNone (usually)2.9% + $0.302.9% + $0.30
Recurring PaymentsManual✅ Yes✅ Yes
Instant Confirmation❌ No✅ Yes✅ Yes
RefundsManual✅ Automatic✅ Automatic
InternationalLimited✅ Yes✅ Yes
Customer TrustModerateHighHigh
Best ForLocal paymentsCredit cardsPayPal users

Best Practices

  • Never store credit card numbers in your database
  • Use HTTPS/SSL for all payment pages
  • Keep API keys and secrets secure
  • Rotate API keys periodically
  • Use test mode during development
  • Implement fraud detection measures
  • Monitor suspicious transactions
  • Comply with PCI DSS requirements
  • Offer at least 2-3 payment methods
  • Include both credit card and PayPal
  • Add local payment methods for your region
  • Display payment logos clearly
  • Make payment selection easy
  • Test all payment methods regularly
  • Monitor which methods customers prefer
  • Clearly display accepted payment methods
  • Show security badges and SSL certificates
  • Provide clear error messages
  • Send payment confirmation emails
  • Offer guest checkout option
  • Save payment methods for returning customers
  • Make refund process transparent
  • Reconcile payments daily
  • Track transaction fees
  • Monitor failed payments
  • Set up automatic retry for failed payments
  • Provide detailed invoices
  • Keep accurate financial records
  • Review payment reports regularly

Troubleshooting

Issue: Credit card payments not processingSolutions:
  1. Verify Stripe is enabled in settings
  2. Check API keys are correct (pk_ and sk_)
  3. Ensure using correct mode (test vs live)
  4. Verify webhook is configured properly
  5. Check Stripe Dashboard for error details
  6. Test with Stripe test card numbers
  7. Review Stripe logs for specific errors
  8. Ensure SSL certificate is valid
Issue: PayPal checkout not workingSolutions:
  1. Verify PayPal is enabled in settings
  2. Check Client ID and Secret are correct
  3. Ensure mode matches credentials (sandbox vs live)
  4. Test with sandbox accounts first
  5. Check PayPal Developer Dashboard for errors
  6. Verify return URLs are configured
  7. Ensure business account is verified
  8. Review PayPal transaction logs
Issue: Stripe webhooks not triggeringSolutions:
  1. Verify webhook URL is correct and accessible
  2. Check webhook secret is configured
  3. Ensure webhook endpoint is publicly accessible
  4. Test webhook with Stripe CLI
  5. Review webhook logs in Stripe Dashboard
  6. Check firewall isn’t blocking Stripe IPs
  7. Verify SSL certificate is valid
  8. Ensure correct events are selected
Issue: Bank account option not appearingSolutions:
  1. Verify at least one bank account is configured
  2. Check all required fields are filled
  3. Save bank account configuration
  4. Clear application and browser cache
  5. Verify bank account is not disabled
  6. Check user permissions to view payment methods
  7. Test with different user account

Testing Your Configuration

Test Checklist:
  • Configure payment method in test/sandbox mode
  • Test successful payment flow
  • Test failed payment handling
  • Verify payment confirmation emails
  • Test refund process
  • Check webhook events are received
  • Verify invoice updates correctly
  • Test with different payment amounts
  • Check transaction appears in payment gateway dashboard
  • Test on mobile devices
  • Verify SSL/HTTPS is working
  • Switch to live mode only after all tests pass
Stripe Test Cards:
  • Success: 4242 4242 4242 4242
  • Decline: 4000 0000 0000 0002
  • Insufficient Funds: 4000 0000 0000 9995
  • Expired Card: Use any past date

Quick Reference

API Key Formats

ServiceKey TypeFormatExample
StripePublishablepk_test_ or pk_live_pk_live_51H...
StripeSecretsk_test_ or sk_live_sk_live_51H...
StripeWebhookwhsec_whsec_abc123...
PayPalClient IDAlphanumericAYSq3RDG...
PayPalSecretAlphanumericEHnHq7...

Common Transaction Fees

Payment MethodFee Structure
Stripe2.9% + $0.30 per transaction
PayPal2.9% + $0.30 per transaction
Bank TransferUsually free (may vary by bank)