การอัปเดตไลบรารีและใบรับรองเซิร์ฟเวอร์ของ Omise

หัวข้อทั้งหมดในหน้านี้

การอัปเดตไลบรารีและใบรับรองเซิร์ฟเวอร์ของ Omise

ภาพรวม

ไลบรารีอย่างเป็นทางการของ Omise เคยใช้เทคนิคที่เรียกว่า certificate pinning ซึ่งเป็นเทคนิคด้านความปลอดภัยที่ฝังใบรับรองเซิร์ฟเวอร์ที่คาดไว้ลงในตัวไลบรารีโดยตรง ปัจจุบัน certificate pinning ไม่ถือเป็นแนวทางปฏิบัติที่ดีที่สุดอีกต่อไป จึงถูกนำออกจากไลบรารีของ Omise แล้ว แต่ไลบรารีสำเนาเก่าที่ยัง pinning ใบรับรองอยู่จะหยุดเชื่อถือเซิร์ฟเวอร์ของ Omise ทันทีที่ใบรับรองที่ถูกปักหมุดไว้ถูกเปลี่ยน ในทางปฏิบัติหมายความว่า คำขอ API รวมถึงการสร้างรายการเรียกเก็บเงิน (charge) อาจล้มเหลวโดยไม่มีการแจ้งเตือนล่วงหน้า หากคุณกำลังใช้ไลบรารีเวอร์ชันเก่า

นอกจากนี้ยังมีอีกปัญหาหนึ่งที่เกี่ยวข้องกัน นั่นคือห่วงโซ่ใบรับรอง TLS ของ Omise มีรากฐาน (root) มาจากใบรับรอง DigiCert G2 ระบบส่วนใหญ่เชื่อถือใบรับรองนี้อยู่แล้ว แต่เซิร์ฟเวอร์ที่เก่าหรือไม่ค่อยได้รับการอัปเดตแพตช์อาจยังไม่เชื่อถือ และจำเป็นต้องติดตั้งด้วยตนเอง

ยืนยันแล้วเมื่อเดือนกันยายน 2026: การตรวจสอบห่วงโซ่ใบรับรองของ api.omise.co พบว่า API ของ Omise ในปัจจุบันเชื่อมโยงกับ DigiCert Global Root G2 (ผ่านใบรับรองระดับกลาง Thawte TLS RSA CA G1) ดังนั้นคำแนะนำเกี่ยวกับ G2 ที่ตามมานี้จึงยังคงถูกต้องในขณะนี้ อย่างไรก็ตาม DigiCert กำลังเปลี่ยนการออกใบรับรอง TLS เริ่มต้นไปเป็นลำดับชั้นราก G5 ใหม่ ตั้งแต่วันที่ 15 ตุลาคม 2026 (ดูประกาศอย่างเป็นทางการของ DigiCert) และใบรับรองปัจจุบันจะหมดอายุในวันที่ 9 ตุลาคม 2026 ซึ่งเป็นเพียง 6 วันก่อนการเปลี่ยนผ่านดังกล่าว เมื่อมีการต่ออายุใบรับรองครั้งถัดไป ใบรับรองใหม่อาจถูกออกจากลำดับชั้นราก G5 แทน กรุณาตรวจสอบคำแนะนำในหน้านี้อีกครั้งหลังจากมีการต่ออายุใบรับรอง

สิ่งที่ต้องตรวจสอบแยกกันสองอย่าง: (1) เวอร์ชันไลบรารี Omise ของคุณ และ (2) ใบรับรองรากที่เซิร์ฟเวอร์ของคุณเชื่อถือ การอัปเดตส่วนใหญ่ต้องแก้ไขแค่ข้อแรกเท่านั้น แต่ถ้าคำขอยังคงล้มเหลวหลังจากอัปเดตไลบรารีแล้ว ให้ตรวจสอบข้อที่สองด้วย

อาการที่อาจพบ แยกตามแพลตฟอร์ม:

  • Python/curl/OpenSSL: certificate verify failed, unable to get local issuer certificate
  • Java: sun.security.validator.ValidatorException: PKIX path building failed, unable to find valid certification path to requested target
  • Android: javax.net.ssl.SSLHandshakeException: Trust anchor for certification path not found
  • Go: x509: certificate signed by unknown authority
  • iOS/Swift: NSURLErrorDomain error -1202, "server certificate is invalid"
  • Ruby/PHP/Node: SSL_connect returned=1 errno=0 ... certificate verify failed, SELF_SIGNED_CERT_IN_CHAIN หรือ cURL error 60

การเชื่อมต่อถูกรีเซ็ตโดยไม่มีคำอธิบายอื่นใด หรือคำขอสร้างรายการเรียกเก็บเงินที่หมดเวลาโดยไม่มีข้อความ error ที่ชัดเจนจาก API ก็อาจเป็นอาการนี้ได้เช่นกัน หากอาการเหล่านี้ตรงกับสิ่งที่คุณพบ หน้านี้คือสิ่งที่คุณกำลังมองหา

ตรวจสอบและแก้ไขเวอร์ชันของคุณใน 3 ขั้นตอน

  1. ตรวจสอบเวอร์ชันปัจจุบันของไลบรารีในไฟล์ dependency ของโปรเจกต์ (ดูคำถามที่พบบ่อยด้านล่างของหน้านี้ หากไม่แน่ใจว่าต้องดูที่ไหน)
  2. เปรียบเทียบกับเวอร์ชันขั้นต่ำที่กำหนดสำหรับไลบรารีของคุณ
  3. หากเวอร์ชันของคุณต่ำกว่าที่กำหนด ให้ทำตามคำแนะนำการอัปเดตสำหรับภาษาของคุณ จากนั้นตรวจสอบว่าแก้ไขสำเร็จแล้ว

ตรวจสอบปัญหาก่อนเริ่มแก้ไข

หากต้องการยืนยันปัญหาที่แท้จริงก่อนที่จะเปลี่ยนแปลงสิ่งใด ให้ตรวจสอบห่วงโซ่ใบรับรองที่เซิร์ฟเวอร์ของคุณเห็นในปัจจุบันจาก terminal:

openssl s_client -connect api.omise.co:443 -showcerts

ตรวจดูห่วงโซ่ใบรับรองในผลลัพธ์ หากห่วงโซ่สิ้นสุดที่รากที่ระบบของคุณไม่รู้จัก หรือการเชื่อมต่อ (handshake) ล้มเหลวโดยสิ้นเชิง แสดงว่าเป็นปัญหาความเชื่อถือใบรับรองจริง ไม่ใช่ปัญหาอื่น เช่น การถูกบล็อกจากไฟร์วอลล์/เครือข่าย ปัญหา DNS หรือบั๊กในระดับแอปพลิเคชัน คำสั่งนี้ใช้งานได้เหมือนกันไม่ว่าคุณจะใช้ภาษาหรือไลบรารีใด เนื่องจากเป็นการทดสอบการเชื่อมต่อ TLS โดยตรง

เวอร์ชันไลบรารีขั้นต่ำที่กำหนด

ตารางต่อไปนี้แสดงเวอร์ชันขั้นต่ำที่กำหนดของแต่ละไลบรารี วันที่เผยแพร่ และลิงก์ไปยัง changelog ฉบับเต็ม หากคุณยังไม่ได้ใช้เวอร์ชันอย่างน้อยตามที่ระบุไว้ ให้อัปเดตก่อนที่จะส่งผลกระทบต่อระบบของคุณ

ไลบรารีที่ไม่ได้อยู่ในรายการนี้ยังไม่พบว่าได้รับผลกระทบ กรุณาตรวจสอบหน้านี้เป็นระยะ เนื่องจากรายการอาจเปลี่ยนแปลงได้เมื่อมีการเผยแพร่เวอร์ชันใหม่

ไลบรารี/ปลั๊กอิน เวอร์ชันขั้นต่ำที่กำหนด วันที่เผยแพร่ Changelog
Android 3.0.0 31 ต.ค. 2019 CHANGELOG.md
Go 1.0.5 31 ก.ค. 2020 tags
iOS 3.2.0 29 ส.ค. 2019 releases
Java 3.1.1 6 ส.ค. 2019 CHANGELOG.md
PHP 3.0.0 10 มิ.ย. 2025 CHANGELOG.md
Python 0.9.0 3 ก.ย. 2020 CHANGELOG.md
Ruby 0.8.0 4 พ.ย. 2019 CHANGELOG.md
EC-CUBE 2.2 5 ก.ย. 2023 CHANGELOG.md
Magento 2.18.6 16 ก.ย. 2021 CHANGELOG.md
OpenCart 2.5 5 ก.ย. 2023 CHANGELOG.md
PrestaShop 1.7.10 5 ก.ย. 2023 CHANGELOG.md
WooCommerce 4.8 19 เม.ย. 2021 CHANGELOG.md

วิธีอัปเดตแต่ละไลบรารี

แต่ละส่วนแสดงตัวอย่างการอัปเดตแบบพื้นฐาน การตั้งค่า build ของคุณอาจแตกต่างออกไป และวิธีการใดก็ตามที่ทำให้คุณได้เวอร์ชันอย่างน้อยตามที่กำหนดถือว่าใช้ได้

ไปที่: Android · iOS · Go · Java · PHP · Python · Ruby

SDK: Android

อัปเดตเวอร์ชันในไฟล์ build.gradle ของแอปคุณ:

dependencies {
    implementation 'co.omise:omise-android:3.0.0'
}
  • ยกเลิกการรองรับ TLS 1.1 (2.6.5 → 2.6.6): ให้ใช้ TLS 1.2 ขึ้นไปตั้งแต่นี้เป็นต้นไป ดูข้อมูลเพิ่มเติมได้จากประกาศ TLS deprecation ภายในของ Omise หรือติดต่อ support@omise.co หากคุณต้องการรายละเอียดและไม่มีสิทธิ์เข้าถึงประกาศดังกล่าว

SDK: iOS

ดูขั้นตอนการอัปเกรดสำหรับ Swift Package Manager สาขา 4.x ไม่รองรับ iOS 10 หรือ Swift 4 อีกต่อไป

เวอร์ชัน SDK ไม่ใช่ทั้งหมดของเรื่องนี้บนมือถือ ทั้ง Android และ iOS ใช้ trust store ระดับระบบปฏิบัติการของอุปกรณ์ในการตรวจสอบใบรับรอง ซึ่งแยกจากเวอร์ชัน SDK ของแอปคุณ อุปกรณ์ที่ใช้ระบบปฏิบัติการเก่ามากอาจไม่เชื่อถือใบรับรองรากปัจจุบัน ไม่ว่าแอปของคุณจะใช้ SDK เวอร์ชันใดก็ตาม ไม่มีวิธีแก้ไขจากฝั่งแอปสำหรับกรณีนี้ นอกจากสนับสนุนให้ผู้ใช้อัปเดตระบบปฏิบัติการของอุปกรณ์

ไลบรารี: Go

อัปเดตเป็นเวอร์ชันล่าสุด:

go get github.com/omise/omise-go

อัปเดตเป็นเวอร์ชันที่ระบุ:

go get github.com/omise/omise-go@v1.0.5

ไลบรารี: Java

อัปเดตเวอร์ชันในไฟล์ build.gradle ของแอปคุณ:

dependencies {
    implementation 'co.omise:omise-java:3.1.1'
}
  • ไม่มีการเปลี่ยนแปลงที่กระทบระบบเดิม (4.x → เวอร์ชันล่าสุด): การอัปเกรดควรราบรื่น
  • มีการเปลี่ยนแปลงที่กระทบระบบเดิม (3.1.1 → 4.0): ดูคู่มือการย้ายระบบ หากคุณยังไม่สามารถอัปเดตเป็นเวอร์ชันล่าสุดได้ ให้อัปเดตเป็นอย่างน้อยเวอร์ชัน 3.1.1

ไลบรารี: PHP

ใช้ปลั๊กอินที่พัฒนาด้วย PHP อยู่หรือไม่? หากคุณใช้ Magento หรือ WooCommerce ให้ทำตามคำแนะนำในการอัปเดตปลั๊กอินที่พัฒนาด้วย PHPแทนการอัปเดต omise-php โดยตรง

อัปเดตเวอร์ชันในไฟล์ composer.json ให้เป็นอย่างน้อยเวอร์ชันขั้นต่ำที่กำหนด จากนั้นรันคำสั่ง:

composer update omise-php

หากคุณกำลังอัปเดตจากเวอร์ชัน 2.x รุ่นเก่า ให้ตรวจสอบ changelog ก่อนอัปเดต เนื่องจากการอัปเดตไปเป็น 3.0.0 ครอบคลุมหลายเวอร์ชันย่อย จึงควรตรวจสอบการเปลี่ยนแปลงที่เกี่ยวข้องกับเวอร์ชันปัจจุบันของคุณ แทนที่จะสันนิษฐานว่าเป็นการอัปเดตแบบทดแทนตรงๆ แนะนำให้ใช้ PHP เวอร์ชันที่ยังไม่หมดอายุการสนับสนุน (non-EOL) หากเป็นไปได้

ไลบรารี: Python

อัปเดตเวอร์ชันในไฟล์ requirements.txt ให้เป็นอย่างน้อยเวอร์ชันขั้นต่ำที่กำหนด จากนั้นรันคำสั่ง:

pip install --upgrade omise

การอัปเดตจากเวอร์ชันใดๆ ควรทำได้อย่างราบรื่นโดยไม่มีการเปลี่ยนแปลงที่กระทบระบบเดิม แนะนำให้ใช้ Python เวอร์ชันที่ยังไม่หมดอายุการสนับสนุน (non-EOL) หากเป็นไปได้

ไลบรารี: Ruby

อัปเดตเวอร์ชันในไฟล์ Gemfile ของคุณให้เป็นอย่างน้อยเวอร์ชันขั้นต่ำที่กำหนด จากนั้นรันคำสั่ง:

bundle update omise

การอัปเดตจากเวอร์ชันใดๆ ควรทำได้อย่างราบรื่นโดยไม่มีการเปลี่ยนแปลงที่กระทบระบบเดิม แนะนำให้ใช้ Ruby เวอร์ชันที่ยังไม่หมดอายุการสนับสนุน (non-EOL) หากเป็นไปได้

หากคุณไม่ได้ใช้ไลบรารีของ Omise

ปัญหา certificate pinning ส่งผลกระทบเฉพาะไลบรารีที่ระบุไว้ในหน้านี้เท่านั้น แต่ปัญหาใบรับรองราก DigiCert ไม่ขึ้นอยู่กับไลบรารีที่ใช้ เนื่องจากเป็นปัญหาที่การเชื่อมต่อ TLS เอง จึงอาจส่งผลกระทบต่อคุณได้ แม้ว่าคุณจะเรียก API ของ Omise โดยตรงผ่าน curl raw HTTP client หรือภาษา/เฟรมเวิร์กที่ไม่ได้ระบุไว้ในหน้านี้

หากนี่คือกรณีของคุณ ตารางเวอร์ชันขั้นต่ำและขั้นตอนเฉพาะไลบรารีจะไม่เกี่ยวข้องกับคุณ แต่คำสั่งตรวจสอบปัญหาและการอัปเดตใบรับรองรากของเซิร์ฟเวอร์ที่กล่าวถึงในหน้านี้ยังคงเกี่ยวข้องอยู่ ให้เริ่มจากการตรวจสอบปัญหาก่อน เพื่อยืนยันว่านี่คือปัญหาของคุณจริงหรือไม่

การอัปเดตปลั๊กอินที่พัฒนาด้วย PHP

เคยดาวน์เกรด omise-php ด้วยตนเองหรือไม่? ทั้ง Magento และ WooCommerce ใช้ไลบรารี omise-php เป็นพื้นฐาน หากคุณเคยดาวน์เกรดไลบรารีนี้ด้วยตนเองบนแพลตฟอร์มใดแพลตฟอร์มหนึ่ง ให้อัปเดตกลับไปเป็นอย่างน้อยเวอร์ชันที่แนะนำขั้นต่ำ เพื่อปิดช่องโหว่ด้านความปลอดภัยที่เกี่ยวข้อง

EC-CUBE

ดูเอกสารปลั๊กอิน EC-CUBE อย่างเป็นทางการสำหรับรายละเอียดการติดตั้งและตั้งค่า

Magento

ดูเอกสารปลั๊กอิน Magento อย่างเป็นทางการสำหรับรายละเอียดการติดตั้งและตั้งค่า

OpenCart

ดูเอกสารปลั๊กอิน OpenCart อย่างเป็นทางการสำหรับรายละเอียดการติดตั้งและตั้งค่า

PrestaShop

ดูเอกสารปลั๊กอิน PrestaShop อย่างเป็นทางการสำหรับรายละเอียดการติดตั้งและตั้งค่า

WooCommerce

เวอร์ชันที่แนะนำ: ใช้ WooCommerce อย่างน้อยเวอร์ชัน 5.3.1 เพื่อประสิทธิภาพที่ดีขึ้น

ดูเอกสารปลั๊กอิน WooCommerce อย่างเป็นทางการสำหรับรายละเอียดการติดตั้งและตั้งค่า

การอัปเดตใบรับรองรากของเซิร์ฟเวอร์

หากคำขอ API ยังคงล้มเหลวหลังจากอัปเดตไลบรารีของคุณเรียบร้อยแล้ว แสดงว่าใบรับรองรากที่เซิร์ฟเวอร์ของคุณเชื่อถืออาจล้าสมัย ห่วงโซ่ใบรับรองของ Omise มีรากฐานมาจาก DigiCert Global Root G2 — ดูประกาศการอัปเดตใบรับรองรากของ DigiCertสำหรับข้อมูลพื้นฐานเพิ่มเติม

ใช้งานบนคอนเทนเนอร์หรือแพลตฟอร์ม serverless อยู่หรือไม่? การ "อัปเดตเซิร์ฟเวอร์" ไม่ได้ใช้วิธีเดียวกันในกรณีนี้ ชุดใบรับรอง CA ของคุณมาจาก base image (Docker) หรือรันไทม์ที่ผู้ให้บริการจัดการให้ (เช่น AWS Lambda, Google Cloud Functions) ไม่ใช่ระบบปฏิบัติการถาวรที่คุณแพตช์เองโดยตรง ให้สร้างอิมเมจใหม่จาก base image ที่อัปเดตล่าสุด (เช่น แท็ก `debian:` หรือ `alpine:` เวอร์ชันปัจจุบัน) แทนการแพตช์คอนเทนเนอร์ที่กำลังทำงานอยู่ ส่วนแพลตฟอร์ม serverless ที่มีการจัดการให้ ให้ตรวจสอบเอกสารของผู้ให้บริการว่าพวกเขาอัปเดต CA อย่างไร เนื่องจากโดยทั่วไปคุณไม่สามารถทำเองได้

บน Linux

Linux เก็บใบรับรอง CA ไว้ที่ /etc/ssl/certs/ และการอัปเดตระบบปฏิบัติการตามปกติจะรีเฟรชใบรับรองเหล่านี้โดยอัตโนมัติ หากต้องการอัปเดตด้วยตนเอง:

RHEL และรุ่นที่พัฒนาต่อ

  1. สร้างไดเรกทอรี /etc/pki/ca-trust/source/anchors หากยังไม่มี
  2. ดาวน์โหลดใบรับรอง DigiCert Global Root G2
  3. คัดลอกไฟล์ PEM ที่ดาวน์โหลดไปไว้ที่ /etc/pki/ca-trust/source/anchors
  4. เพิ่มใบรับรองเข้าสู่ trust store ของระบบ:
sudo update-ca-trust extract

Debian และรุ่นที่พัฒนาต่อ

  1. สร้างไดเรกทอรี /usr/local/share/ca-certificates หากยังไม่มี
  2. ดาวน์โหลดใบรับรอง DigiCert Global Root G2
  3. คัดลอกไฟล์ PEM ที่ดาวน์โหลดไปไว้ที่ /usr/local/share/ca-certificates โดยเปลี่ยนนามสกุลไฟล์เป็น .crt
  4. เพิ่มใบรับรองเข้าสู่ trust store ของระบบ:
sudo update-ca-certificates

บน macOS

การอัปเดตระบบปฏิบัติการ macOS ตามปกติจะรีเฟรชใบรับรองรากโดยอัตโนมัติ หากต้องการเพิ่มใบรับรองด้วยตนเอง ให้ดาวน์โหลดใบรับรอง DigiCert Global Root G2 จากนั้นเพิ่มลงใน System keychain และตั้งค่าให้เชื่อถือสำหรับ SSL โดยปรับชื่อไฟล์ในคำสั่งต่อไปนี้ให้ตรงกับไฟล์ที่คุณดาวน์โหลดมา:

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain path/to/downloaded-certificate.crt

บน Windows

การอัปเดตระบบปฏิบัติการตามปกติจะรีเฟรชใบรับรองรากโดยอัตโนมัติ หากต้องการอัปเดตด้วยตนเอง:

ขั้นตอนที่ 1: เปิด Command Prompt ในโหมด Administrator

ขั้นตอนที่ 2: ไปยังโฟลเดอร์ทำงาน เช่น C:\Temp

ขั้นตอนที่ 3: รันคำสั่งต่อไปนี้ ซึ่งจะดาวน์โหลดใบรับรองรากที่อัปเดตล่าสุดลงในไฟล์ชื่อ Rootstore.sst ในโฟลเดอร์นั้น:

CertUtil --generateSSTFromWU Rootstore.sst

ขั้นตอนที่ 4: หากเซิร์ฟเวอร์เป้าหมายไม่มีการเชื่อมต่ออินเทอร์เน็ต ให้คัดลอกไฟล์ Rootstore.sst จากโฟลเดอร์นั้นไปยังเครื่องที่ออฟไลน์ และนำเข้าที่เครื่องนั้นแทนการรันคำสั่งโดยตรงบนเครื่องนั้น

ตรวจสอบว่าแก้ไขสำเร็จแล้ว

หลังจากอัปเดตไลบรารี ใบรับรองรากของเซิร์ฟเวอร์ หรือทั้งสองอย่างแล้ว ให้ยืนยันว่าแก้ไขสำเร็จก่อนดำเนินการต่อ:

  1. ส่งคำขอทดสอบ — การสร้างรายการเรียกเก็บเงินในโหมดทดสอบเป็นวิธีตรวจสอบที่ตรงที่สุด เนื่องจากเป็นคำขอที่มีแนวโน้มล้มเหลวมากที่สุด
  2. หากคำขอสำเร็จโดยไม่มี error เกี่ยวกับใบรับรองหรือการเชื่อมต่อ แสดงว่าเสร็จสิ้น
  3. หากยังคงล้มเหลวในลักษณะเดิม ให้ดำเนินการแก้ไขในส่วนที่คุณยังไม่ได้ทำ — การอัปเดตส่วนใหญ่ต้องแก้ไขแค่การอัปเดตไลบรารีเท่านั้น แต่บางเซิร์ฟเวอร์จำเป็นต้องอัปเดตใบรับรองรากด้วย
  4. หากยังคงล้มเหลวหลังจากทำทั้งสองอย่างแล้ว ให้ตรวจสอบstatus.omise.coเพื่อตัดปัญหาการหยุดทำงานในวงกว้างออกไปก่อน จากนั้นติดต่อฝ่ายสนับสนุนของ Omiseพร้อมข้อความ error ที่ชัดเจน

คำถามที่พบบ่อย

ถาม: ฉันจะตรวจสอบเวอร์ชันไลบรารีที่ใช้อยู่ในปัจจุบันได้อย่างไร? ตอบ: ตรวจสอบไฟล์ dependency ของคุณ (composer.json, requirements.txt, Gemfile, build.gradle หรือ go.mod/Podfile/package manager ที่คุณใช้) เพื่อดูเวอร์ชันไลบรารี Omise ที่ระบุไว้ หรือตรวจสอบแพ็กเกจที่ติดตั้งโดยตรงผ่าน package manager ของภาษาที่คุณใช้

ถาม: ไลบรารีของฉันไม่มีอยู่ในตารางเวอร์ชันขั้นต่ำ แสดงว่าได้รับผลกระทบหรือไม่? ตอบ: เท่าที่ Omise ทราบ ยังไม่พบว่าได้รับผลกระทบ แต่ควรตรวจสอบหน้านี้เป็นระยะ เนื่องจากรายการอาจเปลี่ยนแปลงเมื่อมีการเผยแพร่เวอร์ชันใหม่

ถาม: ฉันอัปเดตไลบรารีแล้วแต่คำขอยังคงล้มเหลว ควรตรวจสอบอะไรต่อ? ตอบ: ให้อัปเดตใบรับรองรากที่เซิร์ฟเวอร์ของคุณเชื่อถือเป็นลำดับถัดไป — ดูการอัปเดตใบรับรองรากของเซิร์ฟเวอร์ การที่ trust store ฝั่งเซิร์ฟเวอร์ล้าสมัยเป็นสาเหตุที่พบบ่อยรองลงมา

ถาม: ฉันใช้เพียงหน้าชำระเงินแบบ hosted checkout หรือ redirect โดยไม่ได้ติดตั้งไลบรารี จำเป็นต้องทำอะไรหรือไม่? ตอบ: ไม่จำเป็น — เรื่องนี้เกี่ยวข้องเฉพาะกับระบบที่ใช้ไลบรารีหรือปลั๊กอินที่ Omise จัดเตรียมให้เท่านั้น

ถาม: ฉันเรียก API ของ Omise โดยตรง (ผ่าน curl, raw HTTP client หรือภาษาที่ไม่ได้ระบุไว้ในหน้านี้) เรื่องนี้ส่งผลกระทบต่อฉันหรือไม่? ตอบ: ปัญหาเรื่องเวอร์ชันไลบรารีไม่ส่งผลกระทบ เนื่องจากเป็นเรื่องเฉพาะของไลบรารี Omise เอง แต่ปัญหาใบรับรองรากของเซิร์ฟเวอร์ยังคงส่งผลกระทบต่อคุณได้ เนื่องจากเป็นเรื่องของการเชื่อมต่อ TLS โดยตรง ดูหากคุณไม่ได้ใช้ไลบรารีของ Omise

ถาม: แอปของฉันใช้ Omise SDK เวอร์ชันล่าสุดแล้ว แต่ผู้ใช้ที่มือถือรุ่นเก่ายังคงพบ error เกี่ยวกับใบรับรองอยู่ เพราะเหตุใด? ตอบ: ทั้ง Android และ iOS ตรวจสอบใบรับรองโดยอ้างอิงจาก trust store ระดับระบบปฏิบัติการของอุปกรณ์ ซึ่งแยกจากเวอร์ชัน SDK ของแอปคุณ อุปกรณ์ที่ใช้ระบบปฏิบัติการรุ่นเก่ามากอาจไม่เชื่อถือใบรับรองรากปัจจุบัน ไม่ว่าคุณจะใช้ SDK เวอร์ชันใดก็ตาม ไม่มีวิธีแก้ไขจากฝั่งแอปสำหรับกรณีนี้ นอกจากสนับสนุนให้ผู้ใช้ที่ได้รับผลกระทบอัปเดตระบบปฏิบัติการของอุปกรณ์

ถาม: หากฉันไม่อัปเดต จะเกิดอะไรขึ้น? ตอบ: คำขอ API รวมถึงการสร้างรายการเรียกเก็บเงิน อาจเริ่มล้มเหลวโดยไม่มีการแจ้งเตือนล่วงหน้า เมื่อใบรับรองที่ไลบรารีของคุณ pinning ไว้ไม่สามารถใช้งานได้อีกต่อไป

เนื้อหาที่เกี่ยวข้อง

มีคำถามเพิ่มเติมหรือไม่? ติดต่อฝ่ายสนับสนุนของ Omiseได้โดยตรง

เว็ปไซต์นี้มีการใช้คุกกี้เพื่อวิเคราะห์การใช้และปรับการใช้งานให้เหมาะกับท่าน เมื่อกดยอมรับหรือยังคงเข้าชมเว็บไซต์ต่อ เราถือว่าท่านยินยอมในการใช้งานคุกกี้ของเว็บไซต์ อ่านนโยบายความเป็นส่วนตัว