สร้าง Source
สร้างแหล่งชำระเงินสำหรับวิธีการชำระเงินทางเลือก Source ช่วยให้ลูกค้าสามารถชำระเงินผ่าน PromptPay QR code, โมบายแบงก์กิ้ง, อินเทอร์เน็ตแบงก์กิ้ง, ผ่อนชำระ และอื่นๆ
ข้อมูลยืนยันตัวตน API
พารามิเตอร์คำขอ
จำเป็น - 3 รายการพารา มิเตอร์ที่จำเป็น
`amount`INTEGER(required)
จำนวนเงินในหน่วยสกุลเงินที่เล็กที่สุด (สตางค์สำหรับ THB, เซนต์สำหรับ USD, เยนสำหรับ JPY) ตัวอย่าง: 100000 สตางค์ = 1,000 THB
`currency`STRING(required)
รหัสสกุลเงินตัวอักษรสามตัวตาม ISO 4217 เป็นตัวพิมพ์เล็ก ต้องตรงกับประเภทวิธีการชำระเงิน
`type`STRING(required)
ประเภทวิธีการชำระเงิน แต่ละประเภทรองรับสกุลเงินที่แตกต่างกัน
แนะนำ - 2 รายการพารามิเตอร์แนะนำ
เพิ่มเติม - 10 รายการพารามิเตอร์เพิ่มเติม
การตอบกลับ
200
สำเร็จสร้าง Source สำเร็จ การตอบกลับจะรวมข้อมูลเฉพาะการชำระเงิน เช่น QR code หรือ redirect URL
ฟิลด์การตอบกลับทั่วไป:
id- Source ID (src_*) ที่ใช้เมื่อสร้างการเรียกเก็บเงินtype- ประเภทวิธีการชำระเงินflow- ขั้นตอนการชำระเงิน: offline (QR code), redirect (เว็บ), หรือ app_redirect (แอปมือถือ)amount- จำนวนเงินของ Source ในหน่วยสกุลเงินที่เล็กที่สุดcurrency- รหัสสกุลเงินscannable_code- ข้อมูล QR code สำหรับการชำระเงินแบบ QRcharge_status- สถานะของการเรียกเก็บเงินที่สร้างด้วย Source นี้
400
คำขอไม่ถูกต้องการตรวจสอบคำขอล้มเหลว โปรดตรวจสอบข้อความแสดงข้อผิดพลาดสำหรับรายละเอียด
สาเหตุทั่วไป:
- ฟิลด์ที่จำเป็นหายไป (
amount,currency,type) - สกุลเงินไม่ถูกต้องสำหรับประเภทการชำระเงิน (เช่น SGD สำหรับ PromptPay)
- ฟิลด์ที่จำเป็นเฉพาะประเภทหายไป (เช่น installment_term สำหรับการผ่อนชำระ)
- ประเภทการชำระเงินไม่ถูกต้อง
401
ไม่ได้รับการยืนยันตัวตนการยืนยันตัวตนล้มเหลว API key ไม่ถูกต้องหรือหายไป
สาเหตุทั่วไป:
- หายไป Authorization header
- public key ไม่ถูกต้อง
- ใช้ secret key แทน public key
- รูปแบบ HTTP Basic Auth ไม่ถูกต้อง
422
ไม่สามารถประมวลผลเอนทิตีได้การตรวจสอบคำขอล้มเหลวเนื่องจากข้อจำกัดของตรรกะทางธุรกิจ
สาเหตุทั่วไป:
- จำนวนเงินต่ำกว่าขั้นต่ำสำหรับประเภทการชำระเงิน
- จำนวนเงินเกินสูงสุดสำหรับประเภทการชำระเงิน
- ประเภทการชำระเงินไม่ได้เปิดใช้งานสำหรับบัญชีของคุณ
- ระยะเวลาผ่อนชำระไม่ถูกต้องสำหรับธนาคารที่เลือก
ตัวอย่างโค้ด
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://api.omise.co/sources \
-u pkey_test_5xuy4w91xqz7d1w9u0t: \
-d "amount=100000" \
-d "currency=thb" \
-d "type=promptpay"
require 'omise'
Omise.api_key = 'pkey_test_5xuy4w91xqz7d1w9u0t'
source = Omise::Source.create({
amount: 100000,
currency: 'thb',
type: 'promptpay'
})
import omise
omise.api_public = 'pkey_test_5xuy4w91xqz7d1w9u0t'
source = omise.Source.create(
amount=100000,
currency='thb',
type='promptpay'
)
const omise = require('omise')({
publicKey: 'pkey_test_5xuy4w91xqz7d1w9u0t'
});
const source = await omise.sources.create({
amount: 100000,
currency: 'thb',
type: 'promptpay'
});
<?php
define('OMISE_PUBLIC_KEY', 'pkey_test_5xuy4w91xqz7d1w9u0t');
$source = OmiseSource::create([
'amount' => 100000,
'currency' => 'thb',
'type' => 'promptpay'
]);
Client client = new Client.Builder()
.publicKey("pkey_test_5xuy4w91xqz7d1w9u0t")
.build();
Source source = client.sources().create()
.amount(100000L)
.currency("thb")
.type("promptpay")
.send();
var client = new Client("pkey_test_5xuy4w91xqz7d1w9u0t");
var source = await client.Sources.Create(new CreateSourceRequest
{
Amount = 100000,
Currency = "thb",
Type = "promptpay"
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"",
)
source, _ := client.Sources().Create(&operations.CreateSource{
Amount: 100000,
Currency: "thb",
Type: "promptpay",
})
รหัสข้อผิดพลาดและผลลัพธ์
รหัสข้อผิดพลาดทั่วไป
| รหัส | คำอธิบาย | วิธีแก้ไข |
|---|---|---|
bad_request | พารามิเตอร์หายไปหรือไม่ถูกต้อง | ตรวจสอบว่ามีฟิลด์ที่จำเป็นทั้งหมด |
authentication_failure | API key ไม่ถูกต้อง | ตรวจสอบว่า public key ของคุณถูกต้อง |
currency_not_supported | สกุลเงินไม่รองรับสำหรับประเภทการชำระเงิน | ตรวจสอบว่าประเภทการชำระเงินรองรับสกุลเงินของคุณ |
amount_too_low | จำนวนเงินต่ำกว่าขั้นต่ำ | ตรวจสอบจำนวนเงินขั้นต่ำสำหรับประเภทการชำระเงิน |
amount_too_high | จำนวนเงินเกินสูงสุด | ตรวจสอบจำนวนเงินสูงสุดสำหรับประเภทการชำระเงิน |
payment_method_not_allowed | ประเภทการชำระเงินไม่ได้เปิดใช้งาน | ติดต่อ Omise เพื่อเปิดใช้งานวิธีการชำระเงิน |
ประเภท Source Flow
| Flow | คำอธิบาย |
|---|---|
offline | ลูกค้าสแกน QR code (PromptPay, Alipay) |
redirect | ลูกค้าถูกเปลี่ยนเส้นทางไปยังหน้าเว็บ (อินเทอร์เน็ตแบงก์กิ้ง) |
app_redirect | ลูกค้าถูกเปลี่ยนเส้นทางไปยังแอปมือถือ (โมบายแบงก์กิ้ง) |
ทดลอง ใช้งาน
จำเป็น - 3 ฟิลด์
แนะนำ - 2 ฟิลด์
เพิ่มเติม - 10 ฟิลด์