ดึงข้อมูล Occurrence
ดึงรายละเอียดเกี่ยวกับ occurrence ของ schedule เฉพาะ แต่ละ occurrence แสดงถึงการดำเนินการหนึ่งครั้งของ schedule ที่เกิดขึ้นซ้ำ ใช้ endpoint นี้เพื่อตรวจสอบว่าการชำระเงินที่กำหนดเวลาไว้สำเร็จหรือไม่ ตรวจสอบ charges ที่ล้มเหลว และติดตามข้อมูลการลองใหม่
พารามิเตอร์คำขอ
จำเป็น - 1 ฟิลด์พารามิเตอร์ Path
`id`STRING(required)
ID ของ occurrence ที่ต้องการดึงข้อมูล ID ของ occurrence เริ่มต้นด้วย occu_ ตามด้วย test_ สำหรับโหมดทดสอบ
การตอบกลับ
200
ดึงข้อมูลสำเร็จส่งคืนออบเจกต์ occurrence พร้อมรายละเอียดการดำเนินการ สถานะ และข้อมูลผลลัพธ์
ออบเจกต์ occurrence รวมถึง:
object- ค่า "occurrence"id- ตัวระบุ occurrence (occu_*)livemode- โหมด live หรือ testlocation- เส้นทาง API ไปยังออบเจกต์ occurrencemessage- คำอธิบายสำหรับความล้มเหลวหากการประมวลผลล้มเหลวprocessed_at- วันเวลา UTC ของการประมวลผล occurrence (ISO 8601)result- ผลลัพธ์ของการประมวลผล occurrence (charge หรือ transfer ID)retry_on- วันที่ลองใหม่หากการประมวลผลล้มเหลว (วันที่ ISO 8601)schedule- schedule ที่ occurrence นี้เป็นสมาชิก (ขยายได้)scheduled_on- วันที่ที่ occurrence ถูกกำหนดเวลา (วันที่ ISO 8601)status- สถานะของ occurrence: skipped, failed หรือ successfulcreated_at- timestamp การสร้าง occurrence (ISO 8601)
401
ไม่ได้รับอนุญาตการยืนยันตัวตนล้มเหลว API key ไม่ถูกต้องหรือขาดหายไป
สาเหตุทั่วไป:
- ขาด Authorization header
- Secret key ไม่ถูกต้อง
- ใช้ public key แทน secret key
- รูปแบบ HTTP Basic Auth ไม่ถูกต้อง
404
ไม่พบไม่พบ occurrence หรือไม่มีอยู่
สาเหตุทั่วไป:
- ID occurrence ไม่ถูกต้อง
- ID occurrence จากบัญชีอื่น
- ใช้ key ผสมระหว่าง test และ live
5xx
เซิร์ฟเวอร์ errorเกิด error ฝั่งเซิร์ฟเวอร์ กรณีนี้พบได้น้อยแต่ควรจัดการอย่างเหมาะสม
วิธีจัดการ:
- ลองส่งคำขอใหม่ด้วย exponential backoff
- ตรวจสอบ status.omise.co สำหรับเหตุการณ์บริการ
- ดู การจัดการ Error สำหร ับคำแนะนำโดยละเอียด
ตัวอย่างโค้ด
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/occurrences/occu_test_5xuy4w91xqz7d1w9u0t \
-u skey_test_5xuy4w91xqz7d1w9u0t:
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
occurrence = Omise::Occurrence.retrieve('occu_test_5xuy4w91xqz7d1w9u0t')
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
occurrence = omise.Occurrence.retrieve('occu_test_5xuy4w91xqz7d1w9u0t')
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const occurrence = await omise.occurrences.retrieve('occu_test_5xuy4w91xqz7d1w9u0t');
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$occurrence = OmiseOccurrence::retrieve('occu_test_5xuy4w91xqz7d1w9u0t');
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Occurrence occurrence = client.occurrences().get("occu_test_5xuy4w91xqz7d1w9u0t");
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var occurrence = await client.Occurrences.Get("occu_test_5xuy4w91xqz7d1w9u0t");
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
occurrence, _ := client.GetOccurrence("occu_test_5xuy4w91xqz7d1w9u0t")