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.
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โ
| Library | Minimum Version | Release Date | Repository |
|---|---|---|---|
| Ruby | 0.8.0 | Nov 4, 2019 | omise-ruby |
| Python | 0.9.0 | Sep 3, 2020 | omise-python |
| PHP | 2.12.0 | Jul 31, 2020 | omise-php |
| Node.js | 0.10.0 | Aug 2019 | omise-node |
| Go | 1.0.5 | Jul 31, 2020 | omise-go |
| Java | 3.1.1 | Aug 6, 2019 | omise-java |
| .NET | 3.0.0 | 2019 | omise-dotnet |
| Elixir | 0.8.0 | 2019 | omise-elixir |
Mobile SDKsโ
| SDK | Minimum Version | Release Date | Repository |
|---|---|---|---|
| Android | 3.0.0 | Oct 31, 2019 | omise-android |
| iOS | 3.2.0 | Aug 29, 2019 | omise-ios |
| Flutter | 1.0.0 | 2020 | omise-flutter |
| React Native | 1.0.0 | 2020 | omise-react-native |
E-Commerce Pluginsโ
| Plugin | Minimum Version | Release Date |
|---|---|---|
| WooCommerce | 4.8 | Apr 19, 2021 |
| Magento | 2.18.6 | Sep 16, 2021 |
| PrestaShop | 1.7.10 | Sep 5, 2023 |
| OpenCart | 2.5 | Sep 5, 2023 |
| EC-CUBE | 2.2 | Sep 5, 2023 |
Client-Side Librariesโ
| Library | Minimum Version | Notes |
|---|---|---|
| Omise.js | Always current | Loaded from CDN, automatically updated |
| Omise Dart | 1.0.0 | For 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โ
- Download the DigiCert Global Root G2 certificate
- Open certmgr.msc (Certificate Manager)
- Navigate to Trusted Root Certification Authorities > Certificates
- Right-click > All Tasks > Import
- 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:
- Verify library version - Ensure you're using minimum required version
- Check certificate chain - Run:
openssl s_client -connect api.omise.co:443 - Update system certificates - Follow instructions above
- Check firewall/proxy - Ensure they allow connections to
api.omise.coandvault.omise.co
Common Error Messagesโ
| Error | Cause | Solution |
|---|---|---|
SSL certificate problem | Outdated CA certificates | Update system certificates |
certificate verify failed | Missing root certificate | Install DigiCert Global Root G2 |
Connection refused | Firewall blocking | Allow outbound HTTPS to Omise domains |
authentication_failure | Wrong API key | Verify 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:
- Library version
- API keys
- System certificates
- Network connectivity
Staying Updatedโ
Best Practicesโ
- Subscribe to releases - Watch our GitHub repositories for updates
- Use semantic versioning - Allow minor/patch updates automatically
- Test regularly - Run integration tests in test mode
- 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:
- Check status.omise.co for any ongoing incidents
- Review the API documentation
- Contact support@omise.co with:
- Library name and version
- Error messages
- Server OS and version
- Steps to reproduce
Related Resourcesโ
- Server Libraries - Installation guides
- Mobile SDKs - Mobile integration
- E-Commerce Plugins - Plugin documentation
- Security Overview - Security practices