Filter
-
Content Type
-
Category
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Recommendations
Filter
Learn Code Lab
codelabloyalty loyalty cards function as membership credentials, managing membership information through these cards, loyalty points can be administered and redeemed id id cards can fulfill identification verification purposes, such as identity cards, employee cards, and licenses physical documents can be represented through wallet cards, and near field communication nfc -based authentication can be provided reservation reservation cards can contain diverse online booking details, including rental cars, restaurants, and accommodations ongoing reservation information can be managed as a journey pay as you go pay as you go cards allow users to register services that can be charged and utilized according to their preference for convenient use generic card generic cards enable users to create customized cards by selecting preferred card template layouts and designing elements notedepending on your country or region, some card types are not supported if you need assistance, please contact us at developer samsung com/dashboard/support the image below shows the process of managing wallet cards for more information, refer to manage wallet cards set up your environment you will need the following latest version of samsung wallet app from galaxy store samsung galaxy device that supports samsung wallet access to samsung wallet partners site internet browser, such as chrome openssl intellij idea or any java ide optional start the onboarding process partners can manage wallet cards and monitor performance with the samsung wallet partners site to join as partner generate a private key and certificate signing request csr using the openssl command you can follow the instructions in security factors notea private key enables encryption and is the most important component of certificates while csr, which is a necessary factor to obtain a signed certificate, includes the public key and additional information like organization and country proceed to register in the samsung wallet partners site using your samsung account follow the samsung wallet partner onboarding process upload the generated csr for data encryption in encryption setting management section after registration, you will receive a welcome email noteupon receiving the certificates via email, be sure to keep the information safe from exposure and only use them for the following purposes signed certificate used along with the private key to sign data samsung certificate used to encrypt card data and validate authentication tokens in server api headers create a wallet card follow the steps below to create a wallet card in samsung wallet partners site click the wallet cards menu and choose create wallet card fill out the general information form with the details of the wallet card in wallet card template, choose a card type and sub type select the design type and click done you can choose from various types of wallet card templates optimized for partners after inputting all necessary details, click save to set the wallet card status to draft launch the wallet card you can launch and request activation of the card by clicking the launch button upon agreeing to proceed, the launch button text changes to launched and the card status becomes verifying add the card to samsung wallet using the test tool open a web browser on your computer or galaxy mobile device, and go to the following link partner walletsvc samsung com/addtowallettest go to add to wallet tab and click choose key file to upload your private key in the select card dropdown menu, select the created card to display the card details and populate sample data navigate to the form tab and modify the card data as desired notethe structure for configuring wallet cards follows the defined specification you can refer to the full list of card-specific attributes specification scroll down to the bottom of the page and click the add to samsung wallet button click done when a preview of the card shows on your mobile screen with a message indicating that the card has been added to your wallet once the card is added to your samsung wallet app, you can check its details by clicking on it noteyou can also go to the playground tab and add cards to the samsung wallet app even without creating a card on the wallet partners site update the status of the added card if a server api info partner get card data and partner send card state is registered in the wallet card, real-time updates of the user's registered cards can be provided notefor more information, see server interaction modify and update the card's status by utilizing the push notification feature of the test tool navigate to the push notification tab ensure that the correct private key is uploaded and the same card as in the add to wallet tab is selected copy the ref id value from the add to wallet tab and paste it into ref id field in the push notification tab in the status field, enter one of the following card states expired, redeemed, held, suspended, or deleted the current state is set to active then, click the request push notification button check the card in the samsung wallet app to confirm the change tokenize card data and implement the add to samsung wallet button to your service optional notethis step is optional, but if you want to learn how to integrate the add to samsung wallet button into your services like an android app, web app, or email, you can follow these steps the samsung wallet partners site provides generated add to samsung wallet scripts for each wallet card you create you can simply copy and paste these scripts into your partner apps web and android or include them in emails/mms messages to implement the add to wallet button, follow these steps go to the [add to wallet script guide] section of the card you created click show to view the available scripts and then copy the appropriate script for your service develop a program that can generate tokenized card data cdata the cdata represents the actual content of the wallet card and comes in different formats depending on the card type you can check the cdata generation sample code for reference the cdata is derived from the card data, which is in json format for testing purposes, you can utilize the generated json from the test tool follow the implementing atw button guide to determine where to incorporate the generated cdata and gain further insights into this process you're done! congratulations! you have successfully achieved the goal of this code lab topic now, you can utilize the add to samsung wallet service by yourself! to learn more about samsung wallet, visit developer samsung com/wallet
Develop Samsung Wallet
docloyalty card type loyalty sub type others type value description payload object cardtemplate object required wallet card template object cardtemplate prtnrid string 32 required partner id cardtemplate templaterefid string 19 required partner template id cardtemplate title string 32 required wallet card name cardtemplate countrycode string 2 conditional the main headquarters location * required when creating a template cardtemplate cardtype string 100 conditional this value is set to “loyalty” * required when creating a template cardtemplate subtype string 100 conditional this value is set to “others” * required when creating a template cardtemplate prtnrapppckgname string 128 optional the application package name cardtemplate applogoimg string 200 optional the banner logo image url cardtemplate nonetworksupportyn string 1 optional this must be set to either 'y' or 'n' * default 'n' cardtemplate sharebuttonexposureyn string 1 optional this must be set to either 'y' or 'n' * default 'y' cardtemplate privacymodeyn string 1 optional this must be set to either 'y' or 'n' * default 'n' cardtemplate preventcaptureyn string 1 optional this value is a screen capture prevention flag that defines whether the content view prevents screen capture cardtemplate state string 15 optional wallet card's state* default 'draft' cardtemplate testingmodeoff string 1 optional testmode off either 'y' or 'n'* default ‘n’available only when updating templates cardtemplate desc string 500 optional description { "cardtemplate" { "prtnrid" "4082825513190138240", "templaterefid" "2138240408282551316", "title" "wallet card title", "prtnrapppckgname" "prtnrapppckgname", "countrycode" "us", "desc" "desc", "cardtype" "loyalty", "subtype" "others", "applogoimg" "http //www yourdomain com/banner_logo_image png", "nonetworksupportyn" "n", "sharebuttonexposureyn" "n", "privacymodeyn" "n", "preventcaptureyn" "n" } } -id card card type idcard sub type employees, nationals, drivers, others type value description payload object cardtemplate object required wallet card template object cardtemplate prtnrid string 32 required partner id cardtemplate templaterefid string 19 required partner template id cardtemplate title string 32 required wallet card name cardtemplate countrycode string 2 conditional the main headquarters location * required when creating a template cardtemplate cardtype string 100 conditional this value is set to “idcard” * required when creating a template cardtemplate subtype string 100 conditional select from these values employees, nationals, drivers, and others * required when creating a template cardtemplate saveinserveryn string 2 optional this must be set to either 'y' or 'n' * default 'y' cardtemplate prtnrapppckgname string 128 optional the application package name cardtemplate applogoimg string 200 optional the banner logo image url cardtemplate nonetworksupportyn string 1 optional this must be set to either 'y' or 'n' * default 'n' cardtemplate sharebuttonexposureyn string 1 optional this must be set to either 'y' or 'n' * default 'y' cardtemplate privacymodeyn string 1 optional this must be set to either 'y' or 'n' * default 'n' cardtemplate preventcaptureyn string 1 optional this value is a screen capture prevention flag that defines whether the content view prevents screen capture cardtemplate state string 15 optional wallet card's state* default 'draft' cardtemplate testingmodeoff string 1 optional testmode off either 'y' or 'n'* default ‘n’available only when updating templates cardtemplate desc string 500 optional description { "cardtemplate" { "prtnrid" "4082825513190138240", "templaterefid" "2138240408282551317", "title" "wallet card title", "prtnrapppckgname" "prtnrapppckgname", "countrycode" "us", "desc" "desc", "cardtype" "idcard", "subtype" "employees", "applogoimg" "http //www yourdomain com/banner_logo_image png", "saveinserveryn" "y", "nonetworksupportyn" "n", "sharebuttonexposureyn" "y", "privacymodeyn" "n", "preventcaptureyn" "n" } } -pay as you go card type payasyougo sub type evcharges type value description payload object cardtemplate object required wallet card template object cardtemplate prtnrid string 32 required partner id cardtemplate templaterefid string 19 required partner template id cardtemplate title string 32 required wallet card name cardtemplate countrycode string 2 conditional the main headquarters location * required when creating a template cardtemplate cardtype string 100 conditional this value is set to “payasyougo” * required when creating a template cardtemplate subtype string 100 conditional this value is set to “evcharges” * required when creating a template cardtemplate prtnrapppckgname string 128 optional app package name cardtemplate applogoimg string 200 optional the banner logo image url cardtemplate nonetworksupportyn string 1 optional this must be set to either 'y' or 'n' * default 'n' cardtemplate sharebuttonexposureyn string 1 optional this must be set to either 'y' or 'n' * default 'y' cardtemplate privacymodeyn string 1 optional this must be set to either 'y' or 'n' * default 'n' cardtemplate preventcaptureyn string 1 optional this value is a screen capture prevention flag that defines whether the content view prevents screen capture cardtemplate state string 15 optional wallet card's state* default 'draft' cardtemplate testingmodeoff string 1 optional testmode offeither 'y' or 'n'* default ‘n’available only when updating templates cardtemplate desc string 500 optional description { "cardtemplate" { "prtnrid" "4082825513190138240", "templaterefid" "2138240408282551318", "title" "wallet card title", "prtnrapppckgname" "prtnrapppckgname", "countrycode" "us", "desc" "desc", "cardtype" "payasyougo", "subtype" "evcharges", "applogoimg" "http //www yourdomain com/banner_logo_image png", "nonetworksupportyn" "n", "sharebuttonexposureyn" "y", "privacymodeyn" "n", "preventcaptureyn" "n" } } -generic card card type generic sub type others type value description payload object cardtemplate object required wallet card template object cardtemplate prtnrid string 32 required partner id cardtemplate templaterefid string 19 required partner template id cardtemplate title string 32 required wallet card name cardtemplate countrycode string 2 conditional the main headquarters location * required when creating a template cardtemplate cardtype string 100 conditional this value is set to “generic” * required when creating a template cardtemplate subtype string 100 conditional this value is set to “others” * required when creating a template cardtemplate designtype string 100 optional select from these values “generic 01”, “generic 02”, “generic 03”* default “generic 01” cardtemplate prtnrapppckgname string 128 optional app package name cardtemplate applogoimg string 200 optional banner logo image url cardtemplate nonetworksupportyn string 1 optional either 'y' or 'n'* default 'n' cardtemplate privacymodeyn string 1 optional either 'y' or 'n'* default 'n' cardtemplate preventcaptureyn string 1 optional screen capture prevention flag cardtemplate category string 20 optional select from the following values “parking_pass”, “membership”, “reservations”, “insurance”, “health”, “receipt”, “coupon_stamp”, “note”, “photo”, and “others” cardtemplate state string 15 optional wallet card's state* default 'draft' cardtemplate testingmodeoff string 1 optional testmode offeither 'y' or 'n'* default ‘n’available only when updating templates cardtemplate desc string 500 optional description { "cardtemplate" { "prtnrid" "4082825513190138240", "templaterefid" "2138240408282551319", "title" "wallet card title", "prtnrapppckgname" "prtnrapppckgname", "countrycode" "us", "desc" "desc", "cardtype" "generic", "subtype" "others", "applogoimg" "http //www yourdomain com/banner_logo_image png", "designtype" "generic 02", "nonetworksupportyn" "n", "category" "membership", "privacymodeyn" "n", "preventcaptureyn" "n" } }
Develop Samsung Wallet
docloyalty 'loyalty' cards support enrolling loyalty cards also known as membership links urls to get points in real time can be provided in the partners portal if a partner needs to integrate communication between samsung wallet server and the partner’s server to support the feature, the partner has to set the links in the partners portal wallet card type wallet card subtype loyalty others type value description attributes {fields} 1 title string 32 required main title e g ,samsung loyalty card 2 eventid string 36 optional if full cancelation of the event occurs, find and process all loyalty cards with this id 3 groupingid string 36 optional identifier used to group related cards 4 orderid string 36 optional a unique identifier for an order 5 subtitle1 string 32 optional the auxiliary field which displays supporting information 6 logoimage string 256 optional logo image url to be displayed in the card item the file size should not exceed 256 kb 7 logoimage darkurl string 256 optional logo image url in dark mode the file size should not exceed 256 kb 8 logoimage lighturl string 256 optional logo image url in light mode the file size should not exceed 256 kb 9 providername string 32 required loyalty card provider name 10 startdate long 13 optional start date display start date epoch timestamp in milliseconds 11 enddate long 13 optional end date display end date epoch timestamp in milliseconds 12 locations string 1024 optional list of locations where the card can be used * see location format 13 noticedesc string 5000 optional text of notice *html supported 14 csinfo string 512 optional providers’ customer service information using data in json format converted to escape string * allowed items call, email, website, facebook, pinterest, x, or instagram * see the example below 15 applinklogo string 256 required app link image url the file size should not exceed 256 kb 16 applinkname string 32 required app link name 17 applinkdata string 256 required information about the partner app link 18 bgimage string 256 optional background image for a card art the recommended size for image resources is 888 x 555 px 19 bgcolor string 8 optional color of the card art e g , #00ffff 20 fontcolor string 8 optional color of the font on the card art acceptable values dark, light 21 blinkcolor string 8 optional color of the blinking effect which indicates that a card cannot be captured in the indicator area e g , #00ffff 22 barcode value string 4096 optional actual data that is delivered when the barcode/qr code is scanned 23 barcode serialtype string 32 optional presentation type e g , serialnumber, barcode * see barcode format 24 barcode ptformat string 32 optional presentation format e g , barcode, qrcode, serial * see barcode format 25 barcode ptsubformat string 32 optional presentation sub-format e g , code_128, qr_code *see barcode format 26 barcode errorcorrectionlevel string 4 optional amount of redundancy or error correction data included in the code there are four error correction levels available in qr codes * code options l/m/q/h 27 merchantid string 36 optional merchant identifier 28 merchantname string 32 optional merchant name to display 29 amount string 32 optional total amount of points or initial balance this is going to be shown as received it is recommended to use a one letter currency symbol e g , $ 1,000, 1,000p 30 balance string 32 optional available points or remaining balance this is going to be shown as received it is recommended to use a one letter currency symbol e g , $ 1,000, 1,000p 31 summaryurl string 256 optional webpage url that shows details, such as balance or transactions history example { "card" { "type" "loyalty", "subtype" "others", "data" [ { "refid" "b3fdc982-28c9-47a3-b02f-d484779698a8", "createdat" 1672574400000, "updatedat" 1672574400000, "language" "en", "attributes" { "title" "samsung loyalty card", "eventid" "event-001", "logoimage" "https //gpp walletsvc samsung com/mcs/images/contents/wallet_intro_logo png", "logoimage darkurl" "https //gpp walletsvc samsung com/mcs/images/contents/wallet_intro_logo png", "providername" "samsung loyalty card provider", "noticedesc" "<ul><li>loyalty card test</li></ul>", "csinfo" " {\"call\" \"0000-0000\",\"email\" \"samsungwallet@samsungwallet com\",\"website\" \"https //www samsungwallet com/cs/\",\"instagram\" \"https //www instagram com/samsungwallet\",\"pinterest\" \"https //www pinterest com/samsungwallet\",\"x\" \"https //www twitter com/samsungwallet\",\"facebook\" \"https //www facebook com/samsungwallet\" }", "applinklogo" "https //play-lh googleusercontent com/znfa1roz7hpv9j-jiacbjmjudl2x-fnuwte0oyvbbcwvf5vpzoqqikbxgk7d-aptvag=w240-h480-rw", "applinkname" "loyalty card link", "applinkdata" "https //www samsung com/", "bgcolor" "#0a1a4f", "barcode value" "cs16138353212584806754fg1802", "barcode serialtype" "qrcode", "barcode ptformat" "qrcodeserial", "barcode ptsubformat" "qr_code", "amount" "1,000p", "balance" "500p" } } ] } } digital ids 'digital id' cards are used to present identification for employees, students, drivers, guests, etc wallet card type wallet card subtype idcard employees, nationals, students, drivers, guests, others -employees -nationals -students -drivers type value description attributes {fields} 1 title string 32 required main title of cardse g , commercial access, employee badge 2 holdername string 64 required name of card holders 3 secondholdername string 64 optional second name of card holders 4 organization string 64 optional organization of card holders belongingi e , name of department, division, affiliation, association or team, name of college or school 5 position string 64 optional position of card holderse g , engineer, 5th grade 6 identifier string 64 required unique id valuei e , unique card number assigned to the card holdere g , s 123 456 789 012 x 7 idnumber string 64 optional representative value for an idi e , id number, document number, card/roll number assigned by the institution or collegee g , b19mba115 8 idstatus string 64 optional card holder's statusex full time student, graduate, exchange, post-graduate, under-graduate 9 address string 256 optional address of card holders 10 placeoflocation string 64 optional place of location associated with the cardholder 11 idphoto string 128k optional holder’s photo image data encoded base64the file size should not be greater than 128 kb 12 idphoto format string 32 optional image file formate g , jpeg, png* unsupported image formats may exist 13 idphoto status string 16 optional status of the dataallowed value unchanged 14 document string 1024k optional first document of identity 15 document format string 32 optional document format- allowed value pdf, jpeg, png 16 document status string 16 optional status of the dataallowed value unchanged 17 issuedate long 13 required issue date epoch timestamp in milliseconds 18 birthdate string 16 optional date of birth 19 gender string 16 optional gender of card holders 20 classification string 16 optional classified identity type 21 expiry long 13 optional expiry date in timestamp format issued data is cleaned up after it expires epoch timestamp in milliseconds 22 contacts string 32 optional personal contact information such as phone number 23 logoimage string 256 optional logo image url to be displayed in card item the file size should not exceed 256 kb 24 logoimage darkurl string 256 optional logo image url in dark mode the file size should not exceed 256 kb* if this value does not exist, logoimage will be substituted 25 logoimage lighturl string 256 optional logo image url in light mode the file size should not exceed 256 kb* if this value does not exist, logoimage will be substituted 26 logotext string 16 optional text as an alternative to logoimage 27 providername string 32 required content provider namei e , partnering institute 28 issuername string 32 optional place of issue or issuing authority name 29 extrainfo string 512 optional additional informationi e , bloodgroup, guardianname, govrefid* see additional information format 30 noticedesc string 5000 optional text of the notice * long content is allowed * see additional information format 31 csinfo string 512 required providers’ customer service information using data in json format converted to escape string * allowed items call, email, or website* see the example below 32 privacymodeyn string 1 optional whether or not to require user authentication when using the card either ‘y’ or ‘n’* default ‘n’ 33 applinklogo string 256 optional app link image url the file size should not exceed 256 kb 34 applinkname string 32 optional app link name 35 applinkdata string 256 optional information about the partner app link 36 locations string 1024 optional list of locations where the card can be used* see location format 37 coverimage string 256 optional card cover image urlthe file size should not exceed 512 kb the recommended size for image resources is 888 x 555 px 38 bgimage string 256 optional card background image urlthe file size should not exceed 512 kb the recommended size for image resources is 888 x 555 px 39 bgcolor string 8 optional color of the card art support hex color code e g , #015aaa 40 fontcolor string 8 optional color of the font on the card art allowed value black, white 41 blinkcolor string 8 optional color of the blinking effect in the indicator area support hex color code e g , #015aaa 42 preventcaptureyn string 1 optional flag whether this wallet card view prevents screen capture either 'y' or 'n' * default 'n' 43 barcode value string 4096 optional actual data that is delivered when the barcode/qr code is scanned 44 barcode serialtype string 32 optional presentation type e g , serialnumber, barcode, * see barcode format 45 barcode ptformat string 32 optional presentation format e g , barcode, qrcode, serial, * see barcode format 46 barcode ptsubformat string 32 optional presentation sub-format e g , code_128, qr_code, * see barcode format 47 barcode errorcorrectionlevel string 4 optional amount of redundancy or error correction data included in the code there are four error correction levels available in qr codes - code options l/m/q/h * default l 48 barcode interval string 4 optional update interval if support for dynamic updates epoch timestamp in milliseconds 49 authentication string 64 optional authentication data which meets choose options * see authentication for details 50 provision data string 512 optional elements to complete provisioning* see provisioning for details 51 provision interval string 16 optional update interval if support for dynamic updatesepoch timestamp in milliseconds example { "card" { "type" "idcard", "subtype" "employees", "data" [ { "refid" "identitycard-bpo1r3e5-3313-0991-z404-sq12994414u8", "createdat" 1658385817000, "updatedat" 1658385817000, "language" "en", "attributes" { "title" "employee id card", "holdername" "kim samsung", "secondholdername" " samsung ", "organization" "digital wallet, mx", "position" "professional", "identifier" "2306070003", "idphoto" "{base64 encoded image data}", "idphoto format" "jpeg", "document" "{base64 encoded pdf data}", "document format" "pdf", "issuedate" "1658385817000", "expiry" "1765855665000", "logoimage" "https // /logo png", "providername" "samsung electronics", "extrainfo" "{\"count\" 1,\"info\" [{\"title\" \"shortcode\",\"content\" [\"404457\"]}]}", "noticedesc" "{\"count\" 2,\"info\" [{\"title\" \"notice1\",\"content\" [\"description1\",\"description2\"]},{\"title\" \"notice2\",\"content\" [\"description1\",\"description2\"]}]}", "csinfo" "{\"call\" \"555 123-4567\", \"email\" \"cs@email com\", \"website\" \"https //homepage com/cs\"}", "applinkname" "samsung electronics", "applinklogo" "https // /applinklogo png", "applinkdata" "https //www applinkorweblink com", "coverimage" "https // /card/cover png", "bgimage" "https // /card/background png", "fontcolor" "dark", "barcode value" "5728306720836720763017601", "barcode serialtype" "qrcode", "barcode ptformat" "qrcode", "barcode ptsubformat" "qr_code", "barcode interval" "300000", "authentication" "samsung@samsung com", "provision data" "{\"appkey\" \"abcdefaei;fadaf=\",\"telno\" \"01012345678\",\"provider\" \"sec\",\"id\" \"0000000000000000\",\"authkey\" \"a3b7fgj0ea\"}" }, "localization" [ { "language" "ko", "attributes" { "title" "사원증", "holdername" "김삼성", "secondholdername" "kim samsung", "providername" "삼성전자" } } ] } ] } } pay as you go 'pay as you go' card supports a system that pays just before using the cost for the service wallet card type wallet card subtype payasyougo evcharges, others type value description attributes {fields} 1 title string 32 required main title of cardse g , samsung charge card 2 subtitle1 string 32 optional the auxiliary field which displays supporting information 3 logoimage string 256 optional logo image url to be displayed in the card item the file size must not be greater than 256 kb 4 logoimage darkurl string 256 optional logo image url in dark mode the file size should not exceed 256 kb* if this value does not exist, logoimage will be substituted 5 logoimage lighturl string 256 optional logo image url in light mode the file size must not be greater than 256 kb * if this value does not exist, logoimage will be substituted 6 providername string 32 optional content provider name 7 holdername string 64 optional name of card holders 8 preventcaptureyn string 1 optional flag whether this wallet card view prevents screen capture either ‘y’ or ‘n’, the default value is ‘n’ 9 startdate long 13 optional start date display start date epoch timestamp in milliseconds 10 enddate long 13 optional end date display end date epoch timestamp in milliseconds 11 locations string 1024 optional list of locations where the card can be used * see location format 12 noticedesc string 5000 required text of the benefits using data in json format converted to escape string* see additional information information format 13 csinfo string 512 optional providers’ customer service information using data in json format converted to escape string * allowed items call, email, website, youtube, instagram, privacynotice, or termsandcondition* see the example below 14 applinklogo string 256 required app link image url the file size must not be greater than 256 kb 15 applinkname string 32 required app link name 16 applinkdata string 256 required information about the partner app link 17 bgimage string 256 optional url for card art background image 18 bgcolor string 8 optional color of the card art e g , #00ffff 19 fontcolor string 8 optional color of the font on the card art supported colors are white or black #000000 or #ffffff 20 blinkcolor string 8 optional color of the blinking effect which indicates that a card cannot be captured in the indicator area e g , #00ffff 21 barcode value string 4096 conditional barcode data, serial number * required if serialtype isn’t 'none' 22 barcode serialtype string 32 required presentation type barcode/qr/serial/none * see barcode format 23 barcode ptformat string 32 conditional presentation format * see barcode format* required if serialtype isn’t 'none' 24 barcode ptsubformat string 32 conditional 25 barcode pin string 16 optional pin to show with a barcode 26 identifier string 64 optional unique id value such as a membership number 27 grade string 32 optional grade value 28 authentication string 64 optional authentication data which meets choose options * see authentication for details 29 provision data string 512 optional elements to complete provisioning* see provisioning for details 30 transactions string 4096 optional transaction history * long content is allowed * see transactions format 31 summaryurl string 256 optional webpage url that show details, such as transactions example { "card" { "type" "payasyougo", "subtype" "evcharges", "data" [ { "refid" "b3fdc982-28c9-47a3-b02f-d484779698a7", "createdat" 1672574400000, "updatedat" 1672574400000, "language" "en", "attributes" { "title" "ev charge card", "logoimage" "https //gpp walletsvc samsung com/mcs/images/contents/wallet_intro_logo png", "logoimage darkurl" "https //gpp walletsvc samsung com/mcs/images/contents/wallet_intro_logo png", "providername" "ev-samsung", "holdername" "ms jane doe", "preventcaptureyn" "y", "enddate" 1772574400000, "noticedesc" "{\"count\" 2,\"info\" [{\"title\" \"포인트 적립\",\"content\" [\"결제금액 1000원당 포인트가 적립됩니다 \"]},{\"title\" \"포인트 사용방법\",\"content\" [\"적립하신 포인트의 유효기간은 발생일로부터 5년입니다 \",\"유효기간이 지난 포인트는 소멸됩니다 \"]}]}", "csinfo" " {\"call\" \"0000-0000\",\"website\" \"https //www samsungwallet com/cs/\",\"instagram\" \"https //www instagram com/samsungwallet\",\"youtube\" \"https //www youtube com/@samsungwallet\",\"privacynotice\" \"https //privacy samsungwallet com/\",\"termsandcondition\" \"https //www samsungwallet com/tnc\" }", "applinklogo" "https //play-lh googleusercontent com/znfa1roz7hpv9j-jiacbjmjudl2x-fnuwte0oyvbbcwvf5vpzoqqikbxgk7d-aptvag=w240-h480-rw", "applinkname" "ev charge link", "applinkdata" "https //www samsungev com/", "bgcolor" "#0a1a4f", "fontcolor" "#ffffff", "blinkcolor" "#00ffff", "barcode value" "1234000067890000", "barcode serialtype" "qrcode", "barcode ptformat" "qrcodeserial", "barcode ptsubformat" "qr_code", "barcode pin" "1234", "identifier" "ev-001", "grade" "prime", "authentication" "sdaiwegjhewoghewoihgewo", "provision data" "asd2hfih9gwejdahgi4uaewhgeo6whgo12ewhgoewahg1iawpriuq7hg5wel", "transactions" "{\"transactions\" [{\"date\" \"2023-09-10 12 00 00\",\"description\" \"ev-samsung suwon\"},{\"date\" \"2023-09-20 18 00 00\",\"description\" \"ev-samsung gangnam\"}]}" } } ] } } generic card 'generic card' is defined for registering various forms of cards that aren't defined as other types partners can customize the items on the generic card to display by connecting them with card data wallet card type wallet card subtype generic others type value description attributes {fields} 1 title string 32 required main title 2 subtitle string 32 optional the auxiliary field which displays supporting information 3 providername string 32 required provider name 4 eventid string 32 optional event identifier 5 groupingid string 32 optional identifier used to group related cards 6 startdate long 13 required start date display start date epoch timestamp in milliseconds 7 startdate relativenotitime string 4 optional the relative time from startdate in minutes to provide a notification to the usere g , 5, 10, 15, 30, 60, and up to 2880 8 enddate long 13 optional end date display end date epoch timestamp in milliseconds 9 enddate relativenotitime string 4 optional the relative time from enddate in minutes to provide a notification to the usere g , 5, 10, 15, 30, 60, and up to 2880 10 logoimage string 256 optional logo image url to be displayed in card item the file size should not exceed 256 kb 11 logoimage darkurl string 256 optional logo image url in dark mode the file size should not exceed 256 kb* if this value does not exist, logoimage will be substituted 12 logoimage lighturl string 256 optional logo image url in light modethe file size should not exceed 256 kb* if this value does not exist, logoimage will be substituted 13 bgimage string 256 optional card background image urlthe file size should not exceed 512 kbthe recommended size for image resources is 888 x 555 px 14 text{i} string 64 optional text item i 1~12 15 image1 string 128k optional image itemuse only type 3 16 image1 lighturl string 256 optional image item in light mode 17 image1 darkurl string 256 optional image item in dark mode 18 image1 status string 16 optional image item status 19 serial{i} value string 4096 optional actual data that is delivered when the barcode/qr code is scanned i 1~2 20 serial{i} serialtype string 32 optional presentation typee g , serialnumber, barcode, * see barcode format 21 serial{i} ptformat string 32 optional presentation formate g , barcode, qrcode, serial, * see barcode format 22 serial{i} ptsubformat string 32 optional presentation sub-formate g , code_128, qr_code, * see barcode format 23 serial{i} errorcorrectionlevel string 4 optional amount of redundancy or error correction data included in the code there are four error correction levels available in qr codes - code options l/m/q/h 24 noticedesc string 1024 required notice description * long content is allowed * see additional information format 25 csinfo string 512 optional providers’ customer service information using data in json format converted to escape string* allowed items calls, emails, or websites 26 privacymodeyn string 1 optional whether or not to require user authentication when using the cardeither ‘y’ or ‘n’* default ‘n’ 27 bgcolor string 8 optional color of the card art e g , #00ffff 28 fontcolor string 8 optional color of the font on the card art acceptable values dark, light 29 nonetworksupportyn string 1 optional sets whether to support to open the wallet card under 'no network' status either 'y' or 'n'* default 'n' 30 applinklogo string 256 required app link image url the file size should not exceed 256 kb 31 applinkname string 32 required app link name 32 applinkdata string 256 required information about the partner app link 33 locations string 1024 optional list of locations where the card can be used * see location format example { "card" { "type" "generic", "subtype" "others", "data" [ { "createdat" 1661745824345, "updatedat" 1661745824345, "language" "en", "refid" "refid-012345", "attributes" { "title" "samsung generic card", "subtitle" "personal members", "providername" "samsung", "startdate" 1661751274000, "startdate utcoffset" "utc+9", "enddate" 1761778000000, "enddate utcoffset" "utc+9", "enddate relativenotitime" "1440", "text1" "13047623", "text2" "silver", "text3" "suwon station branch", "text4" "031 000-1235", "image1" "https //www samsung com/images/image1 png", "image1 darkurl" "https //www samsung com/images/dark png", "image1 lighturl" "https //www samsung com/images/light png", "serial1 value" ">1180mm2241b7c 0000000000000298060000000000 0 090870907 ", "serial1 serialtype" "qrcode", "serial1 ptformat" "qrcode", "serial1 ptsubformat" "qr_code", "bgcolor" "#ff5000", "fontcolor" "dark", "noticedesc" "{\"count\" 2,\"info\" [{\"title\" \"notice1\",\"content\" [\"description1\",\"description2\"]},{\"title\" \"notice2\",\"content\" [\"description1\",\"description2\"]}]}", "csinfo" "{\"calls\" [{\"key\" \"emergency\",\"value\" \"82 123-4567\"},{\"key\" \"customer service\",\"value\" \"82 123-9876\"}],\"emails\" [{\"key\" \"cs team\",\"value\" \"cs@atwsample com\"}],\"websites\" [{\"key\" \"faq\",\"value\" \"https //atwhomepage com/faq\"},{\"key\" \"support\",\"value\" \"https //atwhomepage com/support\"}]}", "applinkdata" "https //www samsung com/", "applinklogo" "https //www samsung com/logo png", "applinkname" "samsung" }, "localization" [ { "language" "ko", "attributes" { "title" "삼성 제네릭 카드", "subtitle" "개인 멤버스", "providername" "삼성", "text2" "실버 등급", "text3" "수원역점" } } ] } ] } }
Develop Samsung Pay
apiloyalty indicates that the card type is loyalty card static final string card_type_transit indicates that the card type is transit card static final string card_type_vaccine_pass indicates that the card type is vaccine pass static final string disposed card is deleted from samsung pay static final string expired card is registered on samsung pay, but its current status is "expired" this might occur if the card or token expiration time has reached and samsung pay has not renewed it static final string pending_activation card is registered on samsung pay but not activated yet a notification of card activation is expected to be pushed to samsung pay in a moment static final string pending_provision card is not fully registered on samsung pay and current state is "pending provision" usually, this state returns when the user has not completed the secondary authentication idv static final string suspended card is registered on samsung pay and current state is "suspended" suspend can be triggered by issuer, card network, or the user fields inherited from interface android os parcelable contents_file_descriptor, parcelable_write_return_value method summary all methodsinstance methodsconcrete methods modifier and type method description spaysdk brand getcardbrand api to get card brand string getcardid api to get unique identification of a card in samsung pay android os bundle getcardinfo api to get extra card information if any related to the card string getcardstatus api to get current status of the card methods inherited from class java lang object equals, getclass, hashcode, notify, notifyall, wait, wait, wait field details active public static final string active card is fully registered on samsung pay and current state is "active" since api level 1 1 see also constant field values disposed public static final string disposed card is deleted from samsung pay since api level 1 1 see also constant field values expired public static final string expired card is registered on samsung pay, but its current status is "expired" this might occur if the card or token expiration time has reached and samsung pay has not renewed it since api level 1 1 see also constant field values pending_provision public static final string pending_provision card is not fully registered on samsung pay and current state is "pending provision" usually, this state returns when the user has not completed the secondary authentication idv since api level 1 1 see also constant field values suspended public static final string suspended card is registered on samsung pay and current state is "suspended" suspend can be triggered by issuer, card network, or the user since api level 1 1 see also constant field values pending_activation public static final string pending_activation card is registered on samsung pay but not activated yet a notification of card activation is expected to be pushed to samsung pay in a moment since api level 2 3 see also constant field values card_type public static final string card_type indicates that the key for card type since api level 1 8 see also constant field values card_type_credit_debit public static final string card_type_credit_debit indicates that the card type is either credit or debit this is a valid type for addcardinfo setcardtype string since api level 1 1 see also constant field values card_type_gift public static final string card_type_gift indicates that the card type is gift card since api level 1 1 see also constant field values card_type_loyalty public static final string card_type_loyalty indicates that the card type is loyalty card since api level 1 1 see also constant field values card_type_credit public static final string card_type_credit indicates that the card type is credit card this is a valid type for addcardinfo setcardtype string since api level 1 2 see also constant field values card_type_debit public static final string card_type_debit indicates that the card type is debit card this is a valid type for addcardinfo setcardtype string since api level 1 2 see also constant field values card_type_transit public static final string card_type_transit indicates that the card type is transit card since api level 1 8 see also constant field values card_type_vaccine_pass public static final string card_type_vaccine_pass indicates that the card type is vaccine pass since api level 2 16 see also constant field values method details getcardid public string getcardid api to get unique identification of a card in samsung pay returns unique id to refer a card in samsung pay since api level 1 1 getcardbrand public spaysdk brand getcardbrand api to get card brand returns brand name of the card since api level 1 9 see also spaysdk brand getcardinfo public android os bundle getcardinfo api to get extra card information if any related to the card returns extra cardinfo the following are list of extra card information provided on the bundle keys values apptoappconstants extra_app2app_intent string app2app intent name apptoappconstants extra_app2app_payload string app2app payload spaysdk extra_last4_dpan string last 4 digit of dpan spaysdk extra_last4_fpan string last 4 digit of fpan spaysdk extra_card_type card_type_credit_debit card_type_credit card_type_debit card_type_gift card_type_loyalty card_type_transit spaysdk extra_device_type samsungpay#device_type_phone samsungpay#device_type_gear spaysdk extra_issuer_name string issuername issuercode for korean issuers since api level 1 1 getcardstatus public string getcardstatus api to get current status of the card returns current card status the status can be one of the following pending_provision pending_activation active suspended disposed expired since api level 1 1 samsung electronics samsung pay sdk 2 22 00 - nov 19 2024
Develop Samsung Pay
apiloyalty indicates that the card tokenization provider is loyalty static final string provider_mada indicates that the card tokenization provider is mada static final string provider_mastercard indicates that the card tokenization provider is mastercard static final string provider_mir indicates that the card tokenization provider is mir static final string provider_napas indicates that the card tokenization provider is napas static final string provider_pagobancomat indicates that the card tokenization provider is pagobancomat static final string provider_paypal indicates that the card tokenization provider is paypal static final string provider_plcc indicates that the card tokenization provider is plcc static final string provider_vaccine_pass indicates that the card tokenization provider is vaccinepass refer cardmanager addcard addcardinfo, addcardlistener in detail static final string provider_visa indicates that the card tokenization provider is visa fields inherited from interface android os parcelable contents_file_descriptor, parcelable_write_return_value constructor summary constructors constructor description addcardinfo string cardtype, string tokenizationprovider, android os bundle carddetail constructor to create addcardinfo instance method summary all methodsinstance methodsconcrete methods modifier and type method description android os bundle getcarddetail api to get card details string getcardtype api to get card type string gettokenizationprovider api to get tokenization provider example vi, mc, ax, ds, and so on void setcarddetail android os bundle carddetail api to set extra card details void setcardtype string cardtype api to set card type void settokenizationprovider string tokenizationprovider api to set tokenization provider methods inherited from class java lang object equals, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait field details extra_provision_payload public static final string extra_provision_payload key to represent encrypted blob from issuer on carddetail bundle since api level 1 2 see also constant field values extra_issuer_id public static final string extra_issuer_id key to represent issuer bin range this field is mandatory for elo since api level 1 2 see also constant field values provider_visa public static final string provider_visa indicates that the card tokenization provider is visa since api level 1 2 see also constant field values provider_mastercard public static final string provider_mastercard indicates that the card tokenization provider is mastercard since api level 1 2 see also constant field values provider_amex public static final string provider_amex indicates that the card tokenization provider is amex since api level 1 2 see also constant field values provider_discover public static final string provider_discover indicates that the card tokenization provider is discover since api level 1 2 see also constant field values provider_plcc public static final string provider_plcc indicates that the card tokenization provider is plcc since api level 1 2 see also constant field values provider_gift public static final string provider_gift indicates that the card tokenization provider is gift since api level 1 2 see also constant field values provider_loyalty public static final string provider_loyalty indicates that the card tokenization provider is loyalty since api level 1 2 see also constant field values provider_paypal public static final string provider_paypal indicates that the card tokenization provider is paypal since api level 2 0 see also constant field values provider_gemalto public static final string provider_gemalto indicates that the card tokenization provider is gemalto since api level 2 3 see also constant field values provider_napas public static final string provider_napas indicates that the card tokenization provider is napas since api level 2 3 see also constant field values provider_mir public static final string provider_mir indicates that the card tokenization provider is mir since api level 2 3 see also constant field values provider_pagobancomat public static final string provider_pagobancomat indicates that the card tokenization provider is pagobancomat since api level 2 7 see also constant field values extra_samsung_pay_card public static final string extra_samsung_pay_card key to represent a samsung pay card for push provisioning if the key value is true, the current push provisioning card will have a samsung pay card type in samsung pay application this is only for specific issuer in uk since api level 2 14 see also constant field values provider_vaccine_pass public static final string provider_vaccine_pass indicates that the card tokenization provider is vaccinepass refer cardmanager addcard addcardinfo, addcardlistener in detail cardmanager cardmanager = new cardmanager ct, pinfo ; string cardtype = card card_type_vaccine_pass; string tokenizationprovider = addcardinfo provider_vaccine_pass; string payload = "please follow json object specification"; bundle carddetail = new bundle ; carddetail putstring addcardinfo extra_provision_payload, payload ; addcardinfo addcardinfo = new addcardinfo cardtype, tokenizationprovider, carddetail ; cardmanager addcard addcardinfo, new addcardlistener { @override public void onsuccess int status, card card { log d tag, "onsuccess callback is called" ; } @override public void onfail int errorcode, bundle errordata { log e tag, "onfail callback is called, errorcode " + errorcode ; if errordata != null && errordata containskey spaysdk extra_error_reason_message { log e tag, "onfail extra reason message " + errordata getstring spaysdk extra_error_reason_message ; } } @override public void onprogress int currentcount, int totalcount, bundle bundledata { log d tag,"onprogress callback is called " + currentcount + " / " + totalcount ; } } ; json object specification mandatory fields version, cardid, type, cardart, qrdata, decoding, chunks, chunk, provider name, patient name, vaccine product, vaccine date, performer { "version" "1 0", "cardid" "xxxx-xxxxx-xxxxxxxxx", "type" "vaccinationrecordcard", "cardart" "https //issuer logo url location/logo png", "qrdata" { "decoding" "none", "chunks" [ "shc /012345678901234567890123456789" ] }, "expirationdate" "20231011", "provider" { "name" "vaccine pass provider name" }, "issuer" { "name" "vaccine pass issuer name" }, "patient" { "dateofbirth" "19510120", "name" { "family" "anyperson", "given" "john b " } }, "vaccinations" [ { "vaccine" { "product" "moderna", "lot" "0000001", "date" "20210101" }, "performer" { "name" "abc general hospital", "identityassurancelevel" "ial1 2" } }, { "vaccine" { "product" "moderna", "lot" "0000007", "date" "20210129" }, "performer" { "name" "abc general hospital", "identityassurancelevel" "ial1 2" } } ] } since api level 2 18 see also constant field values extra_key_moscow_transit public static final string extra_key_moscow_transit key to send extra transit card data to samsung pay for russia virtual troika project the format of the data should be json string object since api level 2 17 see also constant field values provider_mada public static final string provider_mada indicates that the card tokenization provider is mada since api level 2 22 see also constant field values provider_elo public static final string provider_elo indicates that the card tokenization provider is elo since api level 2 21 see also constant field values constructor details addcardinfo public addcardinfo @nonnull string cardtype, @nonnull string tokenizationprovider, @nonnull android os bundle carddetail constructor to create addcardinfo instance parameters cardtype - card type to add tokenizationprovider - tokenization provider of the card carddetail - card detail which partner wants to pass to samsung pay throws illegalargumentexception - if not allowed card type is used or carddetail does not contain extra_provision_payload nullpointerexception - if tokenizationprovider or carddetail is null since api level 1 2 method details setcarddetail public void setcarddetail @nonnull android os bundle carddetail api to set extra card details parameters carddetail - card detail which partner wants to pass to samsung pay bundle key-value pairs are defined as follows keys values extra_provision_payload string provisionpayload throws nullpointerexception - if carddetail is null illegalargumentexception - if carddetail does not contain extra_provision_payload since api level 1 2 settokenizationprovider public void settokenizationprovider @nonnull string tokenizationprovider api to set tokenization provider parameters tokenizationprovider - tokenization provider of the card tokenization provider can be one of the following provider_visa provider_mastercard provider_amex provider_discover provider_gemalto provider_plcc provider_gift provider_loyalty provider_paypal provider_napas provider_mir provider_pagobancomat provider_mada provider_elo throws nullpointerexception - if tokenization provider is null since api level 1 2 setcardtype public void setcardtype string cardtype api to set card type parameters cardtype - card type to add card type can be one of the following card card_type_credit_debit card card_type_credit card card_type_debit throws illegalargumentexception - if not allowed card type is used since api level 1 2 getcarddetail public android os bundle getcarddetail api to get card details since api level 1 2 gettokenizationprovider public string gettokenizationprovider api to get tokenization provider example vi, mc, ax, ds, and so on since api level 1 2 getcardtype public string getcardtype api to get card type since api level 1 2 samsung electronics samsung pay sdk 2 22 00 - nov 19 2024
Develop Samsung Wallet
docloyalty description type bgimage + bgcolor bgimage only description display the bgimage and the bgcolor in a predefined ratio display bgimage fully description
Develop Samsung Wallet
docloyalty membership view wallet card you can view all registered information for a wallet card, as well as edit and delete it launch wallet cards verifying status you can launch and activate cards, at which point they move to verification you can activate a card by clicking the "launch" button once a card is launched, the button text changes to 'launched' the activation cannot be canceled when a card is launched, its status changes to 'verifying', and then to ‘active’ after administrator approval launch wallet cards rejected status if the wallet card is rejected after launching, you can modify the card and re-launch the administrator registers the reason for rejection when rejecting the launched wallet card it is sent to the partner by email from the system, including the reason for rejection partners can apply for launch again by checking the reason for rejection and modifying the wallet card information testing mode you can test a card internally to make sure everything works before you officially expose it to users by default, the ‘testing mode’ option is enabled all data generated in testing mode is periodically deleted card exposure is not affected even when the testing mode is enabled be sure to turn off the testing mode after the test is over testing mode on → testing mode off admin approval active status all launched cards are activated after the administrator's approval when a card is launched, its status changes to 'verifying' and then to 'active' after administrator approval when the card is activated, it is made visible to the user "add to wallet" integration for wallet integration, you need to insert an "add to wallet" script to your system the "add to wallet" script is available for web, android, and email/mms each system has different script composition to implement an "add to wallet" button, follow the procedure below create the tokenized card data cdata card data is the actual content data of wallet card and it has several formats based on the card type refer to cdata generation sample code for details copy the sample "add to wallet" script from the partners portal’s wallet card page and replace "cdata" with the data token created above apply the script to your system see partners portal’s wallet card and android integration sample code for details below is the "add to wallet" script guide in the partners portal for "add to wallet" integration, you may need some base data you can find that and other necessary information on partners portal and wallet api spec you can also add image beacon in the script for tracking effect analysis merchant push notification partners can create a message template for sending pushes on each of their wallet cards type partners can only choose the merchant push type message type you can choose a message type from marketing or others rejected comment if the merchant push notification is rejected after request approval, you can modify the message template the administrator registers the reason for rejection when rejecting the merchant push notification it is sent to the partner by email from the system, including the reason for rejection partners can request for approval again by checking the reason for rejection and modifying the message template approved date displays the date and time when the push message is approved by the administrator message template you can create the contents of the push, and it is also possible to put the available variables in '{{}}' after configuring the content, click harmfulness verification to verify whether there is a harmful expression in the content the verified result is displayed as pass or fail, and if it is fail, it shows the filtered harmful expression together even if the verified result is fail, an approval request can be made, but it can be rejected by the administrator if a different language is added to the default language in general information, the message template must also be entered for each added language request approval button after completing the message template, click this button to send an e-mail requesting approval to the administrator
We use cookies to improve your experience on our website and to show you relevant advertising. Manage you settings for our cookies below.
These cookies are essential as they enable you to move around the website. This category cannot be disabled.
These cookies collect information about how you use our website. for example which pages you visit most often. All information these cookies collect is used to improve how the website works.
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and tailor the website to provide enhanced features and content for you.
These cookies gather information about your browser habits. They remember that you've visited our website and share this information with other organizations such as advertisers.
You have successfully updated your cookie preferences.