References
Barcodes
[Presentation type & formats]
The barcode display type defines how the serial number, barcode, and/or QR code is shown.
[Presentation Types (serialType)]
Code name | Description |
---|---|
SERIALNUMBER | Serial Number. |
BARCODE | Barcode. |
QRCODE | QR code. |
POINTAMOUNT | Point amount. |
URL | URL. |
IMAGE | Image |
NONE | None (do not display anything for serial data). |
[Presentation Formats (ptFormat)]
Code name | Description |
---|---|
BARCODE | Barcode only. |
BARCODESERIAL | Barcode with serial number. |
DUALSERIAL | Dual serial number. |
SERIAL | Serial only. |
DUALBARCODESERIAL | Dual barcode with serial number. |
DUALBARCODE | Dual barcode only. |
BARCODEPIN | Barcode with PIN. |
BARCODESERIALPIN | Barcode with serial PIN |
IMAGE | Image. |
IMAGESERIAL | Image with serial. |
QRCODESERIAL | QR code with serial number. |
QRCODE | QR code only- |
[Barcode Formats (ptSubFormat)]
Below are commonly used barcode formats, supported by the ZXing barcode scanning library.
See also: ZXing-BarcodeFormat
Code name | Description |
---|---|
APIAZTEC | Aztec 2D barcode format. |
CODABAR | CODABAR 1D format. |
CODE_39 | Code 39 1D format. |
CODE_93 | Code 93 1D format. |
CODE_128 | Code 128 1D format. |
DATA_MATRIX | Data Matrix 2D barcode format. |
EAN_8 | EAN-8 1D format. |
EAN_13 | EAN-13 1D format. |
ITF | ITF (Interleaved Two of Five) 1D format. |
MAXICODE | MaxiCode 2D barcode format. |
PDF_417 | PDF417 format. |
QR_CODE | QR Code 2D barcode format. |
RSS_14 | RSS 14. |
RSS_EXPANDED | RSS EXPANDED. |
UPC_A | UPC-A 1D format. |
UPC_E | UPC-E 1D format. |
UPC_EAN_EXTENSION | UPC/EAN extension format. Not a stand-alone format. |
Locations
Locations refer to place information that denotes where a card can be used.
Using this information, Samsung Wallet can show the map, a place name, and address. Additionally, location information can be used to provide Location-Based Services (LBS).
Location information can be represented by a JSON array and up to 10 locations can be specified.
* Notice: Map service are only available in limited countries.
Details
[JSON Format]
Key | Type | Requirement | Description |
---|---|---|---|
[].lat | Double | Optional | Latitude. |
[].lng | Double | Optional | Longitude. |
[].address | String | Mandatory | String containing the full address. |
[].name | String | Mandatory | Branch name. |
[Example]
* Location information for the entrance to Oracle Park.
[
{
"lat": 37.779337,
"lng": -122.388755,
"address": "24 Willie Mays Plaza, San Francisco, CA 94107",
"name": "Willie Mays Plaza"
},
{
"lat": 37.77814,
"lng": -122.390836,
"address": "King St, San Francisco, CA 94107",
"name": "King St"
}
]
Additional information
Additional information to be delivered to customers can be defined in the following format.
Be careful of the content string length. If an attribute does not allow long content, it is not displayed on the device.
Details
[JSON Format]
Key | Type | Requirement | Description |
---|---|---|---|
count | Integer | Mandatory | Size of information. |
info[] | Array of Objects | Mandatory | Container of information |
info[].title | String | Mandatory | Title. |
info[].content[] | Array of Strings | Mandatory | Content text |
[Example]
* Extra information for a boarding pass.
{
"count": 3,
"info": [
{
"title": "Baggage Allowance",
"content": [
"15 KG"
]
},
{
"title": "Boarding Priority",
"content": [
"YES"
]
},
{
"title": "Seat Class",
"content": [
"Economy Plus"
]
}
]
}
* An example case of long content being allowed: Movie ticket policy.
{
"count": 2,
"info": [
{
"title": "REFUNDS AND EXCHANGES",
"content": [
"Refunds and exchanges of movie ticket(s) are available in certain limited circumstances.",
"Movie tickets purchased through the Services include a non-refundable Convenience Fee. Before purchasing your movie ticket(s) we urge you to confirm the title, time, location and quantity of tickets for the movie you wish to see."
]
},
{
"title": "CHANGES TO TICKET POLICY",
"content": [
"From time to time, we may revise this Ticket Policy. You can determine when this Ticket Policy was last revised by referring to the top of this page. Any changes to this Ticket Policy will become effective upon posting of the revised Ticket Policy on the Internet, accessible through the Services."
]
}
]
}
Classification
Classification defines distinguishes of different kinds of person who can use the cards.
Details
[JSON Format]
Key | Type | Requirement | Description |
---|---|---|---|
person[] | Array of Object | Mandatory | Container of person list |
person[].category | String | Mandatory | Category name |
person[].count | String | Mandatory | Number of person |
[Example]
* 3 persons with a ticket.
{
"person": [
{
"category": "Adult",
"count": 2
},
{
"category": "Child",
"count": 1
}
]
}
* 1 persons with a ticket.
{
"person": [
{
"category": "Adult",
"count": 1
}
]
}
Check service available devices
Check SamsungPay/Wallet service availability for device and country
[Request]
Type | Value | |||
---|---|---|---|---|
Method | GET | |||
URL | https://api-us3.mpay.samsung.com/wallet/cmn/v2.0/device/available | |||
Header | partnerCode | String | Mandatory | Partner Code - Partner Code or ID from Samsung Pay Partner System |
Query Parameters | modelName | String | Mandatory | Device model name Ex) SM-G925K, SM-R730T |
serviceType | String | Mandatory | Service type - PAY : Samsung pay - WALLET : Samsung Wallet (including KR Samsung Pay) |
|
Example |
[Response]
Type | Value | Description | ||
---|---|---|---|---|
body | resultCode | String | Mandatory | Result Code |
resultMessage | String | Mandatory | Result Message | |
available | boolean | Mandatory | Service availability | |
supportKR | boolean | Mandatory | KR service support device |
Example (Success)
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: xx
{
"resultCode" : "0",
"resultMessage" : "SUCCESS",
"available": "true",
"supportKR": "true"
}
Example (Error)
HTTP/1.1 400 Bad Request
Content-Type: application/json;charset=UTF-8
Content-Length: xx
{
"resultCode" : " CMN5N9001",
"resultMessage" : " Internal Server Error"
}
[Response]
Http Code | Status Code | DESCRIPTION |
---|---|---|
200 | 0 | Success |
400 | CMN1N1001 | Missing requisite parameter from API request – {0} |
400 | CMN1N1002 | Invalid parameter from API request – {0} |
400 | CMN1N1003 | Invalid parameter Length from API request – {0} |
400 | CMN2N2007 | Invalid Country Code |
500 | CMN4N8003 | DB Connection Failed |
Security factors
Service Flow
How to generate key factors
OpenSSL is an open-source command-line tool that allows you to perform various SSL-related tasks.
This article will explain how to create key factors for security with OpenSSL.
Private Key
A private key helps to enable encryption and is the most important component of certificates.
openssl genpkey -out domain.key -algorithm RSA -pkeyopt rsa_keygen_bits:2048
If you want to make it more secure, adding '-des3' on the command will encrypt with password.
Certificate Signing Request (CSR)
Certificate Signing Request (CSR) is a necessary factor to get a signed certificate. The CSR includes the public key and some additional information, such as organization and country.
Let's create a CSR (domain.csr) from the existing private key.
openssl req -out domain.csr -key domain.key -new -sha256
You'll enter CSR information to complete the process. The output will look like this:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:KR
State or Province Name (full name) []:Seoul
Locality Name (eg, city) [Default City]:Sample City
Organization Name (eg, company) [Default Company Ltd]:Sample Company
Organizational Unit Name (eg, section) []:Sample section
Common Name (eg, your name or your server's hostname) []:domain
Email Address []:email@email.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
* 'password' is optional attribute.
* An important field is 'Common Name', which should be the exact Fully Qualified Domain Name (FQDN) of our domain.
For more information, refer to 'https://www.openssl.org'.
Contact points
[Dev Team]
Name | Address |
---|---|
Wallet Technical Support | https://developer.samsung.com/dashboard/support |