Token API
Token API ใช้เพื่อเรียกข้อมูลเกี่ยวกับโทเค็น โทเค็นเป็นตัวแทนของบัตรและสามารถนำไปใช้ได้เพียงครั้งเดียวเท่านั้น เมื่อสร้างขึ้นแล้วโทเค็นสามารถนำไปแปลงเป็นบัตรเพื่อใช้เก็บไว้กับลูกค้า สำหรับการรับชำระเงินในอนาคต
ในการใช้งานจริงโทเค็นจะถูกสร้างขึ้นโดย Omise.js ส่วน Token API ใช้สำหรับการทดสอบระบบภายในเท่านั้น
Full credit card data should never go through your server.
The endpoints described on this page should only be used with test data. In production, tokens should be created and sent directly to our servers from the client using Omise.js, or, if on mobile, the iOS or Android SDKs.
Sending card data from server requires a valid PCI-DSS certification in order to be compliant. You can learn more about this in Security Best Practices.
Attributes
Name | Type | Description |
---|---|---|
object | string | The string |
id | object_id | The token identifier matching |
livemode | boolean | Whether this is a live ( |
location | string | API path to retrieve the current |
card | card | Card containing details of card used to generate token. |
charge_status | string | Status of charge created using this token (if any). Value is one of allowed |
created_at | datetime | UTC datetime of token creation in ISO 8601 format ( |
used | boolean | Whether token has been used. Tokens can be used only once either to make a charge or to associate as a new card on a customer. |
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": 2022, "security_code_check": true, "created_at": "2019-12-31T12:59:59Z" }, "created_at": "2019-12-31T12:59:59Z" }
Create a token
- POST https://vault.omise.co/tokensCreates and returns a new token. Tokens are single-use only. This endpoint accepts public key authentication only.
Request Parameters
Name | Type | Description |
---|---|---|
card[expiration_month] | integer | (required) Card expiration month ( |
card[expiration_year] | integer | (required) Card expiration year ( |
card[name] | string | (required) Card owner name. |
card[number] | string | (required) Card number. |
card[city] | string | (optional, but recommended) Billing address city. Supplying the cardholder's billing address improves your authorization rate for US, UK, and Canadian cardholders. |
card[country] | string | (optional, but recommended) Billing address country as two-letter ISO 3166 code. Note: if not supplied at token creation, value derived from issuer identification number (IIN) so may not be accurate. Supplying the cardholder's billing address improves your authorization rate for US, UK, and Canadian cardholders. |
card[postal_code] | string | (optional, but recommended) Card postal code. Supplying the cardholder's billing address improves your authorization rate for US, UK, and Canadian cardholders. |
card[security_code] | string | (optional, but recommended) Card security code (CVV, CVC, etc). Printed on the back. |
card[state] | string | (optional, but recommended) Billing address state. Supplying the cardholder's billing address improves your authorization rate for US, UK, and Canadian cardholders. |
card[street1] | string | (optional, but recommended) Billing address street #1. Supplying the cardholder's billing address improves your authorization rate for US, UK, and Canadian cardholders. |
card[phone_number] | string | (optional) Phone number. |
card[street2] | string | (optional) Billing address street #2. |
Example
-
Create a token
- 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"]) });
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
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 } })
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
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()
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
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]=2022" \ -d "card[city]=Bangkok" \ -d "card[postal_code]=10320" \ -d "card[security_code]=123"
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
<?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 ) ));
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
omise.tokens.create({ 'card':{ 'name': 'JOHN DOE', 'city': 'Bangkok', 'postal_code': 10320, 'number': '4242424242424242', 'expiration_month': 2, 'expiration_year': 2022, 'security_code': 123 } }, function(error, token) { /* Response. */ });
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
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 })
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
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}");
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
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());
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
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, )
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
card, createToken := &omise.Card{}, &operations.CreateToken{ Name: "Somchai Prasert", Number: "4242424242424242", ExpirationMonth: 10, ExpirationYear: 2022, City: "Bangkok", PostalCode: "10320", SecurityCode: "123", } if e := client.Do(card, createToken); e != nil { log.Fatalln(e) } log.Printf("created card: %#v\n", card)
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
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 ] )
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
Retrieve a token
- GET https://vault.omise.co/tokens/{id}Returns the token matching :id
. Note: this endpoint accepts only public key authentication.
Example
-
Retrieve a token
- curl
- php
- node.js
- ruby
- C#
- java
- python
- go
- elixir
curl https://vault.omise.co/tokens/tokn_test_5g5mep9yrko3vx2f0hx \ -u $OMISE_PUBLIC_KEY:
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
<?php $token = OmiseToken::retrieve('tokn_test_4xs9408a642a1htto8z');
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
omise.tokens.retrieve('tokn_test_4xs9408a642a1htto8z', function(error, token) { /* Response. */ });
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
require "omise" Omise.public_api_key = "pkey_test_4xs8breq3htbkj03d2x" token = Omise::Token.retrieve("tokn_test_4xs9408a642a1htto8z")
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
var tokenId = RetrieveTokenId(); var token = await Client.Tokens.Get(tokenId); Console.WriteLine($"token already used? {token.Used}");
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
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());
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
import omise omise.api_public = "pkey_test_no1t4tnemucod0e51mo" token = omise.Token.retrieve("tokn_test_no1t4tnemucod0e51mo")
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
token, retrieve := &omise.Token{}, &operations.RetrieveToken{ ID: "tokn_test_4xs9408a642a1htto8z" } if e := client.Do(token, retrieve); e != nil { log.Fatalln(e) } log.Printf("retrieved token: %#v\n", token)
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย
Omise.configure(public_key: "pkey_test_56bywcp7sk1qselsyqb") Omise.Token.retrieve("tokn_test_4xs9408a642a1htto8z")
ตัวอย่างนี้สำหรับใช้กับข้อมูลบัตรสำหรับทดสอบเท่านั้น
ข้อมูลบัตรจริงจะต้องถูกเข้ารหัสจากอุปกรณ์ของผู้ถือบัตรโดยใช้ Omise.js iOS SDK หรือAndroid SDK
ในการรับส่งหรือจัดเก็บข้อมูลบัตรผ่านเซิร์ฟเวอร์ของร้านค้า ทางร้านค้าจะต้องผ่านการรับรอง PCI-DSS อ่านเพิ่มเติมได้ที่แนวทางปฏิบัติเพื่อความปลอดภัย