Filter
-
Content Type
-
Category
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Recommendations
Filter
Develop Samsung Blockchain
docsamsung blockchain platform sdk essential contents samsung blockchain platform sdk sdk version 1 2 03 | dec 29, 2023 | 2 49mb api reference javadoc doc version 1 2 03 | dec 29, 2023 | 372kb programming guide sample application - aero wallet app version 1 2 03 | dec 29, 2023 | 3 41mb informationethereum networks will stop accepting non eip-155 transactions soon please integrate the new version of sbp sdk to continue, sending ethereum transactions without any issues informationeip-1559 brings new improvements to ethereum gas pricing to take full advantage of these changes and save your user's gas and money, please integrate the new version of sbp sdk and migrate to sendtransaction apis with maxpriorityfeepergas & maxfeepergas parameters overview the samsung blockchain platform sdk brings developers and consumers to the blockchain world by providing a full set of functions that the decentralized app dapp or blockchain app needs it helps developers to manage blockchain accounts easily and to make a transaction easier by abstracted transfer apis for each type of ledger system the samsung blockchain platform sdk offers a cryptocurrency payment solution with its ui for security reason, using a hardware wallet is recommended to blockchain service users with this, samsung blockchain sdk links a dapp to a hardware wallet for secure signing the sdk also has a blockchain browser solution, cucumber it helps to invite web-based dapp into mobile environment without any change on the existing web code the samsung blockchain platform sdk currently supports ethereum and tron also, it can be linked with samsung blockchain keystore or ledger’s device benefits the samsung blockchain platform sdk allows generation, storage and management of blockchain accounts restoration of all valid accounts following bip-44 and bip-32 creation of transaction easily by abstracted apis and return the result of transfer txid eth, erc20, erc721 and raw transaction transfer on both ethereum networks such as mainnet and ropsten and evm-compatible networks such as bsc, polygon, klaytn and more trx, trc10, trc20 and raw transaction transfer various forms of payment ui focusing, especially, on cryptocurrency remittance retrieval of data from smart contract enablement of hardware wallet; samsung blockchain keystore, nano x & nano s by ledger secure signing by linked hardware wallet with abstracted api cucumber, a dedicated mobile dapp browser which is built using android webview for web dapps it can show payment ui to users by listening the transaction occurred on browser the transfer result will be returned to dapp cucumber can help web-based dapp integration into mobile environment without any change on web code supported platforms platform transactions supported sdk version eth, erc20, erc721 1 0 00 trx, trc10, trc20 1 1 00 evm-supported networks under the hood of eth cointype platform transactions supported sdk version bnb, bep20, erc721 binance smart chain only 1 2 00 matic, erc20, erc721 1 2 00 klay, kip7, kip17 1 2 00 avax, erc20, erc721 c-chain only 1 2 00 ftm, erc20, erc721 1 2 00
Develop Samsung Wallet
doccoupon 'coupon' cards support digitized redeemable vouchers coupons in wallet for various channels can provide alarms before expiration and update usage status wallet card type wallet card type wallet card subtype coupon others others wallet card data fields attributes type value description attributes {fields} titlestring 32 required main title e g , free coupon orderidstring 32 optional unique identifier for an order mainimgstring 256 required url for the main coupon image the file size should not exceed 512 kb logoimagestring 256 optional logo image url to be displayed in the card item the file size should not exceed 256 kb logoimage darkurlstring 256 optional logo image url in dark mode the file size should not exceed 256 kb logoimage lighturlstring 256 optional logo image url in light mode the file size should not exceed 256 kb brandnamestring 32 optional brand name expirylong 13 required expiration date in timestamp format issued data is cleaned up after it expires epoch timestamp in milliseconds issuedatelong 13 required issue date epoch timestamp in milliseconds redeemdatelong 13 optional date when the coupon is used epoch timestamp in milliseconds noticedescstring 5000 optional text of notice * html is supported editableynstring 1 required flag whether the coupon can be modified either 'y' or 'n' deletableynstring 1 required flag whether the coupon can be deleted either 'y' or 'n' displayredeembuttonynstring 1 required flag whether the use completion button is displayed either 'y' or 'n' notificationyn string 1 required flag whether a notification related to the coupon is delivered either 'y' or 'n' applinklogostring 256 required app link image url the file size should not exceed 256 kb applinknamestring 32 required app link name applinkdatastring 256 required information about the partner app link preventcaptureynstring 1 optional flag whether this wallet card view prevents screen captureeither 'y' or 'n'* default 'n' barcode valuestring 4096 conditional actual data that is delivered when the barcode/qr code is scanned barcode value2string 4096 conditional the secondary barcode data * required if ptformat is dualbarcode or dualbarcodeserial barcode serialtypestring 32 optional presentation type e g ,serialnumber, barcode * see barcode format barcode ptformatstring 32 optional presentation format e g , barcode, qrcode, serial * see barcode format barcode ptsubformatstring 32 optional presentation sub-format e g ,code_128, qr_code * see barcode format 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 balancestring 50 optional 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 summaryurlstring 256 optional webpage url that show details, such as balance usermessagestring 256 optional message to forward senderstring 64 optional name of sender redeemurlstring 256 optional link to redeem coupons example { "card" { "type" "coupon", "subtype" "others", "data" [ { "refid" "ref-230712-0001", "createdat" 1612660039000, "updatedat" 1612660039000, "language" "en", "attributes" { "title" "free coupon", "mainimg" "https // /main png", "brandname" "samsung coupon", "expiry" 1637802725000, "issuedate" 1637457125000, "editableyn" "n", "deletableyn" "n", "displayredeembuttonyn" "y", "notificationyn" "y", "applinkname" "oo voucher", "applinklogo" "https // /applinklogo png", "applinkdata" "https //www oocoupon com", "barcode value" "cs16138353212584806754fg1802 ", "barcode serialtype" "barcode", "barcode ptformat" "qrcodeserial", "barcode ptsubformat" "qr_code" } } ] } }
Develop Samsung Blockchain
docintroducing aerowallet the samsung blockchain platform sdk is a one stop solution to all your blockchain needs aerowallet is a sample application showcasing the features of sbp sdk the sbp sdk provides six primary features hardware wallet management account management transactions token transactions simple payment ui cucumber web-view dapp browser to ensure maximum security a hardware wallet is always recommended to interact with blockchain networks the sbp sdk provides support for three types of hardware wallets samsung blockchain keystore sbk ledger nano x ledger nano s aerowallet helps showcase most of the available services and apis of the sbp sdk understanding aerowallet welcome to aerowallet to use aerowallet, you need a stable connection to the internet the get started button redirects users to the hardware wallet selection page however, if you have no connection to the internet, the application will prompt you to try again when you have internet before diving into how aerowallet showcases all the features of the sbp sdk, we must understand the structure & design of aerowallet aerowallet follows the well-known mvvm pattern to design its core architecture the mvvm architecture helps maintain better separation of concerns, improved testing capacity, and transparent communication between the classes the codebase is divided into three separate layers view viewmodel model service the view layer consists of the layout, activity and fragment classes they provide the interface that displays the application data to interact it contains many ui elements that enable user interaction and helps reflect changes in the network/data from the server the activity/fragment classes in the view layer consist of observers that observe for changes in the data and update the ui, respectively the service layer or model layer in mvvm terminology consists of many service classes interacting with the sbp sdk it enables direct communication with the sbp sdk and is the last layer of the architecture service classes receive requests from the viewmodel and interact with the sbp sdk the viewmodel layer consists of the viewmodels that help encapsulate all the application's business logic it contains mutable livedata objects that change depending on user and server feedback the view layer observes these changes and updates the ui where necessary the viewmodel also gets/sets data by communicating with the service layer hardware wallet management sbp sdk provides an instance of hardwarewalletmanager that can be retrieved from the sblockchain currently, the sbp sdk supports three types of hardware wallets samsung blockchain keystore sbk and ledger nano devices usb & ble hardware wallet selection page in the aerowallet codebase, you can find the walletselectionactivity class inside the view folder the logic behind setting the hardware wallet has been decoupled as such walletselectionactivity -> setupviewmodel -> setupservice -> sbpmanager in the walletselectionactivity, listeners are implemented on the buttons of the page when you press on your desired hardware wallet, the listener calls the connecthardwarewallet function from the setupviewmodel this function calls the connecthardwarewallet function of setupservice which in turn calls the connecthardwarewallet function of sbpmanager finally, sbpmanager calls the connect api of the sbp sdk's hardwarewalletmanager module to connect with the respective hardware wallet when you are done connecting to the hardware wallet, you can move to select your desired cointype note sbpmanager is a core service class that provides direct interaction with the sbp sdk it contains instances of sblockchain, hardwarewalletmanager, and accountmanager the sblockchain class provides methods to get the accountmanager singleton instance , hardwarewalletmanager singleton instance and supportedhardwarewallet account management the samsung blockchain platform sdk manages the address on a blockchain network as an account these accounts contain all the necessary information required to sign a transaction on the blockchain network before fetching or generating an account, you must provide your walletid, cointype and networktype to the api coin selection page network selection page of ethereum after selecting the wallettype, cointype, and networktype, you can now communicate with the sbp sdk to fetch your account the sbpmanager class stores the data for all these variables now we have all the necessary pieces of the puzzle to use the accountmanager instance to manage our account the accountmanager has the following apis at our disposal getaccounts required parameters are walletid, cointype, and networktype returns the accounts that are stored locally by the sbp sdk generatenewaccount required parameters are connectedhardwarewallet and coinnetworkinfo generates a new account with the root seed of connected hardware wallet restoreaccounts required parameters are connectedhardwarewallet, reset and coinnetworkinfo restores all accounts based on the current root seed stored accounts in the sdk's repository are deleted and restored coinnetworkinfo is a special class in the sbp sdk that allows the packing of coin/platform, network, and rpc node information to create a coinnetworkinfo, you need to pass the cointype, networktype, and rpc url to its constructor reset is a boolean parameter that is usually set to false if set to true it removes all accounts in the shared preferences and writes restored accounts there is also a navigation bar that helps to navigate between the fragments all the account information is displayed within the dashboard fragment of aerowallet the send button redirects to transfer fragment and the receive button redirects to the receive fragment receive fragment showcases the public address of your account to copy/share dashboard displaying the public address and balance of the account account tree to switch between accounts and add new button to generate a new account transactions one of the primary goals achieved by the sbp sdk is to provide simple transactions through abstracted apis for each type of ledger system to learn how to use the apis from sbp sdk to sign transactions, please look into the respective service classes in the programming guide section of sbp sdk to perform a transaction on the blockchain network, you need the receiver's public address and sufficient balance in aerowallet, you can use a qr scanner to scan the receive's public address qr code enter the desired amount of funds to transfer please note that a transaction fee gas is required to perform transactions on the blockchain network ethereum transaction fragment sbp sdk supports both legacy and eip-1559 transactions for ethereum you can also choose your desired transaction speed token transactions besides fund transfers, the sbp sdk provides apis to perform token, nft and safenft transactions aerowallet has a separate fragment to showcase token transfer from one account to another however before sending a token, you must add the token into your account in the token fragment press on the '+' button to add a new token to your account you can type in the address of the token or use the qr code scanner and aerowallet will automatically fill in the rest of the fields from the blockchain network add token fragment after the token has been added, you will find it displayed in the token fragment along with all its details you can now send tokens to any account of your choice by simply filling in the receiver's address and token amount send token fragment payment sheet one of the key selling features of the sbp sdk is our simple payment ui or payment sheet this feature is embedded inside the sbp sdk and comes with a complete ui for your application's payment solutions error handling, null checking and balance checking are also added to the payment sheet there are a lot of possible use cases for the sbp sdk's payment sheet developers can easily use our payment solution to process in-app transactions aerowallet presents such a use case by showcasing an online marketplace where the transactions are processed by the sbp sdk's payment sheet mobi dapp marketplace ethereum payment sheet eth, erc20, and erc721 showcased in aerowallet all the required information has been passed into the payment sheet the gas fee will depend on the transaction speed of your choice payment sheet allows you to easily complete a transaction without the need of handling all your intricacies yourself cucumber web-view dapp browser cucumber webview is a customized webview dedicated to web dapp this allows users to integrate their web dapp into their mobile with zero changes to their web code currently, cucumberwebview is capable of javascript sdks for ethereum and tron, more specifically web3 js tronweb demo ethereum crypto store you can easily integrate your own crypto store or any other web dapp using cucumberwebview after the successful integration, the web dapp of your choice will be able to implement our built-in payment sheet activity of the sbp sdk that will cater to all your transaction needs use the addcoinserviceconnector method with your desired cointype to inject the cucumberwebview provider this injection will allow you to delegate the sendtransaction of javascript api to our onsendtransaction method you can use this to initiate the desired payment sheet or the sdk's available transaction apis payment sheet triggered through cucumber webview the complete codebase of aerowallet and api reference of the sbp sdk can be found here
Develop Samsung Blockchain
docusing the sblockchain class the following code shows how to use sblockchain class methods try { sblockchain sblockchain = new sblockchain ; sblockchain initialize context ; } catch ssdkunsupportedexception e { if e geterrortype == vendor_not_supported { log e "error", "platform sdk is not support this device" ; } } the sblockchain class provides the following methods initialize context - initializes an instance of the samsung blockchain sdk getaccountmanager - returns the accountmanager that manages the account the accountmanager is a singleton instance gethardwarewalletmanager - returns the hardwarewalletmanager managing the hardwarewallet the hardwarewalletmanager is a singleton instance getsupportedhardwarewallet - get the supported hardware wallet types of blockchain sdk getversioncode - returns the version number of the samsung blockchain sdk getversionname - returns the version name of the samsung blockchain sdk using the initialize method the sblockchain initialize method initialize sblockchain instance checks if the samsung device is supported if the initialization of sblockchain failed, the initialize method throws an ssdkunsupportedexception exception to find out the reason for this exception, check the exception message handling ssdkunsupportedexception if an ssdkunsupportedexception exception is thrown, check the exception message type using ssdkunsupportedexception gettype the following type of exception message needs to be handled vendor_not_supported the device is not a samsung device
Develop Samsung Blockchain
apipackage class tree deprecated index help com samsung android sdk coldwallet interface scwerrorcode public interface scwerrorcode class to define error codes from the keystore field summary fields modifier and type field and description static int error_check_app_version_failed failed to check whether there is an update or a mandatory version static int error_check_integrity_failed unauthorized changes have been made to your device contact customer service static int error_check_integrity_not_available failed to check device integrity check try again static int error_exceed_number_of_devices exceeded number of devices allowed per package in developer mode static int error_external_display_not_allowed failed to display on external display static int error_illegal_msg internal state machine failed to handle message static int error_init_ta_failed failed to initialize ta files because failed to unzip static int error_invalid_hd_path wrong hd path input static int error_invalid_input_utxo input utxo count can't exceed 20 static int error_invalid_scw_app_id failed to validate scw_app_id from keystore unauthorized applications are prohibited to access the keystore static int error_invalid_transaction_format failed to sign transaction because transaction value is not valid static int error_load_ta_failed failed to load trusted applications static int error_mandatory_app_update_needed there is mandatory app update static int error_negative_value value is negative value static int error_network_failed network error occurred static int error_network_not_available there is no network connection static int error_none no error to operate static int error_not_supported_country country of the device is not supported by keystore yet static int error_op_fail requested operation fail static int error_op_interrupted requested operation cancelled static int error_op_not_supported requested operation is not supported static int error_op_timeout requested operation cancelled by timeout static int error_out_of_bound_value failed to sign transaction because of the amount is out of bound static int error_out_of_input_utxo_size input utxo size can't exceed 50kb static int error_out_of_output_count output count can't exceed 2 static int error_server_failed server error occurred static int error_tnc_not_agreed latest term is not agreed static int error_user_authentication_failed failed to authenticate the user static int error_wallet_not_created wallet is not created static int error_wallet_reset user entered wrong pin too many times field detail error_none static final int error_none no error to operate see also constant field values error_op_fail static final int error_op_fail requested operation fail see also constant field values error_op_interrupted static final int error_op_interrupted requested operation cancelled see also constant field values error_illegal_msg static final int error_illegal_msg internal state machine failed to handle message see also constant field values error_load_ta_failed static final int error_load_ta_failed failed to load trusted applications see also constant field values error_op_timeout static final int error_op_timeout requested operation cancelled by timeout see also constant field values error_tnc_not_agreed static final int error_tnc_not_agreed latest term is not agreed it need to start the keystore main activity and then user can agree tnc scwdeeplink main see also constant field values error_user_authentication_failed static final int error_user_authentication_failed failed to authenticate the user see also constant field values error_mandatory_app_update_needed static final int error_mandatory_app_update_needed there is mandatory app update you need open the update page with scwdeeplink galaxy_store see also constant field values error_check_integrity_failed static final int error_check_integrity_failed unauthorized changes have been made to your device contact customer service see also constant field values error_check_integrity_not_available static final int error_check_integrity_not_available failed to check device integrity check try again see also constant field values error_invalid_scw_app_id static final int error_invalid_scw_app_id failed to validate scw_app_id from keystore unauthorized applications are prohibited to access the keystore see also constant field values error_wallet_reset static final int error_wallet_reset user entered wrong pin too many times so hd wallet seed is removed and this error is returned see also constant field values error_not_supported_country static final int error_not_supported_country country of the device is not supported by keystore yet see also constant field values error_check_app_version_failed static final int error_check_app_version_failed failed to check whether there is an update or a mandatory version recall previously called api, but if the error continues, user needs to check the network connection see also constant field values error_invalid_transaction_format static final int error_invalid_transaction_format failed to sign transaction because transaction value is not valid see also constant field values error_init_ta_failed static final int error_init_ta_failed failed to initialize ta files because failed to unzip see also constant field values error_external_display_not_allowed static final int error_external_display_not_allowed failed to display on external display see also constant field values error_op_not_supported static final int error_op_not_supported requested operation is not supported the sdk should be updated to support the api s see also constant field values error_out_of_bound_value static final int error_out_of_bound_value failed to sign transaction because of the amount is out of bound ethereum amount boundary is 8 for integer part and 18 for decimal part ethereum token amount boundary is 22 digits see also constant field values error_out_of_output_count static final int error_out_of_output_count output count can't exceed 2 see also constant field values error_invalid_input_utxo static final int error_invalid_input_utxo input utxo count can't exceed 20 see also constant field values error_out_of_input_utxo_size static final int error_out_of_input_utxo_size input utxo size can't exceed 50kb see also constant field values error_exceed_number_of_devices static final int error_exceed_number_of_devices exceeded number of devices allowed per package in developer mode see also constant field values error_invalid_hd_path static final int error_invalid_hd_path wrong hd path input see also constant field values error_wallet_not_created static final int error_wallet_not_created wallet is not created need to launch keystore to create it, use scwdeeplink main see also constant field values error_network_not_available static final int error_network_not_available there is no network connection see also constant field values error_network_failed static final int error_network_failed network error occurred see also constant field values error_server_failed static final int error_server_failed server error occurred see also constant field values error_negative_value static final int error_negative_value value is negative value see also constant field values
Develop Samsung Wallet
docpay 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 type wallet card subtype payasyougo evcharges, others evcharges wallet card data fields attributes type value description attributes {fields} title string 32 required main title of cardse g , samsung charge card subtitle1 string 32 optional the auxiliary field which displays supporting information logoimagestring 256 optional logo image url to be displayed in the card item the file size must not be greater than 256 kb 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 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 providername string 32 optional content provider name holdername string 64 optional name of card holders preventcaptureyn string 1 optional flag whether this wallet card view prevents screen capture either ‘y’ or ‘n’, the default value is ‘n’ startdate long 13 optional start date display start date epoch timestamp in milliseconds enddate long 13 optional end date display end date epoch timestamp in milliseconds locations string 1024 optional list of locations where the card can be used * see location format noticedesc string 5000 required text of the benefits using data in json format converted to escape string* see additional information information format csinfostring 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 applinklogo string 256 required app link image url the file size must not be greater than 256 kb applinkname string 32 required app link name applinkdatastring 256 required information about the partner app link bgimagestring 256 optional url for card art background image bgcolorstring 8 optional color of the card art e g , #00ffff fontcolor string 8 optional color of the font on the card art supported colors are white or black #000000 or #ffffff blinkcolorstring 8 optional color of the blinking effect which indicates that a card cannot be captured in the indicator area e g , #00ffff barcode value string 4096 conditional barcode data, serial number * required if serialtype isn’t 'none' barcode serialtype string 32 required presentation type barcode/qr/serial/none * see barcode format barcode ptformat string 32 conditional presentation format * see barcode format* required if serialtype isn’t 'none' barcode ptsubformat string 32 barcode pin string 16 optional pin to show with a barcode identifier string 64 optional unique id value such as a membership number grade string 32 optional grade value authentication string 64 optional authentication data which meets choose options * see authentication for details provision data string 512 optional elements to complete provisioning* see provisioning for details transactions string 4096 optional transaction history * long content is allowed * see transactions format 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\"}]}" } } ] } }
Develop Samsung Pay
apioverview package class tree index help package com samsung android sdk samsungpay v2 class watchmanager java lang object samsungpaybase com samsung android sdk samsungpay v2 watchmanager all implemented interfaces apptoappconstants public final class watchmanager extends samsungpaybase implements apptoappconstants this class provides apis for watch management partner apps must check the samsung pay watch status on the device before performing any card management also, this class provides apis getting cards information, adding new card to samsung pay on watch, and so on since api level 2 5 field summary fields modifier and type field description static final string device_serial_num key to represent device serial number to generate the paymentappinstanceid static final int error_invalid_parameter this error indicates that the given parameter is invalid this is returned as spaysdk extra_error_reason for spaysdk error_registration_fail error static final int error_spay_pin_lock_setup_canceled this error indicates that user canceled the pin lock setup partner app should ask user to setup pin for samsung pay gear static final int error_spay_watch_connection this error indicates that samsung pay watch plug-in can not connect with samsung pay watch partner app should ask user to check bluetooth connection or pairing static final int error_spay_watch_pay_progress this error indicates that samsung pay watch is in a process of payment static final int error_spay_watch_pin_lock_setup_canceled this error indicates that user canceled the pin lock setup partner app should ask user to setup pin for samsung pay watch static final int spay_watch_taking_log_for_report this error indicates that samsung pay watch is taking log for error report static final int spay_watch_update_is_ongoing this error indicates that samsung pay watch being updated fields inherited from interface com samsung android sdk samsungpay v2 apptoappconstants error_auth_code_expired, error_auth_code_invalid, error_auth_code_max_try_reached, error_auth_code_type_invalid, error_authentication_closed, error_authentication_failed, error_authentication_not_ready, error_authentication_timed_out, error_card_already_registered, error_card_idv_not_supported, error_card_not_supported, error_framework_internal, error_invalid_card, error_invalid_cardinput, error_max_card_num_reached, error_max_pan_provision_num_reached, error_server_reject, error_tsm_fail, error_verify_card, error_wallet_id_mismatch, extra_app2app_intent, extra_app2app_payload, extra_card_balance, extra_card_status_reason, extra_issuer_app_card_linked constructor summary constructors constructor description watchmanager android content context context, partnerinfo partnerinfo api to get the watchmanager instance the caller should set valid serviceid method summary all methodsinstance methodsconcrete methods modifier and type method description void activatesamsungpay api to bring the samsung pay on watch app to a state in which cards can be added samsung pay on watch might be samsung account is not signed in state partner app checks the samsung pay on watch status with getsamsungpaystatus statuslistener api if the status is #spay_not_ready and #extra_error_reason is #error_spay_setup_not_completed, partner app can call this api to launch samsung pay on watch and user can sign in to the app void addcard addcardinfo addcardinfo, addcardlistener listener api to add a card from partner app example issuer/bank app to samsung pay on watch partner app uses this api to add card to samsung pay on watch by providing the required card details void getallcards android os bundle cardfilter, getcardlistener listener api to get all the cards from samsung pay on watch for the given filter void getsamsungpaystatus statuslistener listener api to get the samsung pay on watch status on the device partner issuers applications must call this api to check the current state of samsung pay on watch before doing any operation void getwalletinfo list<string> keys, statuslistener listener api to get the requested wallet information from samsung pay on watch partner app can use this information to uniquely identify the user and samsung pay on watch app on a particular device void gotoupdatepage api to go to samsung pay on watch update page partner app checks the samsung pay on watch status with getsamsungpaystatus statuslistener api if the status is #spay_not_ready and #extra_error_reason is #error_spay_app_need_to_update, partner app can call this api to go to update samsung pay on watch app methods inherited from class java lang object equals, getclass, hashcode, notify, notifyall, tostring, wait, wait, wait field details device_serial_num public static final string device_serial_num key to represent device serial number to generate the paymentappinstanceid since api level 2 5 see also constant field values error_spay_pin_lock_setup_canceled public static final int error_spay_pin_lock_setup_canceled this error indicates that user canceled the pin lock setup partner app should ask user to setup pin for samsung pay gear since api level 2 5 see also constant field values error_invalid_parameter public static final int error_invalid_parameter this error indicates that the given parameter is invalid this is returned as spaysdk extra_error_reason for spaysdk error_registration_fail error since api level 2 5 see also constant field values error_spay_watch_pin_lock_setup_canceled public static final int error_spay_watch_pin_lock_setup_canceled this error indicates that user canceled the pin lock setup partner app should ask user to setup pin for samsung pay watch since api level 2 5 see also constant field values spay_watch_update_is_ongoing public static final int spay_watch_update_is_ongoing this error indicates that samsung pay watch being updated since api level 2 5 see also constant field values spay_watch_taking_log_for_report public static final int spay_watch_taking_log_for_report this error indicates that samsung pay watch is taking log for error report since api level 2 5 see also constant field values error_spay_watch_pay_progress public static final int error_spay_watch_pay_progress this error indicates that samsung pay watch is in a process of payment since api level 2 5 see also constant field values error_spay_watch_connection public static final int error_spay_watch_connection this error indicates that samsung pay watch plug-in can not connect with samsung pay watch partner app should ask user to check bluetooth connection or pairing since api level 2 5 see also constant field values constructor details watchmanager public watchmanager android content context context, partnerinfo partnerinfo api to get the watchmanager instance the caller should set valid serviceid partnerinfo is passed to samsung pay on watch for caller verification context ct = activity; // or context ct = service; string issuername = "mybank"; // set the serviceid which is assigned by the samsung pay developer during on boarding string serviceid = "sampleserviceid"; bundle bundle = new bundle ; bundle putstring watchmanager extra_issuer_name, issuername ; bundle putstring watchmanager partner_service_type, watchmanager servicetype app2app tostring ; partnerinfo pinfo = new partnerinfo serviceid, bundle ; watchmanager watchmanager = new watchmanager ct, pinfo ; parameters context - activity context or service context partnerinfo - partner information throws nullpointerexception - thrown if parameters are null since api level 2 5 method details getsamsungpaystatus public void getsamsungpaystatus @nonnull statuslistener listener api to get the samsung pay on watch status on the device partner issuers applications must call this api to check the current state of samsung pay on watch before doing any operation // set the serviceid which is assigned by the samsung pay developer during on boarding string serviceid = "sampleserviceid"; bundle bundle = new bundle ; bundle putstring watchmanager partner_service_type, watchmanager servicetype app2app tostring ; partnerinfo pinfo = new partnerinfo serviceid, bundle ; watchmanager watchmanager = new watchmanager context, pinfo ; watchmanager getsamsungpaystatus new statuslistener { @override public void onsuccess int status, bundle data { // success case if status == spay_ready { log d tag, "samsung pay on watch is ready on the device" ; // perform your operation } else if status == spay_not_ready { // samsung pay on watch is supported but not fully ready // if extra_error_reason is error_spay_app_need_to_update, // call gotoupdatepage // if extra_error_reason is error_spay_setup_not_completed, // call activatesamsungpay } else { // samsung pay on watch is not supported on this device log d tag, "device does not support samsung pay on watch" ; } } @override public void onfail int errorcode, bundle errordata { log e tag, "onfail callback is called, errorcode " + errorcode ; // to get more reason of the failure, // check some extra error codes in the errordata bundle such as watchmanager extra_error_reason if provided } } ; parameters listener - callback through which the result is provided on success, samsung pay on watch status code is provided via statuslistener onsuccess int status, bundle data if samsung pay on watch is ready to be used, #spay_ready will be returned otherwise, #spay_not_ready or #spay_not_supported can be returned with #extra_error_reason from bundle also, partner can get extra information from bundle data bundle keys if provided bundle values spaysdk extra_country_code device country code iso 3166-1 alpha-2 on any failure, the failure code is provided via statuslistener onfail int errorcode, bundle errordata note please refer spaysdk common_status_table in detail throws nullpointerexception - thrown if the callback passed is null since api level 2 5 gotoupdatepage public void gotoupdatepage api to go to samsung pay on watch update page partner app checks the samsung pay on watch status with getsamsungpaystatus statuslistener api if the status is #spay_not_ready and #extra_error_reason is #error_spay_app_need_to_update, partner app can call this api to go to update samsung pay on watch app // set the serviceid which is assigned by the samsung pay developer during on boarding string serviceid = "sampleserviceid"; bundle bundle = new bundle ; bundle putstring watchmanager partner_service_type, watchmanager servicetype app2app tostring ; partnerinfo pinfo = new partnerinfo serviceid, bundle ; watchmanager watchmanager = new watchmanager context, pinfo ; watchmanager gotoupdatepage ; since api level 2 5 activatesamsungpay public void activatesamsungpay api to bring the samsung pay on watch app to a state in which cards can be added samsung pay on watch might be samsung account is not signed in state partner app checks the samsung pay on watch status with getsamsungpaystatus statuslistener api if the status is #spay_not_ready and #extra_error_reason is #error_spay_setup_not_completed, partner app can call this api to launch samsung pay on watch and user can sign in to the app // set the serviceid which is assigned by the samsung pay developer during on boarding string serviceid = "sampleserviceid"; bundle bundle = new bundle ; bundle putstring watchmanager partner_service_type, watchmanager servicetype app2app tostring ; partnerinfo pinfo = new partnerinfo serviceid, bundle ; watchmanager watchmanager = new watchmanager context, pinfo ; watchmanager activatesamsungpay ; since api level 2 5 getwalletinfo public void getwalletinfo list<string> keys, @nonnull statuslistener listener api to get the requested wallet information from samsung pay on watch partner app can use this information to uniquely identify the user and samsung pay on watch app on a particular device // set the serviceid which is assigned by the samsung pay developer during on boarding string serviceid = "sampleserviceid"; bundle bundle = new bundle ; bundle putstring watchmanager extra_issuer_name, "issuer name" ; bundle putstring watchmanager partner_service_type, watchmanager servicetype app2app tostring ; partnerinfo pinfo = new partnerinfo serviceid, bundle ; watchmanager watchmanager = new watchmanager context, pinfo ; // bundle keys added to get wallet information from samsung pay on watch // this information can be delivered to the partner server for eligibility check arraylist<string> keys = new arraylist<> ; keys add watchmanager wallet_user_id ; keys add watchmanager device_id ; watchmanager getwalletinfo keys, new statuslistener { @override public void onsuccess int status, bundle walletdata { // log d tag, "dowalletinfo onsuccess callback is called" ; // for visa, deviceid can be set to "clientdeviceid" as defined by visa string deviceid = walletdata get watchmanager device_id ; // for visa, walletuserid can be set to "clientwalletaccountid" as defined by visa string walletuserid = walletdata get watchmanager wallet_user_id ; } @override public void onfail int errorcode, bundle errordata { log e tag, "onfail callback is called, errorcode " + errorcode ; // to get more reason of the failure, // check some extra error codes in the errordata bundle such as watchmanager extra_error_reason if provided } } parameters keys - key list to get wallet information if the list is empty, all possible key values are returned the possible keys are #wallet_dm_id #device_id #wallet_user_id device_serial_num listener - callback through which the result is provided on success, statuslistener onsuccess int status, bundle data is invoked with wallet information the success code can be one of the following codes with bundle data status bundle keys bundle values usage vts mdes #error_none #wallet_dm_id string device management id n/a paymentappinstanceid = device_serial_num + wallet_dm_id *if you need 'paymentappinstanceid', you can generate it as above #device_id string device id clientdeviceid #wallet_user_id string wallet user id clientwalletaccountid device_serial_num string device serial number n/a on any failure, the error code is provided via statuslistener onfail int errorcode, bundle errordata note please refer spaysdk common_status_table in detail throws nullpointerexception - thrown if parameters are null since api level 2 5 addcard public void addcard @nonnull addcardinfo addcardinfo, @nonnull addcardlistener listener api to add a card from partner app example issuer/bank app to samsung pay on watch partner app uses this api to add card to samsung pay on watch by providing the required card details this helps user to add their cards to samsung pay on watch directly from partner app watchmanager watchmanager = new watchmanager ct, pinfo ; string cardtype = card card_type_credit; string tokenizationprovider = addcardinfo provider_abcd; // get it from issuer app // samsung pay on watch does not provide detailed payload information // generate provisioning payload in accordance with your card network specifications string testpayload = "thisistestpayloadcardinfo1234567890"; bundle carddetail = new bundle ; carddetail putstring addcardinfo extra_provision_payload, testpayload ; addcardinfo addcardinfo = new addcardinfo cardtype, tokenizationprovider, carddetail ; watchmanager 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 ; // to get more reason of the failure, // check some extra error codes in the errordata bundle // such as watchmanager extra_error_reason or watchmanager extra_request_id if provided } @override public void onprogress int currentcount, int totalcount, bundle bundledata { log d tag,"onprogress callback is called " + currentcount + " / " + totalcount ; } } ; parameters addcardinfo - detail card information to add listener - callback through which the result is provided on success, addcardlistener onsuccess int, card is invoked with #error_none status code with added card information on any failure, the error code is provided via addcardlistener onfail int errorcode, bundle errordata the failure code can be one of the following codes with bundle data status bundle keys bundle values #error_registration_fail -104 #extra_error_reason apptoappconstants error_card_already_registered -500 apptoappconstants error_framework_internal -501 apptoappconstants error_invalid_card -502 apptoappconstants error_invalid_cardinput -503 error_invalid_parameter -504 apptoappconstants error_server_reject -505 apptoappconstants error_max_card_num_reached -506 apptoappconstants error_card_not_supported -514 apptoappconstants error_max_pan_provision_num_reached -515 apptoappconstants error_wallet_id_mismatch -516 error_spay_watch_pin_lock_setup_canceled -701 spay_watch_update_is_ongoing -702 spay_watch_taking_log_for_report -703 error_spay_watch_pay_progress -704 error_spay_watch_connection -705 #extra_request_id string value returned from server note please refer spaysdk common_status_table for other error status throws nullpointerexception - thrown if parameters are null since api level 2 17 getallcards public void getallcards @nullable android os bundle cardfilter, @nonnull getcardlistener listener api to get all the cards from samsung pay on watch for the given filter since api level 2 5, partner must define issuer names as a card filter on samsung pay developers while on-boarding bundle cardfilter = new bundle ; watchmanager getallcards cardfilter, new getcardlistener { @override public void onsuccess list<card> cards { // getting card status is success if cards == null || cards isempty { log e tag,"no card is found" ; return; } else { // perform operation with card data for card s cards { log d tag, "cardid " + s getcardid + "cardstatus" + s getcardstatus ; // get extra card data if s getcardinfo != null { string last4fpan = s getcardinfo getstring watchmanager extra_last4_fpan ; string last4dpan = s getcardinfo getstring watchmanager extra_last4_dpan ; string cardtype = s getcardinfo getstring watchmanager extra_card_type ; string cardissuername = s getcardinfo getstring watchmanager extra_issuer_name ; log d tag, "last4fpan " + last4fpan + "last4dpan" + last4dpan + "app2apppayload " + app2apppayload ; } } } } @override public void onfail int errorcode, bundle errordata { log e tag, "onfail callback is called, errorcode " + errorcode ; // to get more reason of the failure, // check some extra error codes in the errordata bundle such as watchmanager extra_error_reason if provided } } ; parameters listener - callback through which the result is provided on success, getcardlistener onsuccess list is invoked with list of cards on any failure, the error code is provided via getcardlistener onfail int, bundle note please refer spaysdk common_status_table in detail throws nullpointerexception - thrown if listener is null since api level 2 13 samsung electronics samsung pay sdk 2 22 00 - nov 19 2024
Develop Samsung Wallet
docdigital ids 'digital id' cards are used to present identification for employees, students, drivers, guests, etc wallet card type wallet card type wallet card subtype idcard employees, nationals, students, drivers, guests, others employees nationals students drivers wallet card data fields attributes type value description attributes {fields} titlestring 32 required main title of cardse g , commercial access, employee badge holdernamestring 64 required name of card holders secondholdernamestring 64 optional second name of card holders organizationstring 64 optional organization of card holders belongingi e , name of department, division, affiliation, association or team, name of college or school positionstring 64 optional position of card holderse g , engineer, 5th grade identifierstring 64 required unique id valuei e , unique card number assigned to the card holdere g , s 123 456 789 012 x idnumberstring 64 optional representative value for an idi e , id number, document number, card/roll number assigned by the institution or collegee g , b19mba115 idstatusstring 64 optional card holder's statusex full time student, graduate, exchange, post-graduate, under-graduate addressstring 256 optional address of card holders placeoflocationstring 64 optional place of location associated with the cardholder idphotostring 128k optional holder’s photo image data encoded base64the file size should not be greater than 128 kb idphoto formatstring 32 optional image file formate g , jpeg, png* unsupported image formats may exist idphoto statusstring 16 optional status of the dataallowed value unchanged document deprecatedstring 1024k optional first document of identity document format deprecatedstring 32 optional document format- allowed value pdf, jpeg, png document status deprecatedstring 16 optional status of the dataallowed value unchanged document{i}string 1024k optional document of identitythis can be images of id cards or cardholder's photos on an enlarged screen image data encoded base64 in case the card has multiple documents, they can have an index i 1 ~ 5the file size should not be greater than 128 kb document{i} formatstring 32 optional document format- allowed value pdf, jpeg, png document{i} statusstring 16 optional status of the dataallowed value unchanged issuedatelong 13 required issue date epoch timestamp in milliseconds birthdatestring 16 optional date of birth genderstring 16 optional gender of card holders classificationstring 16 optional classified identity type expirylong 13 optional expiry date in timestamp format issued data is cleaned up after it expires epoch timestamp in milliseconds contactsstring 32 optional personal contact information such as phone number logoimagestring 256 optional logo image url to be displayed in card item the file size should not exceed 256 kb 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 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 logotext string 16 optional text as an alternative to logoimage providername string 32 required content provider namei e , partnering institute issuername string 32 optional place of issue or issuing authority name extrainfo string 512 optional additional informationi e , bloodgroup, guardianname, govrefid* see additional information format noticedesc string 5000 optional text of the notice * long content is allowed * see additional information format 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 privacymodeyn string 1 optional whether or not to require user authentication when using the card either ‘y’ or ‘n’* default ‘n’ applinklogostring 256 optional app link image url the file size should not exceed 256 kb applinknamestring 32 optional app link name applinkdatastring 256 optional information about the partner app link locationsstring 1024 optional list of locations where the card can be used* see location format coverimagestring 256 optional card cover image urlthe file size should not exceed 512 kb the recommended size for image resources is 888 x 555 px bgimagestring 256 optional card background image urlthe file size should not exceed 512 kb the recommended size for image resources is 888 x 555 px bgcolorstring 8 optional color of the card art support hex color code e g , #015aaa fontcolorstring 8 optional color of the font on the card art allowed value black, white blinkcolorstring 8 optional color of the blinking effect in the indicator area support hex color code e g , #015aaa preventcaptureynstring 1 optional flag whether this wallet card view prevents screen capture either 'y' or 'n' * default 'n' barcode valuestring 4096 optional actual data that is delivered when the barcode/qr code is scanned barcode serialtypestring 32 optional presentation type e g , serialnumber, barcode, * see barcode format barcode ptformatstring 32 optional presentation format e g , barcode, qrcode, serial, * see barcode format barcode ptsubformatstring 32 optional presentation sub-format e g , code_128, qr_code, * see barcode format barcode errorcorrectionlevelstring 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 barcode intervalstring 4 optional update interval if support for dynamic updates epoch timestamp in milliseconds authenticationstring 64 optional authentication data which meets choose options * see authentication for details provision datastring 512 optional elements to complete provisioning* see provisioning for details provision intervalstring 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", "document1" "{base64 encoded pdf data}", "document1 format" "pdf", "document2" "{base64 encoded pdf data}", "document2 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" "삼성전자" } } ] } ] } }
Develop Samsung Pay
docapi reference this page describes the data structures used in the samsung pay web checkout api integration paymentmethods the paymentmethods object defines the payment methods that the merchant supports key type required description version string required samsung pay api versionthe supported value is 2 serviceid string required merchant id that is assigned after onboarding protocol string required payment protocol typethe supported value is protocol_3ds allowedbrands list<string> required list of supported card brandsthe possible values are visamastercardamexdiscoverelomadacbjaywan tbd isrecurring boolean optional value if payment is recurringthe default value is false isbillingaddressrequired boolean optional value if billing address must be included in the payment credentials the default value is false iscardholdernamerequired boolean optional value if cardholder name must be included in the payment credentials the default value is false iscpfcardrequired boolean optional value if cpf must be included in the payment credentials the default value is false merchantchoicebrands object optional data structure containing configuration information for a co-badged card merchantchoicebrands type string required co-badged card display option for the payment sheetthe possible values are mandatory = only the brand defined in merchantchoicebrands brands is enabledpreference = the brand defined in merchantchoicebrands brands is selected by default but the user can change it merchantchoicebrands brands list<string> required list of supported brands for the co-badged cardthe possible values are madacb extrapaymentinfo object optional data structure containing additional supported features extrapaymentinfo id string required feature id for the additional featurethe possible values are combocard = combo carddsrp = digital secure remote payment extrapaymentinfo type string optional feature type, if the value of extrapaymentinfo id is dsrpthe possible values are ucaf = universal cardholder authentication fieldicc = integrated circuit cardthe default value is ucaf table 1 "paymentmethods" data structure elements transactiondetail the transactiondetail object contains the transaction information for the user's purchase key type required description ordernumber string required order number of the transactionthe following characters are allowed [a-z][a-z][0-9,-] merchant object required data structure containing merchant information merchant name string required merchant name merchant url string required merchant domain urlthe maximum length is 100 characters merchant id string conditional a unique identifier, known as the merchant unique id, is assigned by either merchant or the payment gateway pg or payment orchestrator po when a merchant is onboarded into their system this id is required in specific scenarios, namely when onboarding as a pg or po with samsung, or if the token brand is "mada" or the merchantchoicebrands brands includes "mada" the character limit for this id varies 15 characters for "mada" token brands and 45 characters for all other cases merchant countrycode string required merchant country codeiso-3166-1 alpha-2 amount object required data structure containing the payment amount amount option string required display format for the total amount on the payment sheetthe possible values are format_total_estimated_amount = display "total estimated amount " and total amountformat_total_price_only = display the total amount only amount currency string required currency codethe maximum length is 3 characters amount total string required total payment amount in the currency specified by amount currencythe amount must be an integer for example, 300 or in a format valid for the currency such as 2 decimal places after a separator, for example, 300 50 type string optional transaction typethis value is specifically supported for mada tokens and will not apply to other token types the possible values are purchasepreauthorizationthe default value is purchase table 2 "transactiondetail" data structure elements paymentcredential the paymentcredential object contains the payment credential information generated by the samsung wallet application on the user's mobile device key type required description card_brand string required brand of the payment card card_last4digit object required last 4 digits of the card number 3ds object required data structure containing the generated 3ds data 3ds type string optional 3ds typethe value is s for samsung pay 3ds version string required 3ds versionthe value for the current version is 100 3ds data string required encrypted payment credential data recurring_payment boolean required value if credential is enabled for recurringthe default value is false encryptedmessage string conditional encrypted string jwe that contains billing address, cardholder name and cpf when required by partner it can be decrypted in the same way as payment credentials table 3 "paymentcredential" data structure elements encryptedmessage the decrypted encryptedmessage object in paymentcredential object contains billing address, cardholder name and cpf when required by partner key type required description billingaddress object conditional billing address billingaddress addressline1 string required address line 1 billingaddress addressline2 string optional address line 2 billingaddress city string required city billingaddress state string conditional stateit is required if billingaddress countrycode is usa or can billingaddress countrycode string required country code iso 3166-1 alpha-3 billingaddress postalcode string required postal code cardholdername string conditional cardholder name cpf object conditional brazilian cpf cpf name string required the full name of the individual associated with the cpf cpf number string required the brazilian taxpayer number cpf , consisting of exactly 11 digits, without hyphens or dots table 3-1 "encryptedmessage" data structure elements paymentresult the paymentresult object contains the payment result information during transaction processing, and after the payment is processed with pg network key type required description status string required payment statusthe possible values are charged = payment was charge successfullycanceled = payment was canceled by either user, merchant, or acquirerrejected = payment was rejected by acquirererred = an error occurred during the payment process provider string optional payment provider pg name table 4 "paymentresult data structure elements
Develop Samsung Wallet
docbording pass 'boarding pass' cards support one-off transit types such as airlines, trains, buses, ferries, and etc boarding passes in wallet can remind the user of boarding time and help during check-in depending on the integration level, it can provide status information updates related to flights, and journeys, such as boarding gate changes or cancellations wallet card type wallet card type wallet card subtype boardingpass airlines, trains, buses, others airlines buses trains wallet card data fields attributes type value description attributes {fields} titlestring 32 required main title e g , 'boarding pass' transittypestring 16 optional transit type * this will be deprecated groupingidstring 32 optional identifier used to group related cards orderidstring 32 optional unique identifier for an order providerlogostring 256 required url of the logo image the file size should not exceed than 256 kb providerlogo darkurlstring 256 required url of the logo image in dark mode the file size should not exceed 256 kb providerlogo lighturlstring 256 required url of the logo image in light mode the file size should not exceed 256 kb providernamestring 32 required display name of the boarding pass provider userstring 64 conditional passenger name * required if subtype is airlines usertypestring 32 optional passenger type i e , classification of passengers, like child, adult transitoperatorstring 64 optional operator name vehiclenumberstring 32 conditional transit or route number i e , flight number on airlines * required if subtype is airlines transitclassstring 32 optional transit class i e , premium class for buses transitfarestring 32 optional general fare or purchase fare coachnumberstring 16 optional identifier assigned to each individual carriage e g , b4 seatclassstring 32 conditional seat class * required if subtype is airlines seatnumberstring 16 required individual number of the passenger seat e g , a-9, free seatfacingstring 16 optional direction in which the seat is oriented within a carriage it indicates whether the seat is positioned to face the direction of travel or face the opposite direction e g , forward, backward reservationnumberstring 32 required number of the transit reservation boardingprioritystring 32 optional information on whether entitles the passenger to board before others i e , if the passengers are pregnant boardingseqnostring 32 optional boarding sequence number boardinggroupstring 8 optional value of boarding group or zone e g , b boardingtimelong 13 optional boarding time epoch timestamp in milliseconds boardingtime utcoffsetstring 8 conditional utc offset of boarding time at the departure point * required if boardingtime exist gateclosingtimelong 13 optional boarding gate closing time epoch timestamp in milliseconds gateclosingtime utcoffsetstring 8 conditional utc offset of gate closing time at the departure point * required if gateclosingtime exist baggageallowancestring 16 optional baggage allowance departnamestring 32 conditional name of the departure point * required if subtype is airlines departcodestring 8 conditional code for the departure point * required if subtype is airlines departterminalstring 8 conditional terminal name of the departure point * required if subtype is airlines departgatestring 8 optional gate name of the departure point estimatedoractualstartdatelong 13 conditional departure time epoch timestamp in milliseconds, i e , the estimated time the aircraft plans to pull from the gate, or the actual time the aircraft already pulled from the gate * required if subtype is airlines estimatedoractualstartdate utcoffsetstring 8 conditional utc offset of time at the departure point * required if estimatedoractualstartdate exists arrivenamestring 32 conditional name of the arrival point * required if subtype is airlines arrivecodestring 8 conditional code for the arrival point * required if subtype is airlines arriveterminalstring 8 optional terminal name of the arrival point arrivegatestring 8 optional gate name of the arrival point estimatedoractualenddatelong 13 conditional arrival time epoch timestamp in milliseconds, i e , the estimated time the aircraft plans to reach the destination gate not the runway , or the actual time it reached the gate * required if subtype is airlines estimatedoractualenddate utcoffsetstring 8 conditional utc offset of time at the arrival point * required if estimatedoractualenddate exists locationsstring 1024 optional list of locations where the card can be used * see location format bgcolorstring 8 required color of the card art e g , #00ffff fontcolorstring 8 optional color of the font on the card art acceptable values dark, light blinkcolorstring 8 optional color of the blinking effect which indicates that a card cannot be captured in the indicator area e g , #00ffff applinklogostring 256 required app link image url the file size should not exceed 256 kb applinknamestring 32 required app link name applinkdatastring 256 required information about the partner app link extrainfostring 512 optional additional information to be delivered to customers * see additional information format noticedescstring 5000 optional text of the notice * long content is allowed * see additional information format csinfostring 512 optional providers’ customer service informationusing data in json format converted to escape string* allowed items call, email, or website* see below for an example displaytsaprecheckynstring 1 optional flag whether to display the tsa precheck image either ‘y’ or ‘n’ image size 68x20 / 140x20 membershipstatuslevelstring 256 optional image url for the status level of the airline alliance or own membership i e , airline skyteam, star alliance image size 68x20 / 140x20 barcode valuestring 4096 optional actual data that is delivered when the barcode/qr code is scanned barcode serialtypestring 32 optional presentation type e g , serialnumber, barcode, * see barcode format barcode ptformatstring 32 optional presentation format e g , barcode, qrcode, serial, *see barcode format barcode ptsubformatstring 32 optional presentation sub-format e g , code_128, qr_code, * see barcode format barcode errorcorrectionlevelstring 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 example airline boarding pass { "card" { "type" "boardingpass", "subtype" "airlines", "data" [ { "refid" "se16138353212584800001", "createdat" 1612660039000, "updatedat" 1612660039000, "language" "en", "attributes" { "title" "oo air boarding pass", "transittype" "airline", "groupingid" "se867132687321", "providerlogo" "https // /logoimage png", "providerlogo darkurl" "https // /logoimage png", "providername" "oo air", "user" "gil dong hong", "vehiclenumber" "se123", "seatclass" "economy plus", "seatnumber" "a15", "reservationnumber" "a238473-1", "boardingseqno" "32", "boardingtime" 1612660039000, "boardingtime utcoffset" "utc+09 00", "baggageallowance" "15kg", "departname" "seoul/incheon", "departcode" "inc", "departterminal" "c", "departgate" "1", "estimatedoractualstartdate" 1612660039000, "estimatedoractualstartdate utcoffset" "utc+09 00", "arrivename" "san francisco", "arrivecode" "sfo", "arriveterminal" "a", "arrivegate" "11", "estimatedoractualenddate" 1612660039000, "estimatedoractualenddate utcoffset" "utc-08 00", "bgcolor" "#ff00ff", "fontcolor" "dark", "applinklogo" "https // /applinklogo png", "applinkname" "oo airline", "applinkdata" "https //www ooairline com", "csinfo" "{\"call\" \"0000-0000\",\"email\" \"samsungwallet@samsungwallet com\",\"website\" \"https //www samsungwallet com/cs/\"}", "barcode value" "cs16138353212584806754fg1802", "barcode serialtype" "barcode", "barcode ptformat" "qrcodeserial", "barcode ptsubformat" "qr_code" }, "localization" [ { "language" "ko", "attributes" { "title" "oo 항공 탑승권", "providername" "oo 항공", "user" "홍 길동" } } ] } ] } } grouped bus boarding passes { "card" { "type" "boardingpass", "subtype" "buses", "data" [ { "refid" "ref-202211300001", "createdat" 1669782394000, "updatedat" 1669782394000, "language" "en", "attributes" { "title" "samsung bus boarding pass", "transittype" "bus", "groupingid" "grp-20221130001", "providerlogo" "https // /logoimage png", "providerlogo darkurl" "https // /logoimagedark png", "providername" "samsung bus", "user" "galaxy kim", "usertype" "adult", "transitoperator" "samsung transport co ", "seatnumber" "7-a", "reservationnumber" "rsvno-202211300001", "transitclass" "premium", "transitfare" "12,500 won", "boardingtime" 1671926400000, "boardingtime utcoffset" "utc+09 00", "departname" "east-seoul bus terminal", "departgate" "14", "estimatedoractualstartdate" 1671928200000, "estimatedoractualstartdate utcoffset" "utc+09 00", "arrivename" "suwon bus terminal", "bgcolor" "#f1c232", "fontcolor" "dark", "applinklogo" "https // /applinklogo png", "applinkname" "samsung bus", "applinkdata" "https //www samsung-bus com", "csinfo" "{\"call\" \"0000-0000\",\"email\" \"samsungwallet@samsungwallet com\",\"website\" \"https //www samsungwallet com/cs/\"}", "barcode value" "161383532125848067541802", "barcode serialtype" "barcode", "barcode ptformat" "qrcodeserial", "barcode ptsubformat" "qr_code" }, "localization" [ { "language" "ko", "attributes" { "title" "삼성버스 탑승권", "providername" "삼성버스", "user" "김 은하", "transitfare" "12,500 원" } } ] }, { "refid" "ref-202211300002", "createdat" 1669782394000, "updatedat" 1669782394000, "language" "en", "attributes" { "title" "samsung bus boarding pass", "transittype" "bus", "groupingid" "grp-20221130001", "providerlogo" "https // /logoimage png", "providerlogo darkurl" "https // /logoimagedark png", "providername" "samsung bus", "user" "samsung sam", "usertype" "child", "transitoperator" "samsung transport co ", "seatnumber" "7-b", "reservationnumber" "rsvno-202211300002", "transitclass" "preminum", "transitfare" "9,000 won", "boardingtime" 1671926400000, "boardingtime utcoffset" "utc+09 00", "departname" "east-seoul bus terminal", "departgate" "14", "estimatedoractualstartdate" 1671928200000, "estimatedoractualstartdate utcoffset" "utc+09 00", "arrivename" "suwon bus terminal", "bgcolor" "#f1c232", "fontcolor" "#000000", "applinklogo" "https // /applinklogo png", "applinkname" "samsung bus", "applinkdata" "https //www samsung-bus com", "csinfo" "{\"call\" \"0000-0000\",\"email\" \"samsungwallet@samsungwallet com\",\"website\" \"https //www samsungwallet com/cs/\"}", "barcode value" "161383532125848067541802", "barcode serialtype" "barcode", "barcode ptformat" "qrcodeserial", "barcode ptsubformat" "qr_code" }, "localization" [ { "language" "ko", "attributes" { "title" "삼성버스 탑승권", "providername" "삼성버스", "user" "사만다 삼성", "transitfare" "9,000 원" } } ] } ] } }
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.