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
profileIDNumeric StringThe 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 the transactionTo know more about these types please check our What is the "tran_type" (transaction type)? solution article. 
To know more about the only types that are supported in this SDK please check our 2.3 Flutter SDK | Enums solution article.

The default passed value is "sale"
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" and "recurring" are supported in this SDK.

The default passed value is "ecom".
cartIDString

Indicates the cart/order id at the merchant end to easily relate the transaction to
currencyCodeString (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.
amountFloat Number



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.
locale
StringIndicates 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.

 

Note that the customer details are still required and must be passed in case any of the details are missing or passed with invalid values; the request will fail, and the SDK will throw an exception.

showShippingInfoBoolean
Indicates whether to show the shipping information or not from the payment form screen.
billingDetailsObjectIndicates 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.
shippingDetailsObjectIndicates 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.
MerchantApplePayIndentifier
Boolean

The bundle ID that is shown in your PayTabs dashboard under the name "Merchant Identifier", which you can access through the Developers menu > Certification Management > Wallet Certificates. 


This field is required for creating transactions via the ApplePay payment method.
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 which has 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.
screentTitleStringThe 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 ApplePay wallet screen. It's highly recommended to be the same as your merchant name registered in your PayTabs account.

This field is required for creating transactions via the ApplePay payment method.
hideCardScannerBooleanIndicates whether to show the camera card scanner button from the payment form screen or not.

simplifyApplePayValidationBooleanIndicates whether to only validate necessary fields when using the ApplePay payment method, which is (name, phone, email) or not.
alternativePaymentMethodsEnumUsed to add another payment method in the payment form screen (such as Aman, StcPay, OmanNet, .. etc.) or not. For more information please check the related section on this from here.
samsungPayTokenString

Samsung Token is a JSON token returned from the Samsung pay payment.
linkBillingNameWithCardHolderName
Boolean



Indicates whether to add the billing name to be the same as the cardholder's name or not.
IOSThemeConfigurations
IOSThemeConfigurations
Object



Customize the iOS Theme (colors, font, and logo)
expiryTime
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 be affected. If the merchant presses the "PAY NOW" button the timeout will stop and the customer will proceed without expiration.









To get familiar with the whole process and the other steps, kindly navigate to our "The Flutter (Bridge) 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.