テストカード番号とテストデータ
Omise のテスト環境ですべての支払いシナリオをテストするための完全なテストカード番号と支払いデータです。これらのカードを使用して、成功支払い、拒否、3D Secure 認証、さまざまな失敗シナリオをシミュレートできます。
概要
Omise は、サポートされているすべての支払い方法に対応する包括的なテストデータを提供しています。これらのテストカードと支払い方法により、本番環境に移行する前に統合を徹底的にテストでき、成功シナリオ、拒否理由、不正検出、3D Secure 認証、地域の支払い方法をカバーできます。
主な機能
- 完全なカード対応: すべての主要なカードブランド用のテストカード
- 3D Secure テスト: 成功および失敗した認証の両方をテスト
- 拒否シナリオ: 特定の拒否理由とレスポンスをテスト
- 地域方法: サポートされている各市場のカードと支払い方法
- 実世界シナリオ: エッジケースと特殊条件をテスト
- CVV と有効期限テスト: 検証とセキュリティチェックをテスト
標準テストカード
成功支払いカード
成功支払いシナリオをテストするには、これらのカードを使用してください:
| カードブランド | カード番号 | CVV | 有効期限 | 3D Secure | 説明 |
|---|---|---|---|---|---|
| Visa | 4242424242424242 | 任意の3桁 | 任意の将来の日付 | 登録されていない | 標準的な成功支払い |
| Visa | 4111111111111111 | 任意の3桁 | 任意の将来の日付 | 登録されていない | 代替 Visa テストカード |
| Mastercard | 5555555555554444 | 任意の3桁 | 任意の将来の日付 | 登録されていない | 標準的な成功支払い |
| Mastercard | 5454545454545454 | 任意の3桁 | 任意の将来の日付 | 登録されていない | 代替 Mastercard テストカード |
| JCB | 3530111333300000 | 任意の3桁 | 任意の将来の日付 | 登録されていない | 標準 JCB 支払い |
| American Express | 378282246310005 | 任意の4桁 | 任意の将来の日付 | 登録されていない | 標準 Amex 支払い |
| American Express | 371449635398431 | 任意の4桁 | 任意の将来の日付 | 登録されていない | 代替 Amex テストカード |
| Diners Club | 36227206271667 | 任意の3桁 | 任意の将来の日付 | 登録されていない | 標準 Diners 支払い |
| Discover | 6011111111111117 | 任意の3桁 | 任意の将来の日付 | 登録されていない | 標準 Discover 支払い |
重要な注釈
- CVV: 有効な CVV を使用してください (ほとんどのカードは 3 桁、American Express は 4 桁)
- 有効期限: MM/YY または MM/YYYY 形式で将来の日付を使用してください
- カード名義人: 任意の名前を使用してください (最小 2 文字)
- 金額: さまざまな支払い金額をテストす るには、任意の有効な金額を使用してください
3D Secure テストカード
成功 3D Secure 認証
3D Secure 認証が必要で正常に完了するカード:
| カードブランド | カード番号 | CVV | 有効期限 | 認証 | 説明 |
|---|---|---|---|---|---|
| Visa | 4000000000000002 | 任意の3桁 | 任意の将来の日付 | 成功 | 3DS 登録済み、認証成功 |
| Mastercard | 5200000000000007 | 任意の3桁 | 任意の将来の日付 | 成功 | 3DS 登録済み、認証成功 |
| JCB | 3530111333300001 | 任意の3桁 | 任意の将来の日付 | 成功 | 3DS 登録済み、認証成功 |
失敗 3D Secure 認証
3D Secure 認証に失敗するカード:
| カードブランド | カード番号 | CVV | 有効期限 | 認証 | 説明 |
|---|---|---|---|---|---|
| Visa | 4000000000000010 | 任意の3桁 | 任意の将来の日付 | 失敗 | 3DS 登録済み、認証失敗 |
| Mastercard | 5200000000000015 | 任意の3桁 | 任意の将来の日付 | 失敗 | 3DS 登録済み、認証失敗 |
| Visa | 4000000000000028 | 任意の3桁 | 任意の将来の日付 | 拒否 | 3DS 登録済み、発行者により拒否 |
3D Secure 認証フロー
// JavaScript - 3D Secure 支払いのテスト
const Omise = require('omise')({
secretKey: 'skey_test_xxxxxxxxxx',
omiseVersion: '2019-05-29'
});
async function test3DSecurePayment() {
try {
// 1. 3DS テストカードでトークンを作成
const token = await Omise.tokens.create({
card: {
name: 'Test User',
number: '4000000000000002', // 3DS enrolled card
expiration_month: 12,
expiration_year: 2026,
security_code: '123'
}
});
// 2. チャージを作成 (3DS の authorize_uri が返される)
const charge = await Omise.charges.create({
amount: 100000, // 1,000.00 THB
currency: 'THB',
card: token.id,
return_uri: 'https://example.com/orders/complete'
});
console.log('Charge Status:', charge.status); // 'pending'
console.log('3DS Authorization URL:', charge.authorize_uri);
// 顧客が authorize_uri で 3DS 認証を完了
// 完了後、return_uri にリダイレクトされます
// 3. チャージを取得して最終ステータスを確認
const updatedCharge = await Omise.charges.retrieve(charge.id);
console.log('Final Status:', updatedCharge.status); // 'successful'
} catch (error) {
console.error('Error:', error.message);
}
}
test3DSecurePayment();
# Python - 3D Secure 支払いのテスト
import omise
omise.api_secret = 'skey_test_xxxxxxxxxx'
omise.api_version = '2019-05-29'
def test_3ds_payment():
try:
# 1. 3DS テストカードでトークンを作成
token = omise.Token.create(
card={
'name': 'Test User',
'number': '4000000000000002', # 3DS enrolled card
'expiration_month': 12,
'expiration_year': 2026,
'security_code': '123'
}
)
# 2. チャージを作成 (3DS の authorize_uri が返される)
charge = omise.Charge.create(
amount=100000, # 1,000.00 THB
currency='THB',
card=token.id,
return_uri='https://example.com/orders/complete'
)
print(f'Charge Status: {charge.status}') # 'pending'
print(f'3DS Authorization URL: {charge.authorize_uri}')
# 顧客が authorize_uri で 3DS 認証を完了
# 完了後、return_uri にリダイレクトされます
# 3. チャージを取得して最終ステータスを確認
updated_charge = omise.Charge.retrieve(charge.id)
print(f'Final Status: {updated_charge.status}') # 'successful'
except omise.errors.BaseError as e:
print(f'Error: {e.message}')
test_3ds_payment()
# Ruby - 3D Secure 支払いのテスト
require 'omise'
Omise.api_key = 'skey_test_xxxxxxxxxx'
Omise.api_version = '2019-05-29'
def test_3ds_payment
begin
# 1. 3DS テストカードでトークンを作成
token = Omise::Token.create(
card: {
name: 'Test User',
number: '4000000000000002', # 3DS enrolled card
expiration_month: 12,
expiration_year: 2026,
security_code: '123'
}
)
# 2. チャージを作成 (3DS の authorize_uri が返される)
charge = Omise::Charge.create(
amount: 100_000, # 1,000.00 THB
currency: 'THB',
card: token.id,
return_uri: 'https://example.com/orders/complete'
)
puts "Charge Status: #{charge.status}" # 'pending'
puts "3DS Authorization URL: #{charge.authorize_uri}"
# 顧客が authorize_uri で 3DS 認証を完了
# 完了後、return_uri にリダイレクトされます
# 3. チャージを取得して最終ステータスを確認
updated_charge = Omise::Charge.retrieve(charge.id)
puts "Final Status: #{updated_charge.status}" # 'successful'
rescue Omise::Error => e
puts "Error: #{e.message}"
end
end
test_3ds_payment
<?php
// PHP - 3D Secure 支払いのテスト
require_once 'vendor/autoload.php';
define('OMISE_API_VERSION', '2019-05-29');
define('OMISE_SECRET_KEY', 'skey_test_xxxxxxxxxx');
function test3DSecurePayment() {
try {
// 1. 3DS テストカードでトークンを作成
$token = OmiseToken::create([
'card' => [
'name' => 'Test User',
'number' => '4000000000000002', // 3DS enrolled card
'expiration_month' => 12,
'expiration_year' => 2026,
'security_code' => '123'
]
]);
// 2. チャージを作成 (3DS の authorize_uri が返される)
$charge = OmiseCharge::create([
'amount' => 100000, // 1,000.00 THB
'currency' => 'THB',
'card' => $token['id'],
'return_uri' => 'https://example.com/orders/complete'
]);
echo "Charge Status: {$charge['status']}\n"; // 'pending'
echo "3DS Authorization URL: {$charge['authorize_uri']}\n";
// 顧客が authorize_uri で 3DS 認証を完了
// 完了後、return_uri にリダイレクトされます
// 3. チャージを取得して最終ステータスを確認
$updatedCharge = OmiseCharge::retrieve($charge['id']);
echo "Final Status: {$updatedCharge['status']}\n"; // 'successful'
} catch (Exception $e) {
echo "Error: {$e->getMessage()}\n";
}
}
test3DSecurePayment();
?>
// Go - 3D Secure 支払いのテスト
package main
import (
"fmt"
"github.com/omise/omise-go"
"github.com/omise/omise-go/operations"
)
func test3DSecurePayment() {
client, _ := omise.NewClient(
"pkey_test_xxxxxxxxxx",
"skey_test_xxxxxxxxxx",
)
client.APIVersion = "2019-05-29"
// 1. 3DS テストカードでトークンを作成
token, createTokenErr := client.CreateToken(&operations.CreateToken{
Name: "Test User",
Number: "4000000000000002", // 3DS enrolled card
ExpirationMonth: 12,
ExpirationYear: 2026,
SecurityCode: "123",
})
if createTokenErr != nil {
fmt.Printf("Error creating token: %v\n", createTokenErr)
return
}
// 2. チャージを作成 (3DS の authorize_uri が返される)
charge, createChargeErr := client.CreateCharge(&operations.CreateCharge{
Amount: 100000, // 1,000.00 THB
Currency: "THB",
Card: token.ID,
ReturnURI: "https://example.com/orders/complete",
})
if createChargeErr != nil {
fmt.Printf("Error creating charge: %v\n", createChargeErr)
return
}
fmt.Printf("Charge Status: %s\n", charge.Status) // 'pending'
fmt.Printf("3DS Authorization URL: %s\n", charge.AuthorizeURI)
// 顧客が authorize_uri で 3DS 認証を完了
// 完了後、return_uri にリダイレクトされます
// 3. チャージを取得して最終ステータスを確認
updatedCharge, retrieveErr := client.GetCharge(charge.ID)
if retrieveErr != nil {
fmt.Printf("Error retrieving charge: %v\n", retrieveErr)
return
}
fmt.Printf("Final Status: %s\n", updatedCharge.Status) // 'successful'
}
func main() {
test3DSecurePayment()
}