Most of our merchants want to use multiple currencies within their same integration to give their clients the ability to pay with different currencies such as SAR, EGP, AED, etc. In this article, you will know how to make this happen.


In this article you will be going to know how to control that via:


How to enable currencies in my PayTabs profile?


Before you start dealing with different currencies in your integration, you need to enable/add them first to your particular profile (Test or Live) that your integration works through. In this case, you will need just to send an email at ([email protected]) requesting to add a list of currencies you desire to add, mentioning your profile id along with the country your business operates in.



How to deal with multiple currencies within my PayTabs integration?


Each integration method enables you to define the currency code of your payments in its own way, which is shown as below:


API Endpoint


In the API endpoint, you can pass currencies directly while creating the payment by passing the parameter "cart_currency" in your request payload, as shown below


"cart_currency": "EGP",



Backend Libraries

Laravel


In the Laravel framework, you can pass currencies in the file "config/paytabs.php" by passing an array containing all currencies configured on your profile as shown on the code below.


'currency' => env('paytabs_currency', ['EGP']),



Node JS


As for Node JS, you can pass currencies directly while creating the payment by passing the "cart_currency" as shown on the code below.


paytabs.createPaymentPage(
[<payment_methods>],
['sale','ecom'],
[<cart_id>,<cart_currency>,<cart_amount>,<cart_description>],
[<customer_name>,<customer_email>,<customer_phone>,
<customer_address>,<customer_city>,<customer_state>,<customer_country>,<customer_Zip>,<customer_ip>],
[<shipping_name>,<shipping_email>,<shipping_phone>,<shipping_address>,<shipping_city>,<shipping_state>,<shipping_country>,<shipping_Zip>,<shipping_ip>],
[<callback>,<return_url>],
<paypage_lang>,
callback
)


As example


paytabs.createPaymentPage(
['all'],
['sale','ecom'],
['cart_22222','EGP','100','test'],
['Amk El-Kabbany','[email protected]','01000000000','address street','Egypt','egypt','EG','12345','1.1.1.1'],
['Amk El-Kabbany','[email protected]','01000000000','address street','Egypt','egypt','EG','12345','1.1.1.1'],
['https://webhook.site/730acce0-e54e-4522-8a45-f9b8e44624b6', 'https://site.paytabs.com/en/'],
'en',
createPayPage
  )

Mobile SDKs


Native IOS SDK


Using Native IOS SDK, you can pass currencies directly while creating the payment by passing the parameter "currency" as shown in the code below.  



Native Android SDK


In the Native Android SDK, you can pass currencies directly while creating the payment by passing the parameter "currency" as shown in the code below.


Using Kotlin


Using Java


React Native SDK


Using React Native SDK, you can pass currencies directly while creating the payment by passing the parameter "configuration.currency" as shown in the code below. 



Flutter SDK (Bridge)


As for the Flutter SDK (Bridge), you can pass currencies directly while creating the payment by passing the parameter "currencyCode" as shown in the code below.



Cordova SDK


Using Cordova SDK, you can pass currencies directly while creating the payment by passing the parameter "configuration.currency" as shown in the code below.



Ionic Native SDK


On the other hand, using Ionic Native SDK, you can pass currencies directly while creating the payment by passing the parameter "currency" as shown in the code below.


Xamarin SDK (Binding)


Finally, using Xamarin SDK (Binding), you can pass currencies directly while creating the payment by passing the parameter "currency" as shown in the code below.



eCommerce Plugins


Shopify Plugin


Shopify does not support multiple currencies when you are using a third-party payment method like (PayTabs), so you need to only pass your website currency in your site payments. However, you check with Shopify's support team for further information about this.


Once you had your first payment in Shopify even if it's test one, you can't change your site base currency again according to Shopify system workflow.



WooCommerce Plugin


Using WooCommerce, you will need to configure the currencies you would like to handle payments with, as shown below. Navigate to Settings menu > Currency Tab > Currencies Tab.



These configured currencies will be shown in your store as shown below:



Magento Plugin


To set up multiple currencies in your Magento 2 store please follow the below steps:

  1. Navigate to Stores > Settings > Configuration. 
  2. Choose the needed store view, then open the "General tab" and click "Currency Setup". In the "Currency Options" section.
  3. Choose your Base Currency, Default Display Currency, and Allowed Currencies as shown below. 


You can select multiple currencies by using ctrl + select.


These configured currencies will be shown in your store as shown below:



OpenCart Plugin 


You can follow the below steps to set up multiple currencies in your OpenCart store:

  1. Navigate to System menu > Localization menu > Currencies menu. 
For more information about Multiple Currencies in the OpenCart, kindly visit their solution article published regarding this point. (OpenCart Currencies).

These configured currencies will be shown in your store as shown below:



Cs-Cart Plugin


You need to configure the currencies you would like to receive payments with by following the below steps:

  1. Navigate to Administration > Currencies. 


For more information and to know more about Multiple Currencies in the Cs-Cart, kindly visit the following link (Manage Currencies in CsCart).


These configured currencies will be shown in your store as shown below:



Drupal Plugin


Just like if you were translating content, you have to enable multiple currencies before you can convert them. To get started, you must navigate to the Store Configuration screen and click Currency Settings. From Administration > Store > Configure.



Here on the currency settings page, all you can really do is enable currencies and set the default currency. From Administration > Store > Configure > Currency Settings.



You can then select which currency you want for your product. From Administration > Store > Products > Edit Product.