Skip to main content

Library Updates Required

Critical security updates for Omise libraries and SDKs. Ensure your integration uses the minimum required versions to maintain API connectivity.

Overviewโ€‹

Omise has updated security practices, moving away from certificate pinning to industry-standard certificate validation. API requests (including charge creation) may stop working if you're using outdated library versions.

Action Required

If you're using Omise libraries or SDKs, you must update to at least the minimum versions listed below. Failure to update may result in payment processing failures.

Why This Update?โ€‹

Previously, Omise libraries used certificate pinning for security. While effective, this approach requires library updates whenever certificates change. We've transitioned to standard certificate chain validation, which is:

  • More maintainable
  • Industry best practice
  • Doesn't require library updates for certificate renewals
  • Compatible with modern security infrastructure

Minimum Required Versionsโ€‹

Server-Side Librariesโ€‹

LibraryMinimum VersionRelease DateRepository
Ruby0.8.0Nov 4, 2019omise-ruby
Python0.9.0Sep 3, 2020omise-python
PHP2.12.0Jul 31, 2020omise-php
Node.js0.10.0Aug 2019omise-node
Go1.0.5Jul 31, 2020omise-go
Java3.1.1Aug 6, 2019omise-java
.NET3.0.02019omise-dotnet
Elixir0.8.02019omise-elixir

Mobile SDKsโ€‹

SDKMinimum VersionRelease DateRepository
Android3.0.0Oct 31, 2019omise-android
iOS3.2.0Aug 29, 2019omise-ios
Flutter1.0.02020omise-flutter
React Native1.0.02020omise-react-native

E-Commerce Pluginsโ€‹

PluginMinimum VersionRelease Date
WooCommerce4.8Apr 19, 2021
Magento2.18.6Sep 16, 2021
PrestaShop1.7.10Sep 5, 2023
OpenCart2.5Sep 5, 2023
EC-CUBE2.2Sep 5, 2023

Client-Side Librariesโ€‹

LibraryMinimum VersionNotes
Omise.jsAlways currentLoaded from CDN, automatically updated
Omise Dart1.0.0For Flutter integrations

How to Updateโ€‹

Check Your Current Versionโ€‹

Rubyโ€‹

# Gemfile
gem 'omise'

# Check version
bundle show omise

Pythonโ€‹

pip show omise

PHPโ€‹

composer show omise/omise-php

Node.jsโ€‹

npm list omise

Goโ€‹

go list -m github.com/omise/omise-go

Javaโ€‹

<!-- Check pom.xml -->
<dependency>
<groupId>co.omise</groupId>
<artifactId>omise-java</artifactId>
<version>CHECK_VERSION_HERE</version>
</dependency>

Update Instructionsโ€‹

Rubyโ€‹

bundle update omise

Pythonโ€‹

pip install --upgrade omise

PHPโ€‹

composer update omise/omise-php

Node.jsโ€‹

npm update omise

Goโ€‹

go get -u github.com/omise/omise-go

Androidโ€‹

// build.gradle
dependencies {
implementation 'co.omise:omise-android:4.+'
}

iOS (CocoaPods)โ€‹

pod update OmiseSDK

iOS (Swift Package Manager)โ€‹

Update the package version in Xcode.

Certificate Update (If Required)โ€‹

If you're still experiencing connection issues after updating libraries, you may need to update the DigiCert Global Root G2 certificate on your server.

Linux (Ubuntu/Debian)โ€‹

# Update CA certificates
sudo apt-get update
sudo apt-get install --reinstall ca-certificates

# Or manually add DigiCert certificate
sudo wget -O /usr/local/share/ca-certificates/DigiCertGlobalRootG2.crt \
https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem
sudo update-ca-certificates

Linux (CentOS/RHEL)โ€‹

# Update CA certificates
sudo yum update ca-certificates

# Or manually
sudo wget -O /etc/pki/ca-trust/source/anchors/DigiCertGlobalRootG2.crt \
https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem
sudo update-ca-trust

Windowsโ€‹

  1. Download the DigiCert Global Root G2 certificate
  2. Open certmgr.msc (Certificate Manager)
  3. Navigate to Trusted Root Certification Authorities > Certificates
  4. Right-click > All Tasks > Import
  5. Follow the wizard to import the certificate

macOSโ€‹

# Usually not required - macOS updates certificates automatically
# If needed:
sudo security add-trusted-cert -d -r trustRoot \
-k /Library/Keychains/System.keychain DigiCertGlobalRootG2.crt

Troubleshootingโ€‹

Connection Errors After Updateโ€‹

If you're experiencing SSL/TLS errors:

  1. Verify library version - Ensure you're using minimum required version
  2. Check certificate chain - Run: openssl s_client -connect api.omise.co:443
  3. Update system certificates - Follow instructions above
  4. Check firewall/proxy - Ensure they allow connections to api.omise.co and vault.omise.co

Common Error Messagesโ€‹

ErrorCauseSolution
SSL certificate problemOutdated CA certificatesUpdate system certificates
certificate verify failedMissing root certificateInstall DigiCert Global Root G2
Connection refusedFirewall blockingAllow outbound HTTPS to Omise domains
authentication_failureWrong API keyVerify API key is correct

Testing Connectionโ€‹

# Test API connectivity
curl -v https://api.omise.co/account \
-u skey_test_YOUR_KEY:

# Test vault connectivity (for tokenization)
curl -v https://vault.omise.co/tokens \
-u pkey_test_YOUR_KEY:

Verificationโ€‹

After updating, verify your integration works:

# Create a test charge
curl https://api.omise.co/charges \
-u skey_test_YOUR_SECRET_KEY: \
-d "amount=10000" \
-d "currency=thb" \
-d "card=tokn_test_YOUR_TOKEN"

If successful, you'll receive a charge object. If you see errors, check:

  1. Library version
  2. API keys
  3. System certificates
  4. Network connectivity

Staying Updatedโ€‹

Best Practicesโ€‹

  1. Subscribe to releases - Watch our GitHub repositories for updates
  2. Use semantic versioning - Allow minor/patch updates automatically
  3. Test regularly - Run integration tests in test mode
  4. Monitor status - Check status.omise.co for announcements

Notification Channelsโ€‹

  • GitHub Releases - github.com/omise
  • Status Page - status.omise.co
  • Dashboard Notifications - In-app alerts
  • Email - Important security updates sent to account email

FAQโ€‹

What happens if I don't update?

API requests may fail with SSL/certificate errors. This affects all operations including creating charges, tokens, and refunds. Your integration will stop processing payments.

Will updating break my integration?

No, updates are backward compatible. The API interface remains the same. Only internal security mechanisms are updated.

Do I need to update Omise.js?

No, Omise.js is loaded from our CDN and automatically updated. You don't need to take any action for client-side JavaScript.

How often should I update libraries?

We recommend updating to the latest version at least quarterly. Security updates should be applied immediately.

Can I skip versions?

Yes, you can update directly to the latest version from any older version. There's no need to update incrementally.

Supportโ€‹

If you continue experiencing issues after updating:

  1. Check status.omise.co for any ongoing incidents
  2. Review the API documentation
  3. Contact support@omise.co with:
    • Library name and version
    • Error messages
    • Server OS and version
    • Steps to reproduce