PayTabs SDK makes the integration with the PayTabs payment gateway very easy by providing a ready-made payment screen that handles the card entry, and billing & shipping information and completes the missing details.


This article is dedicated to walking you through how to manage this SDK configuration options. 

You will get to know each parameter type and its usage of it so that you can easily configure the SDK to suit your business needs.



PropertyData TypeRequiredUsage
profileIDStringThe merchant Profile ID, which you can get from your PayTavs dashboard. For more information, please check our How to get your account information from PT2 Dashboard? solution article.
serverKeyStringThe merchant profile's server key which used for authentication purposes. You can get it from your dashboard. To know more about how, please check our How to get my Authentication/Integration/API Keys? solution article.
clientKeyString

The merchant profile's client key which used for authentication purposes. You can get it from your dashboard. To know more about how, please check our How to get my Authentication/Integration/API Keys? solution article.
transactionTypeStringthe identification of the type of transactionTo know more about these types, please check our What is the "tran_type" (transaction type)? solution article. Noting that only "Sale" and "Auth" types are supported in this SDK.
TransactionClassStringthe identification of the category/class this transaction will follow, such as eCommerce, Recurring, etcTo know more about these types, please check our What is the "tran_class" (transaction class)? solution article. Noting that only "ecom" is supported in this SDK.
cartIDString

Indicates the cart/order id at the merchant end to easily relate the transaction to
currencyString (ISO Alpha-3 Format)


Indicates the transaction currency, which the customer will be charged with. Noting that this currency must be configured first on your PayTabs account to accept payment with.
amountNumeric String


Indicates the amount of this transaction the customer is about to be charged.
cartDescriptionString
Indicates the cart/order description at the merchant end to easily relate the transaction to.
languageCodeStringIndicates the payment page displaying language. if not passed, the default language will be displayed.
forceShippingInfoBoolean

Indicates whether to force the customer to provide the shipping information or not.
showBillingInfoBooleanIndicates whether to hide billing information or not from the payment form screen.

 

Noting that the customer details are still required and must be passed, in case any of the details are missing or passed with invalid values; this option will be ignored, and the cardholder will be required to enter any of the missing details on the payment page if he is using one of our APMs. Otherwise, the transaction will fail.

showShippingInfoBooleanIndicates whether to show the shipping information or not from the payment form screen.
billingDetailsPaymentSdkBillingDetailsIndicates the customer details for this payment, such as his name, email, ..etc. Noting that the countryCode used here must be in ISO alpha-2 format.
shippingDetailsPaymentSdkShippingDetailsIndicates the shipping details for this payment, such as his address, city, ..etc. Noting that the countryCode used here must be in ISO alpha-2 format.
merchantCountryCodeString (ISO Alpha-2 Format)Indicates the merchant account's country. It must be related to the profile used in the integration.
tokeniseTypeEnumThis option is used only when you want to tokenize the transaction for any further recurring transactions. This indicates whether the tokenization is optional or mandatory or if no tokenization will be done at all. It will be one of these values (none - merchantMandatory - userMandatory - userOptinoal). The default type is none.

This field is required for creating tokenized (recurring) transactions. 
tokenFormatEnumThis indicates the type of tokenization used. It will be one of these values (none - hex32 - alphaNum20 - digit22 - digit16 - alphaNum32). The default format is hex32.

This field is required for creating tokenized (recurring) transactions.
tokenString The customer's saved card token is to be passed within the transaction. 

This field is required for creating tokenized (recurring) transactions.
transactionReferenceString The unique key for the transaction generated by the PayTabs. 

This field is required for creating tokenized (recurring) transactions.
screenTitleStringThe title that'll be shown on the payment form screen under the logo.

merchantNameStringThe name of the merchant will be shown to the customer on the SamsungPay wallet screen.

This field is required for creating transactions to be paid in SamsungPay.
hideCardScannerBooleanIndicates whether to show the camera card scanner button from the payment form screen or not.

linkBillingNameWithCardBooleanIndicates whether to add the billing name to be the same as the cardholder's name or not.
alternativePaymentMethodsEnumUsed to add another payment method in the payment form screen (such as StcPay, OmanNet, .. etc) or not. For more information, please check the related section on this from here.
setPaymentExpiry
Integer

Option to set expiry timeout in seconds for the card payment screen. Set to zero to deactivate the timeout feature, and less than 60 seconds will not affect. If the merchant presses the "PAY NOW" button the timeout will stop and the customer will proceed without expiration.

setCardDiscount

list Of

PaymentSdkCardDiscount object



Using this option, you will be able to apply a discount to a specific bank card/s by specifying the card prefix from 4 to 10 digits





⌂ To get familiar with the whole process and the other steps, kindly navigate to our "The Native Android SDK Integration Manual" solution article. 

 And to navigate to the previous step in the integration process "Step 1 - Setup and activate the integration method" kindly click here.

 And to get familiar with the rest of the steps regarding the current step "Step 2 - Configure the integration method" click here.

⇨ Or you can navigate to the next step in the integration process "Step 3 - Initiating the payment" kindly click here.