Advances features

Check Available Devices API

Check Samsung Wallet service availability for the devices and countries.

[Request]

Type

Value

Description

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
Ex) SM-G925K, SM-R730T

serviceType
String

(Required)
Service type
- WALLET : Samsung Wallet

[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

Provisioning

Defines provisioning/access data for service providers to configure additional features with user's card.

[Note]

  • Before using this item, see the provisioning type under 'Advanced settings' in the Wallet Card settings created in the Partner Portal.
  • It is mandatory to configure cards according to their purpose and method.
  • The data format corresponding to 'provision.data' should include items agreed upon in advance. Please contact technical support to inquire about the method of providing access functions.

Card Data Format

Key

Description

provision.data
String

(Required)
Actual data to be used during the feature provisioning. Promised data fields or format to be passed to the module.
* JSON format must be converted to escape string.

provision.dynamicYn
String

(Optional)
This value is set when dynamically refreshing provision.data. With the "interval" item, you can set the validity period of the data.
* This value can be specified when configuring the wallet card in the partner portal, but the value transmitted as card data takes precedence.

provision.interval
String

(Conditional)
The valid time of provision.data. Once this time has elapsed, provision.data is updated. (Unit: Seconds)
* This value can be specified when configuring the wallet card in the partner portal, but the value transmitted as card data takes precedence.

Data Example

[Note]

  • The JSON string needs to be delivered as a escaped string.

Case

provision.data

Access credential with APDU Command

{
    "access_credential_header": "A1B2C3D4E5F6",
    "access_key_id": "0xB3F9A2D7",
    "nonce": "F1E2D3C4B5A69788",
    "mac_key": "5D6A2B7C9E8F3D1C5F2A6D7C8B3E1F90",
    "apdu_command": "00A4040007A0000000031010",
    "signature": "6F3D9A2B7E8C1D0F5A6B3C9D4F2E7A8"
}

Issuing credential via SDK

{
    "appPackageName": "com.partner.wallet",
    "appKey": "abcdefaei;fadaf=",
    "refId": "virehgqerurt932m125215",
    "provider": "SEC",
    "deviceId": "0000000000000000",
    "authcode": "43jkl6h3l4"
}

Access credential that meet a specific protocol

{
    "credential": {
        "service_id": "0xA3F1",
        "issuer": "Samsung",
        "key_version": "0x02",
        "protocol": "samsung_wallet_nfc",
        "data": "3FA25B7C9D8E2F4A1D5C6E8F0B3D9A4C",
        "mac_key": "5D6A2B7C9E8F3D1C5F2A6D7C8B3E1F90"
    },
    "keys": {
        "credential_pk":"MFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEo/7XFS1fKvRZQj9XIt3Y0ZCFVnE4F5vLZoPv2Uv7a/NzWqHvM9F+jddNN4UJjX1KnLQwGZ+dTVLfP77k8b5gXw=="
    }
}

A single data for authentication

1234567890ABCDEF

Barcode & QR Codes

Defines serial/barcode/QR code data for service providers to configure additional features with user's card.

[Note]

  • To enable Dynamic QR functionality, please refer to the Wallet Card settings in the Partner Portal.

Card Data Format

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 for each 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.

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

Data Example

[Note]

  • The JSON string needs to be delivered as a escaped string.
Case

Data set

1D barcode with serial as UPC-A type

{
    "barcode.value": "www.samsung.com",
    "barcode.serialType": "BARCODE",
    "barcode.ptFormat": "BARCODESERIAL",
    "barcode.ptSubFormat": "UPC_A"
}

2D barcode as QR code type

{
    "barcode.value": "www.samsung.com",
    "barcode.serialType": " QRCODE",
    "barcode.ptFormat": "QRCODE",
    "barcode.ptSubFormat": "QR_CODE"
}

2D barcode as AZTEC type
which has 300 seconds valid time (Dynamic QR)

{
    "barcode.value": "www.samsung.com",
    "barcode.serialType": " QRCODE",
    "barcode.ptFormat": "QRCODE",
    "barcode.ptSubFormat": "AZTEC",
    "barcode.interval":"300"
}

Serial number

{
    "barcode.value": "1234567890",
    "barcode.serialType": "SERIALNUMBER",
    "barcode.ptFormat": "SERIAL"
}