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.
Property | Data Type | Required | Usage |
---|---|---|---|
profileID | Numeric String | ✔ | The 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. |
serverKey | String | ✔ | The 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. |
clientKey | String | ✔ | 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. |
transactionType | String | ❌ | the identification of the type of the transaction. To 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" |
TransactionClass | String | ❌ | the identification of the category/class this transaction will follow, such as eCommerce, Recurring, etc. To 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". |
cartID | String | ✔ | Indicates the cart/order id at the merchant end to easily relate the transaction to |
currencyCode | String (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. |
amount | Float Number | ✔ | Indicates the amount of this transaction the customer is about to be charged. |
cartDescription | String | ✔ | Indicates the cart/order description at the merchant end to easily relate the transaction to. |
locale | String | ❌ | Indicates the payment page displaying language. if not passed the default language will be displayed. |
forceShippingInfo | Boolean | ❌ | Indicates whether to force the customer to provide the shipping information or not. |
showBillingInfo | Boolean | ❌ | Indicates 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. |
showShippingInfo | Boolean | ❌ | Indicates whether to show the shipping information or not from the payment form screen. |
billingDetails | Object | ✔ | Indicates 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. |
shippingDetails | Object | ❌ | Indicates 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. |
merchantCountryCode | String (ISO Alpha-2 Format) | ✔ | Indicates the merchant account's country. It must be related to the profile used in the integration. |
tokeniseType | Enum | ❌ | This 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. |
tokenFormat | Enum | ❌ | This 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. |
token | String | ❌ | The customer's saved card token which has to be passed within the transaction. This field is required for creating tokenized (recurring) transactions. |
transactionReference | String | ❌ | The unique key for the transaction generated by the PayTabs. This field is required for creating tokenized (recurring) transactions. |
screentTitle | String | ❌ | The title that'll be shown on the payment form screen under the logo. |
merchantName | String | ❌ | The 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. |
hideCardScanner | Boolean | ❌ | Indicates whether to show the camera card scanner button from the payment form screen or not. |
simplifyApplePayValidation | Boolean | ❌ | Indicates whether to only validate necessary fields when using the ApplePay payment method, which is (name, phone, email) or not. |
alternativePaymentMethods | Enum | ❌ | Used 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. |
samsungPayToken | String | ❌ | 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.