All Implemented Interfaces:
android.os.Parcelable
public class AmountBoxControl
extends SheetControl
implements android.os.Parcelable
This class provides AmountBoxControl on custom payment sheet.
AmountBoxControl is used for displaying amount information on custom payment sheet.
Since:
API Level 1.3
Nested Class Summary
Nested classes/interfaces inherited from interface android.os.Parcelable
android.os.Parcelable.ClassLoaderCreator<T extends Object >, android.os.Parcelable.Creator<T extends Object >
Field Summary
Fields inherited from interface android.os.Parcelable
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_WRITE_RETURN_VALUE
Constructor Summary
Constructors
Constructor to create AmountBoxControl.
Method Summary
All Methods Instance Methods Concrete Methods
void
API to add item in specific location.
void
boolean
API to check the item is existing or not.
API to return the currency code.
ISO 4217 currency code (example: USD, KRW, EUR, and so on).
double
void
void
API to set the amount total.
void
API to set the currency code.
void
API to update item title.
void
API to update price.
currencyCode + price will appear on custom payment sheet.
If price is set, then extraPrice is initialized empty value,
because extraPrice appear if extraPrice is not empty.
void
API to update price and extraPrice.
Constructor Details
AmountBoxControl
public AmountBoxControl (String controlId,
String currencyCode)
Constructor to create AmountBoxControl.
// Construct AmountControlBox.
AmountBoxControl amountBoxControl
= new AmountBoxControl("id_amount", "USD");
// set each item.
amountBoxControl.addItem("id_item", "Item", 1000, "");
amountBoxControl.addItem("id_tax", "Tax", 10, "");
amountBoxControl.addItem("id_shipping", "Shipping", 20, "");
amount.setAmountTotal(1030, AmountConstants.FORMAT_TOTAL_PRICE_ONLY);
// Update sheetControl
sheet.updateControl(amountBoxControl);
// Call updateSheet() API method with AmountBoxControl. This is mandatory.
paymentManager.updateSheet(sheet);
Parameters:
controlId
- Unique ID to represent the AmountBoxControl.
This ID is used to compare and identify the other SheetControls.
currencyCode
- Currency code to be used by Payment Gateway for payment.
ISO 4217 currency code (example: USD, KRW, EUR, and so on / All uppercase).
Throws:
IllegalArgumentException
- Thrown if controlId is null or empty.
NullPointerException
- Thrown if currencyCode is null.
IllegalArgumentException
- Thrown if currencyCode is invalid.
Since:
API Level 1.3
Method Details
getValue
public double getValue (String id)
API to get value for ID.
Parameters:
id
- Unique ID to get value.
Returns:
double value
Throws:
NullPointerException
- Thrown if the ID is null.
IllegalArgumentException
- Thrown if the ID is invalid.
Since:
API Level 1.3
existItem
public boolean existItem (String id)
API to check the item is existing or not.
Parameters:
id
- Unique ID to be checked.
Returns:
true or false
Throws:
NullPointerException
- Thrown if ID is null.
Since:
API Level 1.3
addItem
API to add item.
Parameters:
id
- Unique ID to be set.
title
- Title to be displayed.
price
- Price to be set.
extraPrice
- If extraPrice is set, extraPrice is displayed instead of price on custom payment sheet.
Throws:
NullPointerException
- Thrown if ID or title is null.
IllegalArgumentException
- Thrown if the same ID is used in other SheetControl.
Since:
API Level 1.3
addItem
public void addItem (int location,
String id,
String title,
double price,
@Nullable
String extraPrice)
API to add item in specific location.
AmountBoxControl amountBoxControl = (AmountBoxControl) sheet.getSheetControl("amount");
amountBoxControl.updateValue("item", 1000);
amountBoxControl.updateValue("tax", 10);
amountBoxControl.updateValue("shipping", 20);
if (!amountBoxControl.existItem("fuel")) {
amountBoxControl.addItem(3, "fuel", "FUEL", 0, "Amount pending");
} else {
amountBoxControl.updateValue("fuel", 0, "Amount pending");
}
amountBoxControl.setAmountTotal(1030.00, AmountConstants.FORMAT_TOTAL_PRICE_ONLY);
// Update sheetControl
sheet.updateControl(amountBoxControl);
// Call updateSheet() API method with AmountBoxControl. This is mandatory.
paymentManager.updateSheet(sheet);
Parameters:
location
- Location to be displayed in AmountBoxControl on custom payment sheet.
id
- Unique ID to be set.
title
- Title to be displayed.
price
- Price to be set.
extraPrice
- If extraPrice is set, extraPrice is displayed instead of price on custom payment sheet.
Throws:
NullPointerException
- Thrown if ID or title is null.
IllegalArgumentException
- Thrown if location is invalid or the same ID is used in other SheetControls.
Since:
API Level 1.3
setAmountTotal
public void setAmountTotal (double price,
String displayOption)
API to set the amount total.
AmountBoxControl amount
= new AmountBoxControl("amount", "USD");
amount.addItem("item", "Item", 1000, null);
amount.addItem("tax", "Tax", 10, null);
amount.addItem("shipping", "Shipping", 20, null);
amount.setAmountTotal(1030.00, AmountConstants.FORMAT_TOTAL_PRICE_ONLY);
Parameters:
price
- Price to be set.
This amount is for online payment transaction.
displayOption
- Amount total display option. Merchant must set one of the predefined formats to display total.
The possible values are:
AmountConstants.FORMAT_TOTAL_PRICE_ONLY
AmountConstants.FORMAT_TOTAL_ESTIMATED_AMOUNT
AmountConstants.FORMAT_TOTAL_ESTIMATED_CHARGE
AmountConstants.FORMAT_TOTAL_ESTIMATED_FARE
AmountConstants.FORMAT_TOTAL_FREE_TEXT_ONLY
AmountConstants.FORMAT_TOTAL_AMOUNT_PENDING
AmountConstants.FORMAT_TOTAL_AMOUNT_PENDING_TEXT_ONLY
AmountConstants.FORMAT_TOTAL_PENDING
AmountConstants.FORMAT_TOTAL_PENDING_TEXT_ONLY
AmountConstants.FORMAT_TOTAL_UP_TO_AMOUNT
Throws:
IllegalArgumentException
- Thrown if displayOption is null or empty.
Since:
API Level 1.3
removeItem
public void removeItem (String id)
API to remove item.
amountBoxControl.updateValue("id_tax", 30);
if (amountBoxControl.existItem("id_fuel")) {
amountBoxControl.removeItem("id_fuel");
}
amountBoxControl.updateValue("id_total", 1040);
Parameters:
id
- ID of item to remove.
Throws:
NullPointerException
- Thrown if the ID is null.
IllegalArgumentException
- Thrown if the ID is invalid.
Since:
API Level 1.3
updateValue
public void updateValue (String id,
double price)
API to update price.
currencyCode + price will appear on custom payment sheet.
If price is set, then extraPrice is initialized empty value,
because extraPrice appear if extraPrice is not empty.
Parameters:
id
- Unique ID of item to update.
price
- Price to be set.
Throws:
NullPointerException
- Thrown if the ID is null.
IllegalArgumentException
- Thrown if there are no items associated with the ID.
Since:
API Level 1.3
updateValue
public void updateValue (String id,
double price,
@Nullable
String extraPrice)
API to update price and extraPrice.
If extraPrice(String) is set, then extraPrice will appear instead of price.
Parameters:
id
- Unique ID of item to update.
price
- Price to be set.
extraPrice
- ExtraPrice to be set.
Throws:
NullPointerException
- Thrown if the ID is null.
IllegalArgumentException
- Thrown if there are no items associated with the ID.
Since:
API Level 1.3
updateTitle
API to update item title.
Parameters:
id
- Unique ID of item to update.
title
- Title to be set.
Throws:
NullPointerException
- Thrown if the ID is null.
IllegalArgumentException
- Thrown if there are no items associated with the ID.
Since:
API Level 1.3
getCurrencyCode
public String getCurrencyCode ()
API to return the currency code.
ISO 4217 currency code (example: USD, KRW, EUR, and so on).
Returns:
Currency code.
Since:
API Level 1.3
setCurrencyCode
public void setCurrencyCode (String currencyCode)
API to set the currency code.
Parameters:
currencyCode
- Currency code to be used by Payment Gateway for payment.
ISO 4217 currency code (example: USD, KRW, EUR, and so on / All uppercase).
Throws:
IllegalArgumentException
- If the currency code is invalid.
NullPointerException
- If the currency code is null.
Since:
API Level 1.3
Samsung Electronics . Samsung Pay SDK 2.19.00 - Jun 12 2024