/* @created march 2025 */
Manage the Payment Methods
PayTabs provides you with the backend packages that make the integrating with PayTabs payment gateway very easy by providing ready-made classes that handle the payment process.
This article is dedicated to walking you through managing the payment methods available for your customers on the payment page. The following payment methods keys can be sent within the createPaymentPage
function as shown below:
Supported Payment Methods List:
Payment Method | Code |
---|---|
creditcard | |
amex | |
mada | |
urpay | |
unionpay | |
stcpay | |
stcpayqr | |
valu | |
aman | |
meezaqr | |
omannet | |
knet | |
knetdebit | |
knetcredit | |
applepay | |
samsungpay | |
installment | |
forsa | |
halan | |
tamara | |
amaninstallments | |
souhoola | |
tabby | |
touchpoints | |
paypal | |
sadad |
Method Specification
That the payment_code
parameter is Mandatory, not passing it would throw an exception.
Description | Create the Payment Page. |
---|---|
Since | 1.0.0 |
Required | ✔ |
Signature |
|
Sample |
|
Method Parameter details:
Payment Code
Name | payment_code |
---|---|
Type | ARRAY |
Description | Accept array of multiple specific payment methods separated by a comma. |
Default | - |
Required | ✔ |
Example |
|
Method Parameter Behavior:
All available Payment methods
You can send the value "all" to show all available/configured payment methods on your PayTabs account on the payment page.
let paymentMethods = ["all"];
Multiple Payment methods
To initiate a payment page with multiple specific payment methods, you can pass a comma-separate string with all the preferred payment methods, as shown below:
Note that you can find all the payment methods code above on the Supported Payment Methods List. However, the payment method should be configured/enabled in your profile first.
let paymentMethods = ["creditcard, valu"];
let paymentMethods = ["creditcard, valu, applepay"];
Excluding Payment methods
You can initiate a payment page with all the configured payment methods, excluding one method or more from being displayed in the payment by adding (-) before the excluded payment method, as shown below:
let paymentMethods = ["creditcard, -valu"];
let paymentMethods = ["creditcard, -valu, -applepay"];
Expected payment flow behaviour:
- As a merchant you would initiate a payment request per the above Specifications, which include a sample code.
- Then, after generating the payment page use the result to redirect the customer to the payment page.
function callbackMethod(result) {
//failed to create the payment page.
if (result['response_code:'] === 400) {
// get the message
console.log(result['result']);
// Next step
}
//success to create the payment page.
else {
//On success, redirect the customer to complete the payment.
console.log(result.redirect_url);
// Next step
};
}
PayTabs.createPaymentPage(
paymentMethods,
transaction_details,
cart_details,
customer_details,
shipping_address,
response_URLs,
lang,
callbackMethod,
frameMode
); - After this, your customer would proceed normally with payment by choosing the preferred payment method (if available), and providing his card information.
- Then, he will be redirected to his issuer bank 3DS/OTP page to authenticate the used card
- Finally, he would be redirect to a success/error page accordingly. By this time, you will be able to see his transaction on your merchant dashboard, whether it's accepted/authorized or not.