This topic describes how you can develop a billing system for your Tizen .NET TV application, to allow users to make purchases within your application.
Samsung Checkout offers an optimized purchase experience for your users on Samsung TVs. The user can quickly and safely register a payment method and make frictionless payments repeatedly within the TV environment. In addition, Samsung Checkout provides a comprehensive global monetization platform, which allows you to integrate various business models and promotional campaigns into your services.
The TV-optimized purchase experience provides the user a quick and simple 3-step checkout, once a payment method is registered. The checkout requires only number-centric information to be entered, making it easy to use with a TV remote control. Users can register their payment method directly on the TV or through a mobile phone.
To use Samsung Checkout within your .NET application, the user needs:
TV: Samsung Smart TV, 2018 or later model
Payment method: Credit or debit card, PayPal, or Samsung Pay (in Korea)
Security: Tizen SecureIME, 2nd-screen card registration (mobile or PC)
Account: Samsung Account (for sharing account and payment information with Galaxy phones)
ImportantA Samsung Account is mandatory for using Samsung Checkout. Samsung Checkout assumes that the user is logged in to Samsung Account at all times.
ImportantAll application data that is saved locally on a TV is deleted when the application is deleted from that TV. If the user's purchase history is saved only in the TV storage and not remotely, and the user deletes and reinstalls the application, all application settings and content are removed, including purchased content. If your application saves purchase information in the TV storage only, inform the user that uninstalling the application deletes their purchased content.
The DPI portal provides functions, such as "Purchase History Unapply" and "Refund", to help you address situations when your customer inadvertently deletes application data. Before proceeding with the unapply and refund processes, you must contact a Samsung representative by going to "Samsung Apps TV Seller Office > Support" and creating a "1:1 Q&A" support ticket.
Samsung Checkout Purchase Process
When a user wants to purchase a product on your application, Samsung Checkout provides a common purchase GUI, which identifies the user and confirms first the purchase and then the purchase completion. After the user completes the purchase, Samsung Checkout returns the purchase result to your application.
Product, Purchase, and Payment Management
The following figure illustrates how you can use Samsung Checkout and the information in the DPI server to manage in-app purchases and payments in your application.
Retrieve the customer purchase list using a Purchase List API request.
Respond to the purchase list content:
If there are products in the purchase list which are not applied, verify the purchase and apply the products.
If there are products in the purchase list which have been refunded, retrieve the products.
Send the application result to the server.
Request the product list.
Request the product information list using a Products List API request.
The user purchases the product:
When the user selects “Buy” in the application, provide a common purchase GUI through Samsung Checkout.
The user can enter a voucher or coupon code to modify the purchase price.
The user confirms the purchase by entering a PIN on the common purchase GUI, or biometric information on Samsung Pay.
Samsung Checkout delivers the purchase result to your application.
Request the purchase list.
Update the customer purchase list.
Verify the purchase.
Verify the purchase using a Verify Purchase API request.
Apply the product.
Apply the product using an Apply Product API request, and send the application result to the server.
DPI Service Environment
The DPI service provides information on buyable products in your application and the purchase history of your customers. It serves the appropriate product information for the user's country, provides user-specific purchase information, and manages applying the product after purchase. The DPI service also assures purchase integrity and provides security through preventing fraudulent access.
The DPI service environment is divided into 2 separate zones:
Operating Zone (PRD) for live production applications
When you submit your application for publishing, set it to use the operating zone.
NoteWhen a refund of a real payment is made in the operating zone, a charge is applied on you. Consequently, do not use the operating zone for testing.
Staging zone (DEV) for development and testing
The purpose of the staging zone is to facilitate the billing linkage development. This environment minimizes the exceptional country-specific cases that can happen when real payments are made in the operating zone.
The staging zone also includes a dummy payment testing option, where the user does not need to register any payment method, but can still use all the DPI services as in real payment transactions.
Dummy payment
Actual Payment
Table 1. Dummy and actual payment screens
The following figure illustrates the DPI service environments.
Implementation information for each DPI service environment is described in the following table.
BillingRequestServerType servertype = BillingRequestServerType.Prd;
string securityKey = "*****"; // Your security key issued by DPI portal
// (Can be different from Sandbox's sSecurity key)
BillingRequestServerType servertype = BillingRequestServerType.Dummy;
string securityKey = "*****"; // Your security key issued by DPI portal
Table 2. DPI service environment details
When you submit your application for publishing, make sure that it has been fully integrated with the billing system:
Ensure that the application detects the service environment and sets the server type accordingly.
Check that the product and price information in the operating zone (PRD) matches the tested information in the staging zone (DEV). No data is automatically shared between the zones.
Registering a Test User Payment Method
When the user registers their credit card as a payment method in Samsung Checkout, they can do it through their mobile phone or computer Web site by entering the authentication code.
When you are creating a test user for your application, pay attention to the URL you use to enter your authentication code and register a payment method. Each URL requests a different server to handle the payment:
We use cookies to improve your experience on our website and to show you relevant
advertising. Manage you settings for our cookies below.
Essential Cookies
These cookies are essential as they enable you to move around the website. This
category cannot be disabled.
Company
Domain
Samsung Electronics
.samsungdeveloperconference.com
Analytical/Performance Cookies
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.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Functionality Cookies
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.
Company
Domain
LinkedIn
.ads.linkedin.com, .linkedin.com
Advertising Cookies
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.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Preferences Submitted
You have successfully updated your cookie preferences.