ดึงการคืนเงิน
ดึงข้อมูลรายละเอียดเกี่ยวกับการคืนเงินเฉพาะรายการ รวมถึงสถานะ จำนวนเงิน และธุรกรรมที่เกี่ยวข้อง
พารามิเตอร์คำขอ
จำเป็น - 2 ฟิลด์พารามิเตอร์ที่จำเป็น
`charge_id`STRING(required)
รหัส Charge ที่ถูกคืนเงิน (พารามิเตอร์ใน path)
`refund_id`STRING(required)
รหัสการคืนเงินที่ต้องการดึง (พารามิเตอร์ใน path) รูปแบบ: rfnd_test_ หรือ rfnd_live_ ตามด้วยสตริงตัวอักษรและตัวเลข
การตอบกลับ
200
ดึงข้อมูลสำเร็จคืนค่าออบเจกต์การคืนเงินพร้อมรายละเอียดทั้งหมด รวมถึงสถานะ จำนวนเงิน และเวลา
การตอบกลับประกอบด้วย:
object- ค่า "refund"id- ตัวระบุการคืนเงิน (rfnd_*)livemode- โหมด live หรือ testlocation- เส้นทาง API ไปยังออบเจกต์การคืนเงินacquirer_reference_number- หมายเลขอ้างอิงที่ส่งไปยังเครือข่ายบัตรamount- จำนวนเงินที่คืนในหน่วยสกุลเงินที่เล็กที่สุดapproval_code- หมายเลขอ้างอิงสำหรับธุรกรรมที่อนุมัติcapture- การอ้างอิงการบันทึกcharge- รหัส charge ที่เกี่ยวข้อง (ขยายได้)currency- รหัสสกุลเงิน ISO 4217 สามตัวอักษรfunding_amount- จำนวนเงินในสกุลเงินที่ชำระfunding_currency- รหัสสกุลเงินที่ชำระmerchant_name- ชื่อร้านค้าย่อย (Payfac เท่านั้น)merchant_uid- รหัสร้านค้าย่อย (Payfac เท่านั้น)metadata- ข้อมูลเมตาที่กำหนดเองที่แนบกับการคืนเงินstatus- สถานะการคืนเงินปัจจุบัน (pending, successful, failed)terminal- สถานที่จุดขายเดิมtransaction- รหัสธุรกรรมที่เกี่ยวข้อง (ขยายได้)voided- การคืนเงินถูกดำเนินการเป็นการยกเลิกหรือไม่created_at- เวลาที่สร้างการคืนเงิน (ISO 8601)
401
ไม่ได้รับอนุญาตการยืนยันตัวตนล้มเหลว คีย์ API ไม่ถูกต้องหรือไม่มี
สาเหตุทั่วไป:
- ไม่มี Authorization header
- Secret key ไม่ถูกต้อง
- ใช้ public key แทน secret key
- รูปแบบ HTTP Basic Auth ไม่ถูกต้อง
404
ไม่พบไม่พบการคืนเงินหรือ charge
สาเหตุทั่วไป:
- รหัสการคืนเงินไม่ถูกต้อง
- รหัส charge ไม่ถูกต้อง
- การคืนเงินเป็นของ charge อื่น
- การคืนเงินหรือ charge เป็นของบัญชีอื่น
- พิมพ์รหัสผิดหรือมีข้อผิดพลาดในรูปแบบ
5xx
ข้อผิดพลาดเซิร์ฟเว อร์เกิดข้อผิดพลาดฝั่งเซิร์ฟเวอร์ กรณีเหล่านี้พบได้น้อยแต่ควรจัดการอย่างเหมาะสม
วิธีการจัดการ:
- ลองส่งคำขอใหม่ด้วย exponential backoff
- ตรวจสอบ status.omise.co สำหรับเหตุการณ์บริการ
- ดู การจัดการข้อผิดพลาด สำหรับคำแนะนำโดยละเอียด
ตัวอย่างโค้ด
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/charges/chrg_test_5xuy4w91xqz7d1w9u0t/refunds/rfnd_test_5xuy4w91xqz7d1w9u0t \
-u skey_test_5xuy4w91xqz7d1w9u0t:
require 'omise'
Omise.api_key = 'skey_test_5xuy4w91xqz7d1w9u0t'
refund = Omise::Refund.retrieve('rfnd_test_5xuy4w91xqz7d1w9u0t', {
charge: 'chrg_test_5xuy4w91xqz7d1w9u0t'
})
import omise
omise.api_secret = 'skey_test_5xuy4w91xqz7d1w9u0t'
refund = omise.Refund.retrieve('rfnd_test_5xuy4w91xqz7d1w9u0t',
charge='chrg_test_5xuy4w91xqz7d1w9u0t'
)
const omise = require('omise')({
secretKey: 'skey_test_5xuy4w91xqz7d1w9u0t'
});
const refund = await omise.refunds.retrieve('chrg_test_5xuy4w91xqz7d1w9u0t', 'rfnd_test_5xuy4w91xqz7d1w9u0t');
<?php
define('OMISE_SECRET_KEY', 'skey_test_5xuy4w91xqz7d1w9u0t');
$refund = OmiseRefund::retrieve('rfnd_test_5xuy4w91xqz7d1w9u0t', [
'charge' => 'chrg_test_5xuy4w91xqz7d1w9u0t'
]);
Client client = new Client.Builder()
.secretKey("skey_test_5xuy4w91xqz7d1w9u0t")
.build();
Refund refund = client.refunds().get("chrg_test_5xuy4w91xqz7d1w9u0t", "rfnd_test_5xuy4w91xqz7d1w9u0t");
var client = new Client("skey_test_5xuy4w91xqz7d1w9u0t");
var refund = await client.Refunds.Get("chrg_test_5xuy4w91xqz7d1w9u0t", "rfnd_test_5xuy4w91xqz7d1w9u0t");
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"skey_test_5xuy4w91xqz7d1w9u0t",
)
refund, _ := client.GetRefund("chrg_test_5xuy4w91xqz7d1w9u0t", "rfnd_test_5xuy4w91xqz7d1w9u0t")