wontonee/paystack

Paystack Payment Gateway for Bagisto - Accept payments across Africa with Cards, Bank Transfer, Mobile Money & USSD

Installs: 2

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/wontonee/paystack

1.0.1 2025-10-09 07:01 UTC

This package is auto-updated.

Last update: 2025-10-09 07:01:59 UTC


README

Accept payments from customers across Africa using Paystack - one of Africa's leading payment processors.

License Bagisto

๐ŸŒ Supported Countries & Payment Methods

Countries

  • ๐Ÿ‡ณ๐Ÿ‡ฌ Nigeria
  • ๐Ÿ‡ฌ๐Ÿ‡ญ Ghana
  • ๐Ÿ‡ฟ๐Ÿ‡ฆ South Africa
  • ๐Ÿ‡ฐ๐Ÿ‡ช Kenya
  • And more across Africa

Payment Methods

  • ๐Ÿ’ณ Cards (Visa, Mastercard, Verve)
  • ๐Ÿฆ Bank Transfer
  • ๐Ÿ“ฑ Mobile Money
  • ๐Ÿ“ž USSD
  • ๐Ÿ’ฐ Bank Account
  • ๐Ÿ”„ QR Code

Supported Currencies

  • NGN (Nigerian Naira)
  • GHS (Ghanaian Cedi)
  • ZAR (South African Rand)
  • KES (Kenyan Shilling)
  • USD (US Dollar)

๐Ÿ“‹ Requirements

  • Bagisto 2.x
  • PHP 8.2 or higher
  • Laravel 11.x
  • Paystack Account (Sign up here)
  • SSL Certificate (Required for production)

Installation

Step 1: Install via Composer

composer require wontonee/paystack

Step 2: Publish Assets

php artisan vendor:publish --tag=paystack-assets

Step 3: Clear Cache

php artisan config:cache
php artisan route:cache
php artisan optimize:clear

โš™๏ธ Configuration

1. Get Paystack Credentials

  1. Login to Paystack Dashboard
  2. Navigate to Settings โ†’ API Keys & Webhooks
  3. Copy your Public Key and Secret Key

2. Configure in Bagisto Admin

  1. Go to Admin Panel โ†’ Configuration โ†’ Sales โ†’ Payment Methods
  2. Find Paystack in the payment methods list
  3. Configure the following fields:
Field Description Required
Title Display name for payment method Yes
Description Description shown to customers No
Payment Method Icon Upload custom icon (100x50px recommended) No
Public Key Your Paystack Public Key (pk_test_ or pk_live_) Yes
Secret Key Your Paystack Secret Key (sk_test_ or sk_live_) Yes
Status Enable/Disable payment method Yes
  1. Click Save Configuration

๐Ÿ”ง How It Works

Payment Flow

  1. Customer Checkout: Customer selects Paystack and places order
  2. Transaction Initialization: System initializes transaction via Paystack API
  3. Redirect to Paystack: Customer redirected to Paystack payment page
  4. Payment Processing: Customer completes payment on Paystack
  5. Callback: Paystack redirects back with reference
  6. Verification: System verifies transaction with Paystack API
  7. Order Creation: Order created if payment successful

API Endpoints

All Transactions:

  • Initialize: https://api.paystack.co/transaction/initialize
  • Verify: https://api.paystack.co/transaction/verify/:reference

๐Ÿงช Testing

Test Mode

  1. Use API keys starting with pk_test_ and sk_test_
  2. Test with Paystack test cards
  3. No real money charged

Test Cards

Success:

Card Number: 4084 0840 8408 4081
CVV: 408
Expiry: Any future date (e.g., 12/25)
PIN: 0000
OTP: 123456

Insufficient Funds:

Card Number: 5061 0200 0000 0000 094

Declined:

Card Number: 5061 0203 4000 0000 07

More test cards: https://paystack.com/docs/payments/test-payments

๐Ÿ“ Important Notes

Amount Handling

  • Paystack requires amounts in kobo/cents (โ‚ฆ10 = 1,000 kobo)
  • System automatically converts amounts to kobo
  • Supports NGN, GHS, ZAR, KES, USD

Payment Status

  • success: Payment completed successfully
  • failed: Payment failed
  • abandoned: Payment not completed

Security

  • Always verify transactions on server-side
  • Never expose secret key on frontend
  • Use HTTPS for production

๏ฟฝ Troubleshooting

Common Issues

1. "Payment initialization failed"

  • Solution: Check Public Key and Secret Key in admin configuration

2. "Payment verification failed"

  • Solution: Verify API keys are correct and match environment (test/live)

3. "Callback not working"

  • Solution: Ensure SSL certificate is valid (production) and callback URL is accessible

4. Route not found errors

  • Solution: Run php artisan route:cache and php artisan config:cache

5. Image not showing

  • Solution: Run php artisan vendor:publish --tag=paystack-assets --force

Debug Logs

Check logs in storage/logs/laravel.log for detailed error information.

๐Ÿ†˜ Support

For support, contact:

๐Ÿ“„ License

This package is proprietary software. All rights reserved by Wontonee.

PROPRIETARY LICENSE - Unauthorized copying, distribution, modification, or use of this software is strictly prohibited.

๐Ÿ”ฎ Upcoming Features

  • โœ… Webhook integration for real-time updates
  • โœ… Refund functionality from admin panel
  • โœ… Recurring payments support
  • โœ… Split payments

๐Ÿ“š Additional Resources

Developed with โค๏ธ by Wontonee