ค้นหาการคืนเงิน
ค้นหาและกรองการคืนเงินเพื่อค้นหาธุรกรรมตาม metadata จำนวนเงิน สถานะ และอื่นๆ Search API มีความสามารถในการค้นหาข้อความแบบเต็มที่ทรงพลังในการคืนเงินทั้งหมด
พารามิเตอร์คำขอ
จำเป็น - 1 ฟิลด์พารามิเตอร์ที่จำเป็น
`scope`STRING(required)
ขอบเขตการค้นหา ต้องตั้งค่าเป็น "refund" เพื่อค้นหาการคืนเงิน
แนะนำ - 2 ฟิลด์พารามิเตอร์ที่แนะนำ
`query`STRING(optional)
สตริงคำค้นหา ค้นหาใน metadata ของการคืนเงิน ข้อมูล charge และรายละเอียดธุรกรรม รองรับหลายคำ (ตรรกะ AND) และการจับคู่บางส่วน
`filters`OBJECT(optional)
เกณฑ์การกรองเพื่อจำกัดผลการค้นหา ตัวกรองทั่วไปรวมถึง status, currency, amount, voided และช่วงวันที่สร้าง
เพิ่มเติม - 3 ฟิลด์พารามิเตอร์เพิ่มเติม
การตอบกลับ
200
ค้นหาสำเร็จค้นหาเสร็จสมบูรณ์ คืนค่าออบเจกต์ผลการค้นหาพร้อมการคืนเงินที่ตรงกันในอาร์เรย์ data
การตอบกลับประกอบด้วย:
data- อาร์เรย์ของออบเจกต์การคืนเงินที่ตรงกับเกณฑ์การค้นหาtotal- จำนวนผลลัพธ์ทั้งหมดที่ตรงกับการค้นหาtotal_pages- จำนวนหน้าที่มีpage- หมายเลขหน้าปัจจุบันper_page- จำนวนผลลัพธ์ต่อหน้าorder- ลำดับการเรียงที่ใช้ (chronological หรือ reverse_chronological)
400
คำขอไม่ถูกต้องการตรวจสอบคำขอล้มเหลว ตรวจสอบข้อความแสดงข้อผิดพลาดสำหรับรายละเอียด
สาเหตุทั่วไป:
- ไม่มีพารามิเตอร์
scopeที่จำเป็น - หมายเลขหน้าไม่ถูกต้อง (ต่ำกว่า 1)
- ค่า per_page ไม่ถูกต้อง (มากกว่า 100 หรือต่ำกว่า 1)
- ออบเจกต์ filters มีรูปแบบไม่ถูกต้อง
401
ไม่ได้รับอนุญาตการยืนยันตัวตนล้มเหลว คีย์ API ไม่ถูกต้องหรือไม่มี
สาเหตุทั่วไป:
- ไม่ มี Authorization header
- Secret key ไม่ถูกต้อง
- ใช้ public key แทน secret key
- รูปแบบ HTTP Basic Auth ไม่ถูกต้อง
404
ไม่พบไม่พบทรัพยากรที่ร้องขอ
สาเหตุทั่วไป:
- URL endpoint API ไม่ถูกต้อง
- เส้นทาง URL ไม่ถูกต้อง
422
ขอบเขตไม่ถูกต้องขอบเขตการค้นหาที่ให้มาไม่ถูกต้อง
สาเหตุทั่วไป:
- พารามิเตอร์ scope ไม่ใช่ "refund"
- ค่า scope ไม่ถูกต้อง
5xx
ข้อผิดพลาดเซิร์ฟเวอร์เกิดข้อผิดพลาดฝั่งเซิร์ฟเวอร์ กรณีเหล่านี้พบได้น้อยแต่ควรจัดการอย่างเหมาะสม
วิธีการจัดการ:
- ลองส่งคำขอใหม่ด้วย exponential backoff
- ตรวจสอบ status.omise.co สำหรับเหตุการณ์บริการ
- ดู การจัดการข้อผิดพลาด สำหรับคำแนะนำโดยละเอียด
ตัวอย่างโค้ด
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/search \
-u skey_test_5xuy4w91xqz7d1w9u0t: \
-d "scope=refund" \
-d "query=order refund" \
-d "filters[status]=successful" \
-d "filters[currency]=thb"
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
results = Omise::Search.execute({
scope: 'refund',
query: 'order refund',
filters: {
status: 'successful',
currency: 'thb'
}
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
results = omise.Search.execute(
scope='refund',
query='order refund',
filters={
'status': 'successful',
'currency': 'thb'
}
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const results = await omise.search.execute({
scope: 'refund',
query: 'order refund',
filters: {
status: 'successful',
currency: 'thb'
}
});
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$results = OmiseSearch::execute([
'scope' => 'refund',
'query' => 'order refund',
'filters' => [
'status' => 'successful',
'currency' => 'thb'
]
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Map<String, Object> filters = new HashMap<>();
filters.put("status", "successful");
filters.put("currency", "thb");
SearchResult<Refund> results = client.search()
.scope("refund")
.query("order refund")
.filters(filters)
.send();
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var results = await client.Search.Execute(new SearchRequest
{
Scope = "refund",
Query = "order refund",
Filters = new Dictionary<string, object>
{
{ "status", "successful" },
{ "currency", "thb" }
}
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
results, _ := client.Search(&operations.SearchRefunds{
Scope: "refund",
Query: "order refund",
Filters: map[string]interface{}{
"status": "successful",
"currency": "thb",
},
})
รหัสข้อผิดพลาดและผลลัพธ์
รหัสข้อผิดพลาดทั่วไป
| รหัส | คำอธิบาย | วิธีแก้ไข |
|---|---|---|
bad_request | พารามิเตอร์ขาดหายหรือไม่ถูกต้อง | ตรวจสอบว่าระบุ scope และพารามิเตอร์ถูกต้อง |
authentication_failure | คีย์ API ไม่ถูกต้อง | ตรวจสอบว่า secret key ของคุณถูกต้อง |
invalid_scope | ขอบเขตการค้นหาไม่ถูกต้อง | ตรวจสอบให้แน่ใจว่า scope ตั้งค่าเป็น "refund" |
ตัวเลือกตัวกรองการค้นหา
| ตัวกรอง | ประเภท | คำอธิบาย |
|---|---|---|
status | string | สถานะการคืนเงิน (pending, successful, failed) |
currency | string | รหัสสกุลเงิน (thb, jpy, sgd, myr, usd ฯลฯ) |
amount | integer | จำนวนเงินที่แน่นอนในหน่วยสกุลเงินที่เล็กที่สุด |
voided | boolean | การคืนเงินถูกดำเนินการเป็นการยกเลิกหรือไม่ (true/false) |
created | object | ตัวกรองช่วงวันที่ (เช่น {gte: '2025-01-01', lte: '2025-01-31'}) |
รหัสสถานะการคืนเงิน
| สถานะ | คำอธิบาย |
|---|---|
pending | กำลังดำเนินการคืนเงิน |
successful | คืนเงินสำเร็จ |
failed | คืนเงินล้มเหลว (พบได้น้อย) |
ข้อมูลยืนยันตัวตน API
ลองใช้งาน
จำเป็น - 1 ฟิลด์
แนะนำ - 2 ฟิลด์
เพิ่มเติม - 3 ฟิลด์
IP ของคุณ:
...กำลังโหลด...