top

Samsung Checkout Service FAQ

This topic solves various issues you may face while creating applications that use Samsung checkout Service. Select the applicable section to see the most common questions about a specific subject, and click the section heading to access all the available questions for that subject.

Before Submit your application for Samsung SQA

Q: After we develop the application with Samsung Checkout on the Staging environment, I found that it does not work properly on Operating environment, what should I do?
A: There are a few mistakes that are frequently made by the developer, please check the list of below to ensure that you followed it correctly

  1. Check if you have registered your product from DPI portal for Operating Zone. Your product should be registered in both Staging and Operating

  2. Ensure that the application detects the service environment and sets the DPI API URL and server type accordingly, you can find more information from "Prerequisites - 4.Initialize the required variables - d. Set the DPI URL and service environment depending on the server type"
    from Implementing the Purchase Process

Application Development Issue

Q: "My app is getting the error like this “[payResult]:CANCEL” how can I send Question to Samsung Checkout team?
A: below are the sample email that you can send to us via apps TV seller site 1:1 Q&A.

Note

We are developing an application with in-app purchase on Samsung Smart TV UN43NU7120.

For testing Samsung billing functionality we used the sample app from here:

https://github.com/SamsungDForum/SamsungCheckout This test application retrieves successfully the products list assigned to our application with App ID 3201506003237.

Once the products list is received, we tried to call requestBuyItem API. But the following errors are received according to the used Samsung billing server URL:

· 'DEV': https://sbox-checkoutapi.samsungcheckout.com/openapi “Оформление покупки не поддержвается, [DA-0219-a7af33]” and server responds “[payResult]:CANCEL”

· 'DUMMY': https://sbox-checkoutapi.samsungcheckout.com/openapi SmartTV shows Samsung Checkout Dummy Pay and when “Dummy Pay” button is pressed, “Оформление покупки не поддержвается, [DA-0219-a7af33]” message appears and server responds “[payResult]:CANCEL”

What is the reason for the above issues?

Press Ask Question and leave the Question to send

Press Ask Question and leave the Question to send

Q: I got error in response of API "/billing/service/v2/paymethods/MD" as { "status" : "0410424", "result" : "Оформление покупки не поддерживается.[DA-0219-a7af33]", "resultLongMesg" : "Unavailable service support country.", "resultTitle" : "Недоступно" } What's wrong?
A : MD that you added at the end is Country Code and "MD: Moldova, Republic of" is not a supporting country for Samsung Checkout Service. To see all the list of country where Samsung Checkout is supported, go to Country and Currency Codes in https://developer.samsung.com/tv/develop/guides/samsung-checkout/implementing-the-purchase-process.

Q: Can I just test how Samsung Checkout client works without registering the product on DPI?

A: Yes, you can use the information below in your test app to see how Samsung Checkout Client works on TV. The precondition of using this information is to set your TV smart hub country like the US. However, please make sure that it's only used at the development stage before setup of your own DPI. this information must not be used in real service.

`buyItem()` method request parameters
Parameter value
"App Id" 3201504002021
"Payment Server" DEV
"PaymentDetails" OrderItemID "DP111000001962"
OrderTitle "0708_Consumable"
OrderTotal "1.5"
OrderCurrencyID "USD"
  • Example Code
var appId = "3201504002021";
var paymentServer = "DEV";


var detailObj = new Object();

detailObj.OrderItemID = "DP111000001962";
detailObj.OrderTitle = "0708_Consumable";
detailObj.OrderTotal = "1.5";
detailObj.OrderCurrencyID = "USD";
detailObj.OrderCustomID = "";

var paymentDetails = JSON.stringify(detailObj);


var onsuccess = function(data) {
};

var onerror = function(error) {
};

webapis.billing.buyItem(appId, paymentServer, paymentDetails, onsuccess, onerror);

Q: If a user purchases a product which has only been made available in a single country, will that purchase be returned via the ‘invoice/list’ endpoint even if a different country code than the one the user purchased the product in?
A: Yes. the response of ‘invoice/list’ does not consider the country code of API request parameter. I mean 'invoice/list' API returns all of the purchase what the buyer has purchased without considering country.

DPI Portal usage Guide

From the DPI, partners can register and manage products for sale and access the transaction history logs and sales reports for the applications they own.

Q: How do price changes work?
A: If you want to change the price of the existing item, they can change the price on the DPI site as following, select App -> select "Product List" menu on the left -> select Product ID, then you can change product price. And in case of countries which it is necessary to select tax category, you need to permit from Samsung administer. Prices you set can be changed after three months and you must notify consumer new price.

Q: Will we have a unique product per country?
A: When a buyer purchases a specific product which is sold in three countries, the buyer have the same right for the purchase among the countries. so if you want to give a right for the purchase within a single country, they should register products separately by each country(product id should be different).

Q: Are security keys tied to appId? (For instance: if we have 2 applications each with their own appID, will each one have its own securityKey?)
A: Yes right, security keys are bound to app Id.

Q: When we login on DPI site, our app is not linked on DPI site. How can we do it?
A: When you enroll your app on the seller site, you should check the option using checkout. Please refer to the picture below.

You should tick "Use" and "Yes" to use Samsung Checkout DPI site

You should tick "Use" and "Yes" to use Samsung Checkout DPI site

Q: How long does it take to get approval to use DPI site?
A: for Staging zone(Developement), it will take maximum 2 days, however for the Operating zone, contract T&C should be finalized between you and Samsung in advance.

Operation of your service

This is the section that explains the issues related to the operation of your service

Q: Can I use my TV to test Samsung Checkout? I bought Samsung Smart TV around 2016
A: Yes, Samsung Checkout service is available since 2015 Samsung Smart TV. But the latest function is guaranteed only for the last three years, and there may be a difference in the function of each year.

Q: Does Samsung send push/email or any sort of messaging to users throughout the lifecycle (free trial, subscribe, cancel)?
A: Samsung sends an e-mail to users who buy items, subscribe, cancel and refund. Also, Samsung sends notice e-mail to users who failed to pay out subscription item.

Q: Is there any additional info you can pass along on error response codes for the Billing API, such as what the response will be if the checkValue is incorrect?
A: Yes, see the "Error Code" in References on this page

Q: what happens to the current users who are in the middle of their subscription, when CP change the price. Will the user get some notification when they renew next time?
A: No. Service Provider must notices this information to the buyer before. Because Samsung checkout does not notice about price change to buyers who subscribe to subscription products.

Q: Does the Samsung Checkout charge users based on local currency, or based on the credit card that is used? for example, can you pay with US credit card in Columbia? Will it be charged in local currency, or in USD?
A: Yes, you will be charged in local currency

Q:  What is "CustomID" and "OrderCustomID" ?
A: "CustomID" and "OrderCustomID" is same value. "CustomID" uses the same value as "Order CustomID" when calling buyItem(). If you have a Unique ID, use it. If not, use the Samsung account UID.

Q: How is the providers user account data matched with checkout's Transaction List
A: Using "OrderCustomID"
If provider has a "providers user account", provider can put the value in the "OrderCustomID" parameter when calling BuyItem() API.
This value was mapping checkout Transaction List's "Order Custom ID" column.

Q: How is the providers user account data matched with checkout's Transaction List
A: Using "OrderCustomID"
If provider has a "providers user account", provider can put the value in the "OrderCustomID" parameter when calling BuyItem() API.
This value was mapping checkout Transaction List's "Order Custom ID" column.

Product Type

This section includes information related to a product type that can be purchased via Samsung Checkout service.

Limited Period

Q: From the response data of API "invoice/list", Will Period, AppliedTime, LimitEndTime, and RemainTime always be present for InvoiceDetails objects that have an ItemType of Limited Period?
A: Yes

Q: In API spec document for the response data of API "invoice/list", "LimitEndTime" should be Limited period product end time, in 14-digit UTC time. Does it mean that the field is not mandatory, so either that field should exist and be a 14-digit string, or that field should not exist?
A: No, "LimitEndTime" must exist when "Limited Period" product is applied.

Q: From the response data of API "invoice/list", what is the expected value of the LimitEndTime field when the purchase hasn’t been applied yet?
It appears that for LimitedPeriod items that haven’t been applied ("ItemType" is "3"), the "LimitEndTime" field is set to "".

A: yes. LimitEndTime is calculated based on applying date and time.

Subscription

Q: From the response data of API "invoice/list", Will SubscriptionInfo ever be present on an InvoiceDetails object that does not have an ItemType of Subscription?
A: 'SubscriptionInfo' is shown only 'ItemType' is Subscription.

Q: Will an InvoiceID ever change, or is it static? If a new purchase is made does it always generate a new InvoiceID?
A: The InvoiceID is generated when the buyer subscribes a product for regular payment. however, SubscriptionId is generated only when the buyer subscribes a product at first. Samsung Checkout uses a first InvoiceID as a SubscriptionId and, It will never be updated.

Q: Does subscription end date("SubsEndTime") get updated as soon as a user has been successfully billed for the upcoming period of the subscription?
A: No, subscription end date("SubsEndTime") describe the expiry time of this subscription (not "NextPaymentTime")

Q: As how long is a month defined in subscriptions? Calendar or 30/31 days.
A: Calendar.
The next month's payment will be made on the same date as the day consumer applied for the subscription.
For example, if consumer apply for a subscription on November 14th, the payment will be made on December 14th next month.
In the case of a month that does not have a date corresponding to the settlement date (e.g., 31 days), payment will be made on the end of the month.

Q: Would the canceling of a subscription/closing of the account automatically trigger a refund at Checkout?
A: No. Even if consumer withdraw Samsung account or cancel subscription to the regular payment, can not refund the already charged.
On the next settlement date, the subscription status will be changed from active to expired, and regular payment is stopped.

Billing subscription process

Billing subscription process

Samsung Checkout Service Error Code

This is error code you can face while you integrate Samsung checkout API. This is to share the error code that might happen from Checkout Side.

Error Code /cont/list /invoice/list /invoice/verify /invoice/apply /subscription/cancel Root Cause Message
410479 O O O O O Invalid API Unable to process your request properly. If this problem persists, contact us at [[EMAIL]] with this error code [[Errorcode]].
410127 O O O O O Missing required parameters There was an error while processing your payment. Please contact the app provider. ([[Errorcode]])
410424 O O O O O Not supported country Checkout is not supported.
410474 O O O O O Invalid parameter Unable to process your request properly. If this problem persists, contact us at [[EMAIL]] with this error code [[Errorcode]].
410475 O O O O O Invalid parameter Unable to process your request properly. If this problem persists, contact us at [[EMAIL]] with this error code [[Errorcode]].
410227 O O O O O Invalid parameter There was an error while processing your payment. Please contact the app provider. ([[Errorcode]])
410401 O O O O O JSON Syntax error There was an error while processing your payment. Please contact the app provider. ([[Errorcode]])
400301 O O O O O Internal Server Error We are temporarily unable to complete this transaction. Please try again later. ([[Errorcode]])
410477 O O X X X Not approved App ID Unable to process your request properly. If this problem persists, contact us at [[EMAIL]] with this error code [[Errorcode]].
400500 O O X X X Invalid checkvalue Unable to process your request properly. If this problem persists, contact us at [[EMAIL]] with this error code [[Errorcode]].
400111 O O O X X Invalid App ID There was an error while processing your payment. Please contact the app provider. ([[Errorcode]])
400124 X X O O X Already refuned Invoice ID There was an error while processing your payment. Please contact the app provider. ([[Errorcode]])
410408 X X O O O Invalid Invoice ID We are temporarily unable to complete this transaction. Please try again later. ([[Errorcode]])
400203 X X O O O Invalid order custom ID There was an error while processing your payment. Please contact the app provider. ([[Errorcode]])
400125 O X X X X Not supported country This item can not be purchased in your country. ([[Errorcode]])
410459 O X X X X Not koined SmartBill system (only KR partner) This item is unavailable until further notice. ([[Errorcode]])
410419 O X X X X Invalid checkvalue Unable to process your request properly. If this problem persists, contact us at [[EMAIL]] with this error code [[Errorcode]].
400303 X X X O X Already applied Invoice ID Unable to process your request properly. If this problem persists, contact us at [[EMAIL]] with this error code [[Errorcode]].
410410 X X X X O Already cancled Subscription A refund is not allowed for this transaction. ([[Errorcode]])
410903 X X X X O Internal Server Error We are temporarily unable to complete this transaction. Please try again later. ([[Errorcode]])