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:- Navigate to Admin Dashboard → Settings → General Settings
- Click on the Payment Gateway tab
- Select the payment method you want to configure (Bank Account, Stripe, or PayPal)
- Fill in the required fields for your chosen payment method
- Use sandbox/test mode to verify your setup before going live
- 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
| Field | Description | Required |
|---|---|---|
| Bank Logo | Upload your bank’s logo for easy identification | No |
| Bank Name | Name of the financial institution (e.g., Vietinbank, Chase Bank) | ✅ Yes |
| Account Holder Name | Full legal name on the bank account | ✅ Yes |
| Account Number (IBAN) | Bank account number or IBAN for international transfers | ✅ Yes |
| Bank Location/Branch | Branch location or bank address | No |
Setup Instructions
- Upload your bank’s logo for easy identification by customers
- Provide complete bank information including account holder name and IBAN
- Include the bank branch location or address
- Save configuration to make the bank account available for customer payments
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
| Setting | Description | Format |
|---|---|---|
| Enable Stripe | Master toggle to activate Stripe payment processing | Toggle (Default: Disabled) |
| Display Name | Custom label shown to customers | Text (Default: “Credit Card”) |
| Publishable Key | Public API key from Stripe Dashboard | pk_live_... or pk_test_... |
| Secret Key | Private API key from Stripe Dashboard | sk_live_... or sk_test_... |
| Webhook Secret | Endpoint secret for webhook verification | whsec_... |
Getting Your Stripe API Keys
- Create a Stripe account at stripe.com
- Log in to your Stripe Dashboard
- Navigate to Developers → API Keys
- Copy your Publishable Key (starts with
pk_) - Copy your Secret Key (starts with
sk_) - For testing, use test keys (
pk_test_andsk_test_) - For production, use live keys (
pk_live_andsk_live_)
Setting Up Webhooks
Webhooks notify your platform about payment events in real-time.- Go to Stripe Dashboard → Developers → Webhooks
- Click Add Endpoint
- Enter your webhook URL:
https://yourdomain.com/stripe/webhook - Select events to listen for:
payment_intent.succeededpayment_intent.payment_failedcharge.refundedcustomer.subscription.createdcustomer.subscription.updatedcustomer.subscription.deleted
- Copy the Signing Secret (starts with
whsec_) - Paste the signing secret in your platform’s Stripe configuration
PayPal Payment Gateway
Configure PayPal for secure online payments and checkout.Configuration Parameters
| Setting | Description | Format |
|---|---|---|
| Enable PayPal | Master toggle to activate PayPal payment processing | Toggle (Default: Disabled) |
| Display Name | Custom label shown to customers | Text (Default: “PayPal”) |
| Client ID | PayPal REST API Client ID | From PayPal Developer Dashboard |
| Client Secret | PayPal REST API Secret | From PayPal Developer Dashboard |
| Mode | Environment setting | Sandbox (testing) or Live (production) |
Getting PayPal API Credentials
- Create a PayPal Business account at paypal.com
- Log in to PayPal Developer Dashboard
- Navigate to My Apps & Credentials
- Create a new app or select existing app
- Copy your Client ID
- Click “Show” to reveal and copy your Secret
- Use Sandbox credentials for testing
- 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
- Use live Client ID and Secret
- Real PayPal accounts and transactions
- Actual money processing
- Only use when ready for production
Payment Method Comparison
| Feature | Bank Transfer | Stripe | PayPal |
|---|---|---|---|
| Setup Difficulty | Easy | Moderate | Moderate |
| Processing | Manual | Automatic | Automatic |
| Transaction Fees | None (usually) | 2.9% + $0.30 | 2.9% + $0.30 |
| Recurring Payments | Manual | ✅ Yes | ✅ Yes |
| Instant Confirmation | ❌ No | ✅ Yes | ✅ Yes |
| Refunds | Manual | ✅ Automatic | ✅ Automatic |
| International | Limited | ✅ Yes | ✅ Yes |
| Customer Trust | Moderate | High | High |
| Best For | Local payments | Credit cards | PayPal users |
Best Practices
Payment Security
Payment Security
- 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
Multiple Payment Options
Multiple Payment Options
- 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
Customer Experience
Customer Experience
- 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
Financial Management
Financial Management
- 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
Stripe Payments Failing
Stripe Payments Failing
Issue: Credit card payments not processingSolutions:
- Verify Stripe is enabled in settings
- Check API keys are correct (pk_ and sk_)
- Ensure using correct mode (test vs live)
- Verify webhook is configured properly
- Check Stripe Dashboard for error details
- Test with Stripe test card numbers
- Review Stripe logs for specific errors
- Ensure SSL certificate is valid
PayPal Integration Issues
PayPal Integration Issues
Issue: PayPal checkout not workingSolutions:
- Verify PayPal is enabled in settings
- Check Client ID and Secret are correct
- Ensure mode matches credentials (sandbox vs live)
- Test with sandbox accounts first
- Check PayPal Developer Dashboard for errors
- Verify return URLs are configured
- Ensure business account is verified
- Review PayPal transaction logs
Webhook Not Receiving Events
Webhook Not Receiving Events
Issue: Stripe webhooks not triggeringSolutions:
- Verify webhook URL is correct and accessible
- Check webhook secret is configured
- Ensure webhook endpoint is publicly accessible
- Test webhook with Stripe CLI
- Review webhook logs in Stripe Dashboard
- Check firewall isn’t blocking Stripe IPs
- Verify SSL certificate is valid
- Ensure correct events are selected
Bank Transfer Not Showing
Bank Transfer Not Showing
Issue: Bank account option not appearingSolutions:
- Verify at least one bank account is configured
- Check all required fields are filled
- Save bank account configuration
- Clear application and browser cache
- Verify bank account is not disabled
- Check user permissions to view payment methods
- 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
- 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
| Service | Key Type | Format | Example |
|---|---|---|---|
| Stripe | Publishable | pk_test_ or pk_live_ | pk_live_51H... |
| Stripe | Secret | sk_test_ or sk_live_ | sk_live_51H... |
| Stripe | Webhook | whsec_ | whsec_abc123... |
| PayPal | Client ID | Alphanumeric | AYSq3RDG... |
| PayPal | Secret | Alphanumeric | EHnHq7... |
Common Transaction Fees
| Payment Method | Fee Structure |
|---|---|
| Stripe | 2.9% + $0.30 per transaction |
| PayPal | 2.9% + $0.30 per transaction |
| Bank Transfer | Usually free (may vary by bank) |