Set Up Payment Gateway
Configure online payment integration for fee collection, admissions, and other payments.
Time required: 20-30 minutes
Module: payment, openeducat_fees_enterprise
User role: System Administrator
Prerequisites
Steps
Step 1: Access Payment Settings
- Go to Invoicing/Accounting -> Configuration -> Payment Providers
- Or Settings -> Payment Providers
Step 2: Select Payment Gateway
Choose from available providers:
| Provider | Type | Regions |
|---|
| Stripe | Card payments | Global |
| PayPal | Wallet/Card | Global |
| Razorpay | UPI/Card | India |
| Authorize.net | Card | USA |
| PayU | Multiple | Various |
For Stripe example:
| Field | Required | Description | Example |
|---|
| State | Yes | Provider status | Test/Enabled |
| Company | Yes | Your company | ”ABC University” |
| Publishable Key | Yes | Public API key | pk_test_xxx |
| Secret Key | Yes | Private API key | sk_test_xxx |
Step 4: Set Payment Options
| Option | Description |
|---|
| Payment Journal | Accounting journal |
| Capture Method | Manual/Automatic |
| Supported Currencies | Accepted currencies |
| Countries | Allowed countries |
| Fee Type | Description | Example |
|---|
| Fixed Fee | Per transaction | $0.30 |
| Percentage | Of amount | 2.9% |
| Apply To | Who pays | Payer/Institution |
Step 6: Set Up Webhooks
Configure payment notifications:
- Get webhook URL from Odoo
- Add to payment provider dashboard
- Configure events:
- Payment completed
- Payment failed
- Refund processed
Step 7: Test Integration
- Set provider to Test Mode
- Use test card numbers
- Complete test transactions
- Verify records created
Step 8: Enable Production
- Replace test credentials with production keys
- Set provider to Enabled
- Monitor initial transactions
Provider-Specific Setup
Stripe
| Setting | Value |
|---|
| API Version | Latest |
| Webhook Signing Secret | From Stripe dashboard |
| Payment Methods | Card, iDEAL, Bancontact |
PayPal
| Setting | Value |
|---|
| Email | PayPal business email |
| PDT Identity Token | From PayPal settings |
| IPN URL | Odoo webhook URL |
Razorpay
| Setting | Value |
|---|
| Key ID | From Razorpay dashboard |
| Key Secret | Secret key |
| Payment Methods | UPI, Cards, Netbanking |
Security Configuration
| Setting | Recommended |
|---|
| 3D Secure | Enabled |
| CVV Validation | Required |
| Address Verification | Optional |
| Fraud Detection | Enabled |
Field Reference
Payment Provider
| Technical Field | UI Label | Type | Notes |
|---|
name | Name | Char | Provider name |
state | State | Selection | disabled/test/enabled |
company_id | Company | Many2one | Institution |
journal_id | Journal | Many2one | Payment journal |
Credentials
| Technical Field | UI Label | Type | Notes |
|---|
stripe_publishable_key | Publishable Key | Char | Public key |
stripe_secret_key | Secret Key | Char | Private key |
stripe_webhook_secret | Webhook Secret | Char | Signing key |
Troubleshooting
Payment not processing
- Verify API credentials are correct
- Check provider is in Enabled state
- Review payment logs for errors
Webhook not receiving
- Verify webhook URL is correct
- Check SSL certificate is valid
- Confirm events are subscribed
Refund not working
- Check refund is within provider limits
- Verify original payment was captured
- Confirm sufficient balance
Related: Configure Billing Products | Manage Portal