References
Barcodes
Presentation Type and Formats
The barcode display type defines how a serial number, barcode, and/or QR code is shown.
Presentation Types (serialType)
Code name | Description |
---|---|
SERIALNUMBER | Serial Number |
BARCODE | Barcode |
QRCODE | QR code |
Presentation Formats (ptFormat)
Code name | Description |
---|---|
BARCODE | Barcode only |
BARCODESERIAL | Barcode with serial number |
SERIAL | Serial number only |
DUALSERIAL | Dual serial number |
DUALBARCODE | Dual barcode |
DUALBARCODESERIAL | Dual barcode with serial numbers |
BARCODEPIN | Barcode with PIN |
QRCODE | QR code only |
QRCODESERIAL | QR code with serial number |
Barcode Formats (ptSubFormat)
Below are commonly used barcode formats, supported by the ZXing barcode scanning library.
- See also ZXing-BarcodeFormat.
Code name | Description |
---|---|
AZTEC | 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 a map, 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 services are only available in certain countries.
Details
JSON Format
Key | Type | Requirement | Description |
---|---|---|---|
[].lat | Double | Optional | Latitude |
[].lng | Double | Optional | Longitude |
[].address | String | Required | String containing the full address |
[].name | String | Required | 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 | Required | Size of information |
info[] | Array of Objects | Required | Container of information |
info[].title | String | Required | Title |
info[].content[] | Array of Strings | Required | 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."
]
}
]
}
* Using Dynamic QR Code
Links
Linkable data which provides additional information in the following format.
Details
JSON Format
Key | Type | Requirement | Description |
---|---|---|---|
count | Integer | Required | Size of links |
info[] | Array of Object | Required | Container of links |
info[].link | String | Required | Link URL |
info[].type | String | Required | View type that will run the link * Allowed values: web, app, browser |
info[].text | String | Optional | Text of the link |
Example
{
"count": 1,
"info": [{
"link": "https://samsung.external.info.link",
"type": "web",
"text": "See more information"
}]
}
Classification
Classification defines different kinds of people who can use the cards.
Details
JSON Format
Key | Type | Requirement | Description |
---|---|---|---|
person[] | Array of Object | Required | Container of person list |
person[].category | String | Required | Category name |
person[].count | String | Required | Number of person |
Example
* 3 persons with a ticket
{
"person": [
{
"category": "Adult",
"count": 2
},
{
"category": "Child",
"count": 1
}
]
}
* 1 person with a ticket
{
"person": [
{
"category": "Adult",
"count": 1
}
]
}
Check Service Available Devices
Check Samsung Pay/Wallet service availability for the devices and countries.
Request
Type | Value | |||
---|---|---|---|---|
Method | GET | |||
URL | https://api-us3.mpay.samsung.com/wallet/cmn/v2.0/device/available | |||
Header | partnerCode | String | Required | Partner Code. * Partner Code or ID from Samsung Pay Partner System. |
Query parameters | modelName | String | Required | Device model name. For example, "SM-G925K," "SM-R730T". |
serviceType | String | Required | Service type. * WALLET: Samsung Wallet (including KR Samsung Pay). |
|
Example |
Response
Type | Value | Description | ||
---|---|---|---|---|
body | resultCode | String | Required | Result code |
resultMessage | String | Required | Result message | |
available | boolean | Required | Service availability | |
supportKR | boolean | Required | KR service support for the 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 section explains how to create key factors for security with OpenSSL.
Private Key
A private key enables 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
Enter the CSR information to complete the process. The output will look like the following:
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 an optional attribute.
- The ‘Common Name’ field is important, as it needs to exactly match the 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 |