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 perform tokenized/recurring transactions using this SDK.
To enable tokenization (for recurring or any other services that depend on auto-detection from the customers instead of saving credit card details), please follow the below instructions:
iOS:
After making sure of configuring this SDK as you wish, you will need to import the SDK package classes in your code first to start, as shown below:
- Request a token in creating any payment request by passing the "tokeniseType" along with the "tokenFormat" with the preferred type and format that suits your business needs within your PaymentConfiguration, as shown below.
configuration.TokeniseType = TokeniseType.UserOptional; // read more about the tokeniseType in the constants section configuration.TokenFormat = TokeniseFromat.Hex32Format; // read more about the tokenFormat in the constants section
To know more about these parameters and what are the available values you can pass please check the "2.3 Xamarin SDK | Enums" solution article.
- Configure the billing & shipping information for this payment, noting that the shipping information is optional. To know more about this, please check our 3.1 Xamarin SDK | Manage Shipping and Billing details and 2.1 Xamarin SDK | Configuration Options & Parameters solution articles.
Then create an object from
PaymentConfiguration
and fill it out with your credentials and payment details don't forget tokeniseType and tokenFormat from step number 1. To know more about what is the exact values that should be passed here, please check our 2.1 Xamarin SDK | Configuration Options & Parameters and 2.2 Xamarin SDK | The Payment Configuration Object solution articles.PaymentConfiguration configuration = new PaymentConfiguration { ProfileID = "*Profile Id*", ServerKey = "*Server key*", ClientKey = "*Client Key*", MerchantCountryCode = "AE", Currency = "USD", Amount = 130, CartID = "123456", CartDescription = "Buy 2 Flowers", MerchantName = "Flowers Store", ScreenTitle = "Pay with Card", configuration.TokeniseType = TokeniseType.UserOptional, configuration.TokenFormat = TokeniseFromat.Hex32Format, };
Only then you will be ready to start/initiate the payment by passing your PaymentConfiguration
to the
StartCardPaymentWithConfiguration
function.
To know more about this please check our 2.2 Xamarin SDK | The Payment Configuration Object- Define a variable of type PaymentSDKProxy
- Call the StartCardPaymentWithConfiguration method
After this, you will receive the token along with the transaction reference (that generated this token) within the payment details response. You will need to save them for future usage.
To handle the response payment details & events callback you have to implement the IPaymentCallback interface. To know more about this please check our Step 5 - Xamarin SDK | Handle the payment response solution article.- Then perform any further recurring transaction according to your business needs by repeating steps 2 and 3 from this solution article, then directly start the tokenized card payment via the StartCardPaymentWithConfiguration function by passing the PaymentConfiguration object along with the token and the transaction reference (saved from the previous step).
PaymentConfiguration configuration = new PaymentConfiguration { ProfileID = "*Profile Id*", ServerKey = "*Server key*", ClientKey = "*Client Key*", MerchantCountryCode = "AE", Currency = "USD", Amount = 130, CartID = "123456", CartDescription = "Buy 2 Flowers", MerchantName = "Flowers Store", ScreenTitle = "Pay with Card", configuration.Token = token, configuration.TransactionReference = transactionreference, };
Android:
After making sure of configuring this SDK as you wish, you will need to import the SDK package classes in your code first to start, as shown below:
using Com.Payment.Paymentsdk.Integrationmodels; using Com.Payment.Paymentsdk; using Com.Payment.Paymentsdk.Sharedclasses.Interfaces;
- Request a token in creating any payment request by passing the "tokeniseType" along with the "tokenFormat" with the preferred type and format that suits your business needs within your PaymentSdkConfigBuilder, as shown below.
configuration.TokeniseType = PaymentSdkTokenise.UserOptional // read more about the tokeniseType in the constants section configuration.TokenFormat = PaymentSdkTokenFormat.Hex32Format // read more about the tokenFormat in the constants section
To know more about these parameters and what are the available values you can pass please check the "2.3 Xamarin SDK | Enums" solution article.
Configure the billing & shipping information for this payment, noting that the shipping information is optional. To know more about this, please check our 3.1 Xamarin SDK | Manage Shipping and Billing details and 2.1 Xamarin SDK | Configuration Options & Parameters solution articles.
Then create an object from
PaymentSdkConfigBuilder
and fill it out with your credentials and payment details don't forget tokeniseType and tokenFormat from step number 1. To know more about what is the exact values that should be passed here, please check our 2.1 Xamarin SDK | Configuration Options & Parameters and 2.2 Xamarin SDK | The Payment Configuration Object solution articles.Only then you will be ready to start/initiate the payment by passing your PaymentSdkConfigBuilder object to the
startCardPayment
function
To know more about this please check our 2.2 Xamarin SDK | The Payment Configuration Object
PaymentSdkActivity.StartCardPayment(this,configuration, this);
After this, you will receive the token along with the transaction reference (that generated this token) within the payment details and event callback via implementing the ICallbackPaymentInterface interface. You will need to save them for future usage.
To know more about this please check our Step 5 - Xamarin SDK | Handle the payment response solution article.- Then perform any further recurring transaction according to your business needs by repeating steps 2 and 3 from this solution article, then directly start the tokenized card payment via the startTokenizedCardPayment function by passing the PaymentSdkConfigBuilder object along with the token and the transaction reference (saved from the previous step).
PaymentSdkConfigurationDetails configuration = new PaymentSdkConfigBuilder( "*Profile ID*", "*Server Key*", "*Client Key*", 44.0, "USD" ) .SetCartId("123") .SetCartDescription("yyif") .SetMerchantCountryCode("AE") .SetBillingData(billDetails) .SetShippingData(shippingDetails) .setTokenisationData(token = "", transactionReference = "") .Build();
⌂ To get familiar with the whole process and the other steps, kindly navigate to our "The Xamarin (Bridge) SDK Integration Manual" solution article.
⇦ And to navigate to the previous step in the integration process "Step 2 - Configure the integration method" click here.
⇦ And to get familiar with the rest of the steps regarding the current step "Step 3 - Initiating the payment" click here.
⇨ Or you can navigate to the next step in the integration process "Step 4 - Accepting the payment" kindly click here.