Token(トークン)
Tokens(トークン)は、クレジットカードの情報をあなたが保持・管理することなくクレジットカード決済・課金を行うために使用します。 クレジットカードの情報は、TokenオブジェクトとしてOmiseのサーバーで管理されます。 新しい課金を行う際には、Omise-JSでユーザーが入力したクレジットカード情報を事前にOmiseへ送信し、Omiseが発行したToken(トークン)のIDを利用して、サーバーサイドでCharge(課金)APIを使います。また、トークンは一度だけCharge(課金)APIで使用できます。使用済みの同じトークンIDを使った課金はできません。
Attributes
Name | Type | Description |
---|---|---|
object | string | 固定値 |
id | string |
|
livemode | boolean | 本番モード ( |
location | string | 現在の |
card | card | トークンを生成するため使用されたカードに関する詳細を含むカードオブジェクト。 |
charge_status | string | Status of charge created using this token (if any). Value is one of allowed |
created_at | string | ISO 8601 形式 ( |
used | boolean | トークンが使用されたかどうか。トークンは課金、または「顧客」(/customers-api)の新しいカードとして関連付けるために1回だけ使用できます。 |
Example
-
JSON Response
{ "object": "token", "id": "tokn_test_no1t4tnemucod0e51mo", "livemode": false, "location": "https://vault.omise.co/tokens/tokn_test_no1t4tnemucod0e51mo", "used": false, "charge_status": "unknown", "card": { "object": "card", "id": "card_test_no1t4tnemucod0e51mo", "livemode": false, "location": null, "deleted": false, "street1": "1448/4 Praditmanutham Road", "street2": null, "city": "Bangkok", "state": null, "phone_number": "0123456789", "postal_code": "10320", "country": "th", "financing": "credit", "bank": "Bank of the Unbanked", "brand": "Visa", "fingerprint": "XjOdjaoHRvUGRfmZacMPcJtm0U3SEIIfkA7534dQeVw=", "first_digits": null, "last_digits": "4242", "name": "Somchai Prasert", "expiration_month": 12, "expiration_year": 2024, "security_code_check": true, "tokenization_method": null, "created_at": "2019-12-31T12:59:59Z" }, "created_at": "2019-12-31T12:59:59Z" }
新しいトークンの作成
- POST https://vault.omise.co/tokensクレジットカード詳細の代替IDとなる、一度だけ使用可能な使い切りトークンを作成します。
Request Parameters
Name | Type | Description |
---|---|---|
card[expiration_month] | integer | (必須) カードの有効期限に記載されている '月' (1-12)。 |
card[expiration_year] | integer | (必須) カードの有効期限に記載されている '年' 。 |
card[name] | string | (必須) クレジットカード表面に記載されている所有者の名義。 |
card[number] | string | (必須) クレジットカード番号 |
card[city] | string | (任意だが推奨) 請求先住所の都市名。 カード保有者の請求先住所を指定し、米国、英国、カナダのカード保有者の承認率を向上させます。 |
card[country] | string | (任意だが推奨) [ISO 3166コード]で指定される2文字の請求先住所の国名(http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements)。 注:トークンの作成時に提供されずに、発行者識別番号(IIN)から生成された値の場合は正確ではない可能性があります。カード保有者の請求先住所を指定すると、米国、英国、カナダのカード保有者の承認率が向上します。 |
card[email] | string | (任意だが推奨) TBD |
card[phone_number] | string | (任意) 電話番号 |
card[postal_code] | string | (任意だが推奨) クレジットカード請求先の郵便番号。 カード保有者の請求先住所を指定すると、米国、英国、カナダのカード保有者の承認率が向上します。 |
card[security_code] | string | (任意だが推奨) カードセキュリティコード(CVV、CVCなど)。裏面に記載されている。 |
card[state] | string | (任意だが推奨) 請求先住所の州名。 カード保有者の請求先住所を指定し、米国、英国、カナダのカード保有者の承認率を向上させます。 |
card[street1] | string | (任意だが推奨) 請求先住所の番地。 カード保有者の請求先住所を指定し、米国、英国、カナダのカード保有者の承認率を向上させます。 |
card[street2] | string | (任意) 請求先住所 #2 |
Example
-
新しいトークンの作成
- Omise.js
- Android SDK
- iOS SDK
- curl
- php
- node.js
- ruby
- C#
- java
- python
- go
- elixir
Omise.setPublicKey("OMISE_PUBLIC_KEY"); Omise.createToken("card", { "expiration_month": 2, "expiration_year": 2022, "name": "Somchai Prasert", "number": "4242424242424242", "security_code": "123", "street1": "476 Fifth Avenue", "city": "New York", "state": "NY", "postal_code": "10320", "country": "US" }, function(statusCode, response) { console.log(response["id"]) });
private val client = Client("pkey_test_123") val cardParam = CardParam( name = "JOHN Doe", number = "4242424242424242", expirationMonth = 10, expirationYear = 2020, securityCode = "123" ) val request = Token.CreateTokenRequestBuilder(cardParam).build() client.send(request, object: RequestListener<Token>{ override fun onRequestSucceed(model: Token) { // you created a token } override fun onRequestFailed(throwable: Throwable) { // something bad happened } })
let tokenParameter = Token.CreateParameter( name: "JOHN DOE", number: "4242424242424242", expirationMonth: 11, expirationYear: 2019, securityCode: "123" ) let request = Request<Token>(parameter: tokenParameter) let requestTask = client.requestTask(with: request, completionHandler: completionHandler) requestTask.resume()
curl https://vault.omise.co/tokens \ -u $OMISE_PUBLIC_KEY: \ -d "card[name]=Somchai Prasert" \ -d "card[number]=4242424242424242" \ -d "card[expiration_month]=10" \ -d "card[expiration_year]=2025" \ -d "card[city]=Bangkok" \ -d "card[postal_code]=10320" \ -d "card[security_code]=123"
<?php $token = OmiseToken::create(array( 'card' => array( 'name' => 'Somchai Prasert', 'number' => '4242424242424242', 'expiration_month' => 10, 'expiration_year' => 2022, 'city' => 'Bangkok', 'postal_code' => '10320', 'security_code' => 123 ) ));
const omise = require('omise')({ publicKey: 'pkey_test_no1t4tnemucod0e51mo', }); const token = await omise.tokens.create({ card: { name: 'JOHN DOE', city: 'Bangkok', postal_code: 10320, number: '4242424242424242', expiration_month: 2, expiration_year: 2027, security_code: 123, }, }); console.log(token);
require "omise" Omise.public_api_key = "pkey_test_4xs8breq3htbkj03d2x" token = Omise::Token.create(card: { name: "Somchai Prasert", number: "4242424242424242", expiration_month: 10, expiration_year: 2022, city: "Bangkok", postal_code: "10320", security_code: 123 })
var token = await Client.Tokens.Create(new CreateTokenRequest { Name = "John Doe", Number = "4242424242424242", ExpirationMonth = 10, ExpirationYear = 2022, SecurityCode = "123", }); Console.WriteLine($"created token: {token.Id}");
Request<Token> request = new Token.CreateRequestBuilder() .card(new Card.Create() .name("John Doe") .number("4242424242424242") .expirationMonth(10) .expirationYear(2022) .city("Casablanca") .postalCode("10420") .securityCode("123")) .build(); Token token = client().sendRequest(request); System.out.printf("Created token: %s", token.getId());
import omise omise.api_public = "pkey_test_no1t4tnemucod0e51mo" token = omise.Token.create( name="Somchai Prasert", number="4242424242424242", expiration_month=10, expiration_year=2022, city="Bangkok", postal_code="10320", security_code=123, )
client, _ := omise.NewClient( "pkey_test_no1t4tnemucod0e51mo", "skey_test_no1t4tnemucod0e51mo", ) result := &omise.Card{} err := client.Do(result, &operations.CreateToken{ Name: "Somchai Prasert", Number: "4242424242424242", ExpirationMonth: 10, ExpirationYear: 2025, City: "Bangkok", PostalCode: "10320", SecurityCode: "123", }) if err != nil { log.Fatalln(err) } log.Println(result)
Omise.configure(public_key: "pkey_test_56bywcp7sk1qselsyqb") Omise.Token.create( card: [ name: "Somchai Prasert", number: "4242424242424242", expiration_month: 10, expiration_year: 2022, city: "Bangkok", postal_code: "10320", security_code: 123 ] )
-
新しいトークンの作成
トークン情報の取得
- GET https://vault.omise.co/tokens/{id}トークンIDで指定したトークンの情報を返します。
Example
-
トークン情報の取得
- curl
- php
- node.js
- ruby
- C#
- java
- python
- go
- elixir
curl https://vault.omise.co/tokens/tokn_test_5g5mep9yrko3vx2f0hx \ -u $OMISE_PUBLIC_KEY:
<?php $token = OmiseToken::retrieve('tokn_test_4xs9408a642a1htto8z');
const omise = require('omise')({ publicKey: 'pkey_test_no1t4tnemucod0e51mo', }); const token = await omise.tokens.retrieve('tokn_test_5v3exp0j9e5s7oicmzs'); console.log(token);
require "omise" Omise.public_api_key = "pkey_test_4xs8breq3htbkj03d2x" token = Omise::Token.retrieve("tokn_test_4xs9408a642a1htto8z")
var tokenId = RetrieveTokenId(); var token = await Client.Tokens.Get(tokenId); Console.WriteLine($"token already used? {token.Used}");
Request<Token> request = new Token.GetRequestBuilder("tokn_test_4xs9408a642a1htto8z").build(); Token token = client().sendRequest(request); System.out.printf("token last digits: %s", token.getCard().getLastDigits());
import omise omise.api_public = "pkey_test_no1t4tnemucod0e51mo" token = omise.Token.retrieve("tokn_test_no1t4tnemucod0e51mo")
client, _ := omise.NewClient( "pkey_test_no1t4tnemucod0e51mo", "skey_test_no1t4tnemucod0e51mo", ) result := &omise.Token{} err := client.Do(result, &operations.RetrieveToken{ ID: "tokn_test_no1t4tnemucod0e51mo", }) if err != nil { log.Fatalln(err) } log.Println(result)
Omise.configure(public_key: "pkey_test_56bywcp7sk1qselsyqb") Omise.Token.retrieve("tokn_test_4xs9408a642a1htto8z")