Home Blog

SSLCommerz Payment Verification Failed? Here’s the Fix

0

Understanding SSLCommerz Validation Errors

“Payment verification failed” errors occur despite successful bank transactions due to:

🛠️ Technical Causes

  1. Hash Validation Failure

    • Incorrect store_pass value

    • Parameter sequence mismatch in verify_sign

  2. Data Format Issues

    • Amount rounding errors

    • Date format not in Y-m-d H:i:s

  3. Callback Problems

    • Missing val_id in response

    • Delayed IPN (Instant Payment Notification)

🔄 Proper Verification Workflow

Step 1: Validate Transaction Parameters

$validated = SSLCommerz::validate([
    'tran_id'   => $_POST['tran_id'],
    'amount'    => number_format($_POST['amount'], 2),
    'currency'  => 'BDT',
    'val_id'    => $_POST['val_id']
]);

Step 2: Verify Hash Signature

// Correct parameter sequence:
$verify_sign = md5(
    $store_passwd.'|'.
    $val_id.'|'.
    $amount.'|'.
    $currency.'|'.
    $tran_date
);

Step 3: Handle Edge Cases

  • Check for duplicate tran_id

  • Validate against SSLCommerz test/live environment

  • Implement 3 retries for failed validation

🚀 Optimization Tips

  1. Use Webhooks for real-time notifications

  2. Log all responses for dispute resolution

  3. Update SDK regularly (v3.1+ recommended)

UCB Payment Gateway Integration: Fixing Failed Transactions in Bangladesh

0

Common UCB Payment Gateway Issues and Solutions

When integrating UCB Payment Gateway Bangladesh into your e-commerce platform, you might encounter:

  • Transaction failures (Error Code 5003)

  • SSL handshake errors

  • Timeout during payment processing

  • “Invalid merchant ID” alerts

These issues often stem from configuration mismatches in critical parameters.

🔍 Root Causes of UCB Payment Failures

  1. Incorrect API Credentials

    • Invalid merchant_id or expired api_key

    • Test environment credentials used in production

  2. Security Protocol Mismatches

    • UCB requires TLS 1.2 or higher

    • Missing SSL certificate chain

  3. Formatting Errors

    • Amount not formatted to 2 decimal places

    • Incorrect currency code (BDT instead of “050”)

  4. Network Configuration

    • Unwhitelisted server IP

    • Firewall blocking outbound port 443

✅ How to Fix UCB Payment Gateway Integration

Step 1: Verify Merchant Configuration

php
// Sample configuration for UCB PG
$config = [
    'merchant_id' => 'UCB_MER_XXXXXX', // Get from UCB portal
    'api_key'     => 'live_...',       // Never hardcode in client-side
    'base_url'    => 'https://pg.ucb.com.bd/api/v3/',
    'timeout'     => 30,               // 30-second timeout
];

Step 2: Implement Proper SSL Setup

nginx
# Nginx configuration for UCB
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers on;

Step 3: Validate Transaction Flow

  1. Initiate transaction with amount=100.00 (2 decimal places)

  2. Handle callback with IPN (Instant Payment Notification)

  3. Verify hash signature using UCB’s algorithm

📌 Pro Tips for UCB PG Success

  • Whitelist UCB’s IP range: 103.102.58.0/23

  • Use cURL 7.68+ for proper TLS support

  • Test with small amounts (10 BDT) before going live

  • Monitor transactions via UCB Merchant Portal

Problem: Invalid Student View in Unlimited Edu Firm

0

When trying to view a student profile or load student-related dashboards in Unlimited Edu Firm – School & College Information Management System, you may encounter an empty view, broken layout, or missing data.

This often happens when related records are missing in supporting tables like:

  • student_extra_infos

  • student_placements

  • student_scholarships


🧭 Reason:

These three tables are dependent on student records to show extended information like:

  • Annual fees, bank details (student_extra_infos)

  • Job placement data (student_placements)

  • Scholarship tracking (student_scholarships)

If the records for a particular students.id are missing in any of these tables, the student view becomes invalid.


✅ Solution:

Run the following SQL queries to insert missing entries for all students into the respective tables with default values.


🔹 1. Fix missing student_extra_infos

INSERT INTO student_extra_infos (
students_id, created_at, updated_at, status
)
SELECT id, NOW(), NOW(), 1
FROM students
WHERE id NOT IN (
SELECT students_id FROM student_extra_infos
);

🔹 2. Fix missing student_placements

INSERT INTO student_placements (
students_id, created_at, updated_at, status
)
SELECT id, NOW(), NOW(), 1
FROM students
WHERE id NOT IN (
SELECT students_id FROM student_placements
);

🔹 3. Fix missing student_scholarships (default scholarships_id = 1)

INSERT INTO student_scholarships (
students_id, created_at, updated_at, scholarships_id, status
)
SELECT id, NOW(), NOW(), 1, 1
FROM students
WHERE id NOT IN (
SELECT students_id FROM student_scholarships
);

💡 Note:

  • These queries only insert records for students that are not already present in the corresponding tables.

  • Adjust status or other defaults as per your project logic.

  • Run them from a MySQL client, Laravel Tinker DB facade, or create a migration/seeder.


✅ Result:

After running the above SQL queries:

  • The student view will load properly.

  • You’ll avoid “null object” errors or broken relationship views.

  • The system becomes more robust with consistent relational data.

Failed to clear cache. Make sure you have the appropriate permissions.

0

Problem: When hit the following command got

Failed to clear the cache. Make sure you have the appropriate permissions

message in the command line.

php artisan cache:clear
php artisan config:clear
php artisan config:cache

Solution:

If the data directory doesn’t exist under (storage/framework/cache/data), then you will have this error.

This data directory doesn’t exist by default on a fresh/new installation.

Creating the data directory manually at (storage/framework/cache) should fix this issue

 

How Can I Redirect http to https When Host Laravel Project

0

Problem:

When Want redirect root domain or subdomain Http to https in Laravel project The reason behind Http to https redirection is the .htaccess manage on the root of your domain or subdomain.

  1. if you hit your domain/public you will be accessible of your project
  2. if you want to directly show the project on the domain you manage .htaccess with the following:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

Solution:

Change .htaccess code on your root domain/subdomain with the following codes

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

Invalid Student Shows When Want To View The Student Details

0

Problem: Invalid Student Shows When Want To View The Student Details

The reason behind of invalid student message is some reason which mentions below:

  1. Address Info Missing
  2. Parent Info Missing
  3. Guardian Info Missing

Solution:

When Student Registration Or Import

    1. Enter Address Info.
    2. Enter Parent Info.
    3. Enter Guardian Info.

OR, Manually manage on Database:

  1. Enter addressinfos table data with students_id.
  2. Enter the parent_details table data with students_id.
  3. Enter the guardian_details & student_guardians table data with students_id.

Manage Regular Class Remotely Powered By Zoom in Edu Firm

0

Unlimited Edu Firm is School & College Information Management System. School or College can manage student & staff detail with the different helpful module.

Now You can manage your online class using zoom meeting. Schedule Zoom meeting in Edu Firm and take your regular class from home during COVID-19.

for the schedule of meeting demo:

  1. login with our admin demo panel (username: admin@edufirm.com, password: 123)
  2. go to more section and click on Meeting – Remote Class
  3. now you can schedule your meeting for testing purpose
  4. after that students view the joint link on his/her login panel.

for more info:

DIRECT TOUCH WITH DEVELOPER
Email/Skype:freelancerumeshnepal@gmail.com
WhatsApp/Viber/Imo:+977-9868156047

Unlimited Edu Firm Quick Install Wizard

0

Unlimited Edu Firm Quick Install Wizard

Unlimited Edu Firm Install on Local with Xampp

0

Unlimited Edu Firm Install on Local with Xampp

Unlimited Edu Firm Install on Local with Laragon

0

Unlimited Edu Firm Install on Local with Laragon