Skip to content

A comprehensive WooCommerce payment gateway plugin that integrates with Epoint.az payment processing system.

Notifications You must be signed in to change notification settings

serkanalgur/epoint-payment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Epoint Payment Gateway for WooCommerce

A comprehensive WooCommerce payment gateway plugin that integrates with Epoint.az payment processing system.

Description

This plugin enables WooCommerce store owners to accept online payments through the Epoint payment gateway. It provides a seamless checkout experience with support for credit and debit card payments, automatic order status updates, and refund processing.

Features

  • Easy Integration: Simple setup with automatic callback URL generation
  • Secure Payments: Signature verification for all API communications
  • Refund Support: Process refunds directly from WooCommerce admin
  • Test Mode: Test payments without processing real transactions
  • Transaction Logging: Detailed logs for debugging and monitoring
  • Multi-language Support: Supports Azerbaijani, English, and Russian
  • Responsive Design: Works seamlessly on all devices
  • Copy-to-Clipboard: Easy copying of callback URLs for Epoint configuration
  • HPOS Compatible: Fully compatible with WooCommerce High-Performance Order Storage (Custom Order Tables)

Requirements

  • WordPress 5.0 or higher
  • WooCommerce 3.0 or higher
  • PHP 7.2 or higher
  • SSL certificate (HTTPS) for production environment
  • Epoint merchant account with API credentials

Installation

Method 1: Manual Installation

  1. Download the plugin files
  2. Upload the epoint-payment-gateway folder to /wp-content/plugins/ directory
  3. Activate the plugin through the 'Plugins' menu in WordPress
  4. Go to WooCommerce → Settings → Payments
  5. Enable "Epoint Payment Gateway" and click "Manage"
  6. Configure your settings (see Configuration section below)

Method 2: Upload via WordPress Admin

  1. Go to Plugins → Add New → Upload Plugin
  2. Choose the plugin zip file and click "Install Now"
  3. Activate the plugin
  4. Configure settings as described above

Configuration

Step 1: Get Your API Credentials

  1. Log in to your Epoint merchant account
  2. Navigate to API settings
  3. Copy your Public Key (Merchant ID)
  4. Copy your Private Key (Secret Key)

Step 2: Configure Plugin Settings

  1. Go to WooCommerce → Settings → Payments → Epoint Payment Gateway
  2. Enable the payment gateway
  3. Enter your Public Key and Private Key
  4. Configure other settings as needed:
    • Title: Payment method name shown to customers
    • Description: Payment method description
    • Test Mode: Enable for testing (disable for production)
    • Enable Logging: Enable for debugging purposes

Step 3: Configure Callback URLs in Epoint

The plugin automatically generates three callback URLs that you need to add to your Epoint merchant account:

  1. Success URL: Where customers are redirected after successful payment
  2. Error URL: Where customers are redirected after failed payment
  3. Result URL: Webhook endpoint for payment notifications

To configure these URLs:

  1. In the plugin settings page, scroll to "Callback URLs Configuration"
  2. Click the "Copy" button next to each URL
  3. Log in to your Epoint merchant dashboard
  4. Navigate to the callback URL configuration section
  5. Paste each URL in the corresponding field
  6. Save your Epoint settings

Step 4: Test the Integration

  1. Enable Test Mode in plugin settings
  2. Create a test order in your WooCommerce store
  3. Select "Epoint Payment Gateway" as payment method
  4. Complete the checkout process
  5. Verify that you're redirected to Epoint payment page
  6. Complete the test payment
  7. Verify that order status is updated correctly

Step 5: Go Live

  1. Ensure your site is using HTTPS (SSL certificate installed)
  2. Disable Test Mode in plugin settings
  3. Verify all callback URLs are configured in Epoint
  4. Process a real test transaction
  5. Monitor the transaction logs for any issues

Payment Flow

  1. Customer adds products to cart and proceeds to checkout
  2. Customer selects "Epoint Payment Gateway" as payment method
  3. Customer clicks "Place Order"
  4. Plugin creates payment request with Epoint API
  5. Customer is redirected to Epoint payment page
  6. Customer enters card details and completes payment
  7. Epoint processes the payment
  8. Epoint sends webhook notification to your site
  9. Plugin verifies the notification and updates order status
  10. Customer is redirected back to your site (success or error page)

Refund Processing

To process a refund:

  1. Go to WooCommerce → Orders
  2. Open the order you want to refund
  3. Click the "Refund" button
  4. Enter the refund amount and reason
  5. Click "Refund via Epoint Payment Gateway"
  6. The refund will be processed automatically

Note: Refunds require the card ID from the original transaction. The plugin automatically stores this information when a payment is completed.

Troubleshooting

Payment Not Processing

  • Verify your API credentials are correct
  • Check that callback URLs are configured in Epoint
  • Enable logging and check WooCommerce logs
  • Ensure your site is using HTTPS (for production)

Webhook Not Received

  • Verify the Result URL is correctly configured in Epoint
  • Check your server firewall settings
  • Ensure the webhook endpoint is accessible
  • Check WooCommerce logs for webhook errors

Refund Failed

  • Verify the original payment was successful
  • Check that card ID was stored with the order
  • Ensure your Epoint account has refund permissions
  • Check the error message in order notes

Viewing Logs

  1. Go to WooCommerce → Status → Logs
  2. Select logs starting with epoint- or epoint-webhook-
  3. Review the log entries for errors or issues

Security

This plugin implements several security measures:

  • Signature Verification: All API responses are verified using HMAC-SHA1 signatures
  • HTTPS Requirement: Production mode requires SSL certificate
  • Nonce Validation: WordPress nonces protect admin forms
  • Input Sanitization: All user inputs are sanitized and validated
  • Secure Key Storage: API keys are stored securely in WordPress options

Support

For support and questions:

  • Epoint Support: Contact Epoint.az customer support for API-related issues
  • Plugin Issues: Check the plugin documentation and logs
  • WooCommerce Issues: Refer to WooCommerce documentation

Changelog

Version 1.1.0

  • Added: WooCommerce High-Performance Order Storage (HPOS) compatibility
  • Added: Declared compatibility with custom order tables
  • Updated: Documentation to reflect HPOS support

Version 1.0.0

  • Initial release
  • Payment processing functionality
  • Webhook handling
  • Refund support
  • Auto-generated callback URLs with copy functionality
  • Test mode support
  • Transaction logging
  • Multi-language support

License

This plugin is licensed under the GPL v2 or later.

Credits

Developed for integration with Epoint.az payment gateway.

Screenshots

Settings Page

The plugin settings page shows all configuration options including auto-generated callback URLs with copy buttons.

Payment Method

Customers see Epoint as a payment option during checkout.

Admin Order View

Order details show Epoint transaction information and refund options.

Frequently Asked Questions

Do I need an Epoint merchant account?

Yes, you need to register for an Epoint merchant account and obtain API credentials.

Does this plugin support recurring payments?

The current version supports one-time payments. Recurring payment support may be added in future versions.

Can I customize the payment method title and description?

Yes, you can customize both the title and description in the plugin settings.

Is this plugin compatible with the latest WooCommerce version?

The plugin is tested up to WooCommerce 8.0 and is regularly updated for compatibility.

What currencies are supported?

The plugin currently supports AZN (Azerbaijani Manat). Additional currency support depends on your Epoint merchant account configuration.

Can I use this plugin on multiple sites?

Yes, but each site needs to be configured separately with its own callback URLs in your Epoint merchant account.

About

A comprehensive WooCommerce payment gateway plugin that integrates with Epoint.az payment processing system.

Topics

Resources

Stars

Watchers

Forks