メインコンテンツへスキップ

サーバーライブラリ

Omise は複数のプログラミング言語向けの公式サーバー側ライブラリを提供しており、アプリケーションへの決済処理の統合を簡単にしています。当社のライブラリは API 通信、認証、リクエスト署名、エラーハンドリングを処理するため、アプリケーション構築に集中できます。

利用可能なライブラリ

Ruby

omise-ruby gem は Rails 統合と包括的なエラーハンドリング機能を備えた Omise API への Ruby インターフェースを提供します。

Python

omise-python ライブラリは型ヒントと非同期サポート付きの Python 的なインターフェースを提供します。

PHP

omise-php ライブラリは Composer サポート付きの PSR 準拠コードを提供します。

Node.js

omise-node ライブラリは Promise と async/await パターンの両方をサポートし、TypeScript 定義を備えています。

.NET

Omise.Net ライブラリは LINQ サポートと async/await パターンを備えた最新の C# 実装を提供します。

Java

omise-java ライブラリは Optional と Stream API を備えた Java 8+ サポートを提供します。

Go

omise-go ライブラリはゴルーチンサポート付きの Go 的なコードを提供します。

Elixir

omise-elixir ライブラリは Elixir のパターンマッチングと OTP 機能を活用します。

主な機能

すべての Omise サーバーライブラリは以下を提供します:

  • セキュア認証: API キー管理とリクエスト署名
  • 包括的な API カバレッジ: すべての Omise API エンドポイントへのアクセス
  • 型安全性: 言語がサポートしている場合、強い型付けと検証
  • エラーハンドリング: 詳細なエラーメッセージを含む構造化されたエラーハンドリング
  • 冪等性: 重複料金を防ぐための冪等リクエストのサポート
  • テストサポート: 開発用のテストモード構成
  • ウェブフック検証: ウェブフック署名検証用ツール
  • ドキュメント: インラインドキュメントとコード例

一般的な操作

チャージの作成

すべてのライブラリはトークンまたはソースを使用した料金の作成をサポートしています:

# Ruby
charge = Omise::Charge.create(amount: 100_000, currency: 'THB', card: 'tokn_test_123')
# Python
charge = omise.Charge.create(amount=100000, currency='THB', card='tokn_test_123')
// PHP
$charge = OmiseCharge::create(['amount' => 100000, 'currency' => 'THB', 'card' => 'tokn_test_123']);
// Node.js
const charge = await omise.charges.create({ amount: 100000, currency: 'THB', card: 'tokn_test_123' });

顧客の管理

定期的な支払い用の顧客を作成および管理します:

// C#
var customer = await client.Customers.CreateAsync(new CreateCustomerRequest {
Email = "customer@example.com",
Description = "John Doe"
});
// Java
Customer customer = client.customers().create(new CustomerRequest()
.email("customer@example.com")
.description("John Doe"));
// Go
customer, err := client.Customers.Create(&omise.CreateCustomerRequest{
Email: "customer@example.com",
Description: "John Doe",
})
# Elixir
{:ok, customer} = Omise.Customer.create(%{
email: "customer@example.com",
description: "John Doe"
})

ライブラリの選択

サーバーライブラリを選択する際は、以下を考慮してください:

  1. 言語エコシステム: バックエンド言語に合わせたライブラリを選択してください
  2. フレームワーク統合: 一部のライブラリは特定のフレームワーク統合 (Rails、Django、Laravel など) を提供しています
  3. 非同期サポート: アプリケーションが高い並行処理を必要とする場合は、非同期サポート付きのライブラリを選択してください
  4. 型安全性: 大規模なアプリケーションの場合は、強力な型システムを持つ言語 (Java、C#、Go、TypeScript) を検討してください
  5. コミュニティ: すべてのライブラリは Omise によって積極的に保守され、コミュニティの貢献を受けています

はじめに

特定のライブラリを使い始めるには:

  1. プログラミング言語に合わせたライブラリを選択してください
  2. パッケージマネージャーのインストール手順に従ってください
  3. API キー (サーバー側操作用のシークレットキー) を構成してください
  4. 基本的な操作のクイックスタートガイドを確認してください
  5. 高度な機能とベストプラクティスを探索してください

認証

すべてのサーバーライブラリは Omise API キーが必要です:

  • シークレットキー: サーバー側操作に使用 (クライアントに公開しないでください)
  • 公開キー: クライアント側操作に使用 (トークン化のみ)
# テストキー (開発用)
export OMISE_SECRET_KEY="skey_test_123456789"
export OMISE_PUBLIC_KEY="pkey_test_123456789"

# ライブキー (本番環境用)
export OMISE_SECRET_KEY="skey_live_123456789"
export OMISE_PUBLIC_KEY="pkey_live_123456789"
セキュリティのベストプラクティス

API キーをバージョン管理にコミットしないでください。環境変数またはセキュアキー管理システムを使用してください。

エラーハンドリング

すべてのライブラリは構造化されたエラーハンドリングを提供します:

  • ネットワークエラー: 接続タイムアウト、DNS 障害
  • API エラー: 無効なパラメータ、認証失敗
  • ビジネスロジックエラー: 残高不足、カード拒否

各ライブラリは言語固有のパターン (例外、エラーオブジェクト、Result タイプなど) を使用してエラーハンドリングを実装します。

テスト

すべてのライブラリは開発用のテストモードをサポートしています:

  1. テスト API キー (プレフィックス: skey_test_pkey_test_) を使用してください
  2. 成功と失敗したトランザクションのテストカード番号を使用してください
  3. テストエンドポイントを使用してウェブフックをテストしてください
  4. テストモードでは実際の金銭は請求されません

サポートとリソース

コンプライアンスとセキュリティ

すべての Omise ライブラリはセキュリティを考慮して設計されています:

  • PCI DSS: ライブラリは生のカードデータを処理しないことで PCI コンプライアンスの維持を支援します
  • TLS 1.2+: すべての API 通信は最新の暗号化を使用します
  • キー管理: API 認証情報のセキュアな処理
  • 入力検証: インジェクション攻撃を防ぐためのパラメータ検証

バージョンサポート

Omise は以下との互換性を維持しています:

  • Ruby: 2.6+ (Ruby 3.x を含む)
  • Python: 3.6+ (Python 3.11+ を含む)
  • PHP: 7.2+ (PHP 8.x を含む)
  • Node.js: 12+ (Node.js 16+ が推奨。12.x は EOL に達しています)
  • .NET: .NET Core 3.1+、.NET 5+、.NET 6+
  • Java: Java 8+ (Java 17+ を含む)
  • Go: Go 1.16+ (Go 1.20+ を含む)
  • Elixir: Elixir 1.10+ (Elixir 1.14+ を含む)

次のステップ

プログラミング言語を選択して開始してください:

貢献

すべての Omise ライブラリはオープンソースで、貢献を歓迎しています:

  1. GitHub 上でリポジトリをフォークしてください
  2. 機能ブランチを作成してください
  3. 変更のテストを作成してください
  4. プルリクエストを送信してください

個々のライブラリリポジトリで貢献ガイドラインを参照してください。