References
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 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 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 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 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 json format key type requirement description count integer required size of information info[] object arrays required container of information info[] title string required title * need either content or chart info[] content[] string arrays optional content text info[] chart object optional chart data info[] chart headers[] string arrays optional header of chart info[] chart body[] array required body of chart info[] chart metadata[] string arrays optional metadata of chart * units or additional information of chart 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 " ] } ] } * example usage of charts { "count" 1, "info" [{ "title" "paygo price guide for usage", "chart" { "headers" ["grade", "round", "one-way"], "body" [ ["platinum", "$25", "$10"], ["gold", "$30", "$15"], ["silver", "$40", "$20"] ], "metadata" "unit /h" } }] } paygo price guide for usage members grade round one-way platinum $25 $10 gold $30 $15 silver $40 $20 unit /h the above example may differ from what is actually displayed links linkable data which provides additional information in the following format json format key type requirement description count integer required size of links info[] array of objects 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 json format key type requirement description person[] array of object required container of person list who can use the card 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 } ] } transactions transactions 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 will not be displayed on the device json format key type requirement description [] date string required transaction date [] amount string optional amount value [] description string optional description example * an example for payasyougo-evcharge-transactions [ { "date" "2023-09-10 12 00 00", "amount" "50,000 won", "description" "suwon station branch" }, { "date" "2023-09-20 18 00 00", "amount" "70,000 won", "description" "gangnam central branch" } ] authentication defines the data format to authenticate the user registering/updating the card if need a custom user verification process, please get in touch with us via tech support authentication data set case type value description connecting information ci user’s ci value identifier of identity verification agency samsung account sa user’s samsung account verifying that the signed-in samsung account on the user's galaxy device matches subscriber identity module sim sim card information on mobile telephone devices verify the sim information being used on the user's mobile phone one-time password otp dynamic password the temporary password provided by the partner to the user is verified by receiving user input during the add to samsung wallet process access token token token to verify data retrieval request token data included in card data is used as a key accessed when querying a partner server this tokenized key can be reissued when the partner delivers updated card data example type sample data ci {"ci" "hsd0iuf9bew8ugb7wqeu6i"} sa {"account" "samsungwallet@samsung com"} sim [{"uiccid" "abcderwyt","telno" "821012345678","isprimary" true},{"uiccid" "abcderwys","telno" "01012345679","isprimary" false}] otp {"otp" "947253"} token {"x-access-token" "7c8d38690d0e3b6aa077198abd2554a3a7940b52cf86bd690c1"} provisioning defines access control data for service providers to configure additional features with user's card json format key type requirement description provision feature string required a specified feature defined in wallet card * when setting up a wallet card, prior selection or consultation is required * use the value selected when setting up your wallet card in the partner portal provision type string required a provisioning type defined in wallet card * when setting up a wallet card, prior selection or consultation is required * use the value selected when setting up your wallet card in the partner portal provision module string required a module defined to use in provisioning process in wallet card * use the value selected when setting up your wallet card in the partner portal provision identifier string optional a identifier intended to be used in provisioning process * suggestion {package-name}, {applicationid}, {library}, {promised-identifier} provision data string optional 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 features feature attribute name description nfc nfc communication feature with designated protocol provision types type attribute name description sdk service provider protocol providing sdk message message in a promised format is utilized to convey identifiers, credentials, or any sort of dataset provision modules module attribute name description ese embedded secure element in mobile devices to provide security features samsung wallet app or any authorized agent with access rights can manage the secure element using this corresponding module to utilize this corresponding module, the applet to be installed on this module must be provided beforehand, and obtaining authorization for ssd creation and access control might be required for more detailed requirements, please refer to our technical inquiry se-usim universal subscriber identity module usim functions as a secure data repository, storing essential information including user profiles, contact lists, text messages, and application data utilizing advanced security measures like pin codes and cryptography, the usim guarantees the integrity and confidentiality of all stored data furthermore, it empowers users to securely access network services and authenticate their identities during financial transactions or when handling sensitive information consequently, the usim operates as a trustworthy platform for managing sensitive data and enabling secure communications between users and service providers however, to utilize this module, an additional software development kit sdk may be required for seamless integration and access app samsung wallet application handles access control data example 'data' field needs to be mutually negotiated with samsung wallet team case feature type module identifier data partner provides apdu bundle for ese nfc message ese partner-apdu-01 {"accesskey" "abcdefg","apdus" "{apdu-bundle}"} partner provides sdk for ese nfc sdk ese partner-sdk-ese-01 {"apppackagename" "com partner wallet","appkey" "abcdefaei;fadaf=","refid" "virehgqerurt932m125215","provider" "sec","deviceid" "0000000000000000","authcode" "43jkl6h3l4"} partner provides sdk for usim nfc sdk se-usim partner-sdk-usim-01 {"apppackagename" "com partner wallet","appkey" "abcdefaei;fadaf=","refid" "virehgqerurt932m125215","provider" "kt","msisdn" "01012345678","deviceid" "0000000000000000","authcode" "43jkl6h3l4"} partner provides credential that meet a specific protocol nfc message app partner-protocol-app-01 {"publickey" "{publickey}","message" "{message}"} partner provides credential that meet a specific protocol for ese nfc message ese partner-protocol-ese-01 {"accesskey" "abcdefg","publickey" "{publickey}","message" "{message}"} nfc feature using message on app nfc message app com samsung wallet applet {"format" "ndef","publickey" "{publickey}","message" "{message}"} check service available devices check samsung pay/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 nameex sm-g925k, sm-r730t servicetype string required service type- wallet samsung wallet 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 card images loyalty description type bgimage + bgcolor bgimage only description display the bgimage and the bgcolor in a predefined ratio display bgimage fully description contact points [dev team] name address wallet technical support https //developer samsung com/dashboard/support