สร้าง Token
สร้าง Token แบบใช้ครั้งเดียวจากข้อมูลบัตรเครดิต Token เป็นตัวแทนข้อมูลบัตรที่ปลอดภัย และสามารถใช้สร้างการเรียกเก็บเงินโดยไม่ต้องจัดการข้อมูลบัตรที่ละเอียดอ่อนบนเซิร์ฟเวอร์ของคุณ
พารามิเตอร์คำขอ
จำเป็น - 4 ฟิลด์พารามิเตอร์ที่จำเป็น
`card[name]`STRING(required)
ชื่อผู้ถือบัตรตามที่ปรากฏบนบัตร
`card[number]`STRING(required)
หมายเลขบัตรโดยไม่มีเว้นวรรคหรือขีด 13-19 หลักขึ้นอยู่กับประเภทบัตร
`card[expiration_month]`INTEGER(required)
เดือนหมดอายุบัตรในรูปแบบ M หรือ MM
`card[expiration_year]`INTEGER(required)
ปีหมดอายุบัตรในรูปแบบ YY หรือ YYYY
แนะนำ - 7 ฟิลด์พารามิเตอร์ที่แนะนำ
เพิ่มเติม - 2 ฟิลด์พารามิเตอร์เพิ่มเติม
การตอบกลับ
200
ทำรายการสำเร็จสร้าง Token สำเร็จ ใช้ Token ID เพื่อสร้างการเรียกเก็บเงินหรือผูกกับลูกค้า
การตอบกลับประกอบด้วย:
id- Token ID (tokn_*) สำหรับใช้เมื่อสร้างการเรียกเก็บเงินused- Token ถูกใช้งานแล้วหรือไม่ (false สำหรับ Token ใหม่)card- ออบเจกต์บัตรพร้อมข้อมูลที่ปกป้องแล้ว (เฉพาะ 4 หลักสุดท้าย)card.brand- แบรนด์บัตร (Visa, Mastercard, JCB ฯลฯ)card.last_digits- 4 หลักสุดท้ายของหมายเลขบัตรcard.security_code_check- CVV ได้รับการตรวจสอบแล้วหรือไม่charge_status- สถานะของการเรียกเก็บเงินที่สร้างด้วย Token (null หากยังไม่ได้ใช้)created_at- เวลาที่สร้าง Token (ISO 8601)
400
คำขอไม่ถูกต้องการตรวจสอบคำขอล้มเหลว ตรวจสอบข้อความแสดงข้อผิดพลาดสำหรับรายละเอียด
สาเหตุที่พบบ่อย:
- ขาดฟิลด์ที่จำเป็น (
card[name],card[number],card[expiration_month],card[expiration_year]) - รูปแบบหมายเลขบัตรไม่ถูกต้อง
- วันหมดอายุไม่ถูกต้อง
- หมายเลขบัตรมีเว้นวรรคหรือขีด
401
ไม่ได้รับอนุญาตการยืนยันตัวตนล้มเหลว API Key ไม่ถูกต้องหรือไม่มี
สาเหตุที่พบบ่อย:
- ไม่มี Authorization header
- Public Key ไม่ถูกต้อง
- ใช้ Secret Key แทน Public Key
- รูปแบบ HTTP Basic Auth ไม่ถูกต้อง
402
ต้องชำระเงินการตรวจสอบบัตรล้มเหลว
สาเหตุที่พบบ่อย:
- หมายเลขบัตรไม่ผ่านการตรวจสอบ Luhn
- บัตรหมดอายุ
- รูปแบบรหัสความปลอดภัยไม่ถูกต้อง
- แบรนด์บัตรไม่รองรับ
5xx
ข้อผิดพลาดเซิร์ฟเวอร์เกิดข้อผิดพลาดฝั่งเซิร์ฟเวอร์ เกิดขึ้นได้ยากแต่ควรจัดการอย่างเหมาะสม
วิธีจัดการ:
- ลองคำขอใหม่ด้วย exponential backoff
- ตรวจสอบ status.omise.co สำหรับเหตุการณ์บริการ
- ดู การจัดการข้อผิดพลาด สำหรับคำแนะนำโดยละเอียด
ตัวอย่างโค้ด
- cURL
- Ruby
- Python
- Node.js
- PHP
- Java
- C#
- Go
curl https://vault.omise.co/tokens \
-u pkey_test_5xuy4w91xqz7d1w9u0t: \
-d "card[name]=JOHN DOE" \
-d "card[number]=4242424242424242" \
-d "card[expiration_month]=12" \
-d "card[expiration_year]=2025" \
-d "card[security_code]=123"
require 'omise'
Omise.api_key = 'pkey_test_5xuy4w91xqz7d1w9u0t'
token = Omise::Token.create({
card: {
name: 'JOHN DOE',
number: '4242424242424242',
expiration_month: 12,
expiration_year: 2025,
security_code: '123'
}
})
import omise
omise.api_public = 'pkey_test_5xuy4w91xqz7d1w9u0t'
token = omise.Token.create(
card={
'name': 'JOHN DOE',
'number': '4242424242424242',
'expiration_month': 12,
'expiration_year': 2025,
'security_code': '123'
}
)
const omise = require('omise')({
publicKey: 'pkey_test_5xuy4w91xqz7d1w9u0t'
});
const token = await omise.tokens.create({
card: {
name: 'JOHN DOE',
number: '4242424242424242',
expiration_month: 12,
expiration_year: 2025,
security_code: '123'
}
});
<?php
define('OMISE_PUBLIC_KEY', 'pkey_test_5xuy4w91xqz7d1w9u0t');
$token = OmiseToken::create([
'card' => [
'name' => 'JOHN DOE',
'number' => '4242424242424242',
'expiration_month' => 12,
'expiration_year' => 2025,
'security_code' => '123'
]
]);
Client client = new Client.Builder()
.publicKey("pkey_test_5xuy4w91xqz7d1w9u0t")
.build();
Token token = client.tokens().create()
.card(new Card.Create()
.name("JOHN DOE")
.number("4242424242424242")
.expirationMonth(12)
.expirationYear(2025)
.securityCode("123"))
.send();
var client = new Client("pkey_test_5xuy4w91xqz7d1w9u0t");
var token = await client.Tokens.Create(new CreateTokenRequest
{
Card = new CardRequest
{
Name = "JOHN DOE",
Number = "4242424242424242",
ExpirationMonth = 12,
ExpirationYear = 2025,
SecurityCode = "123"
}
});
client, _ := omise.NewClient(
"pkey_test_5xuy4w91xqz7d1w9u0t",
"",
)
token, _ := client.Tokens().Create(&operations.CreateToken{
Name: "JOHN DOE",
Number: "4242424242424242",
ExpirationMonth: 12,
ExpirationYear: 2025,
SecurityCode: "123",
})
รหัสข้อผิดพลาดและผลลัพธ์
รหัสข้อผิดพลาดที่พบบ่อย
| รหัส | คำอธิบาย | วิธีแก้ไข |
|---|---|---|
bad_request | พารามิเตอร์ไม่มีหรือไม่ถูกต้อง | ตรวจสอบว่ามีฟิลด์ที่จำเป็นทั้งหมด |
authentication_failure | API Key ไม่ถูกต้อง | ตรวจสอบว่า Public Key ของคุณถูกต้อง |
invalid_card | หมายเลขบัตรไม่ถูกต้อง | ตรวจสอบว่าหมายเลขบัตรผ่านการตรวจสอบ Luhn |
invalid_expiration_date | บัตรหมดอายุหรือวันที่ไม่ถูกต้อง | ตรวจสอบเดือนและปีหมดอายุ |
invalid_security_code | รูปแบบ CVV ไม่ถูกต้อง | ตรวจสอบว่า CVV มี 3-4 หลัก |
used_token | Token ถูกใช้งานแล้ว | สร้าง Token ใหม่สำหรับแต่ละการเรียกเก็บเงิน |
หมายเลขบัตรทดสอบ
| หมายเลขบัตร | แบรนด์ | 3D Secure |
|---|---|---|
| 4242424242424242 | Visa | ไม่ |
| 4000000000003063 | Visa | ใช่ |
| 5555555555554444 | Mastercard | ไม่ |
| 4111111111111111 | Visa | ไม่ |
ข้อมูลยืนยันตัวตน API
ลองใช้งาน
จำเป็น - 4 ฟิลด์
แนะนำ - 7 ฟิลด์
เพิ่มเติม - 2 ฟิลด์
IP ของคุณ:
...กำลังโหลด...