Start accepting payments with Mada, Saudi Arabia's domestic payment network.

Mada has partnerships with major card schemes like Visa and Mastercard, so the cards can be accepted both locally and globally.

Accepting Mada cards outside Saudi Arabia

When you process a Mada card outside Saudi Arabia, it behaves like any other debit card, so you can process a card payment without any need for specific configurations or extra parameters.

However, we recommend that you process Mada cards using 3D Secure and the card verification value (CVV) / card security code (CSC).

Accepting Mada cards within Saudi Arabia

To process Mada cards within Saudi Arabia's debit card network, you will first need to obtain a merchant ID from a Saudi Arabian card acquirer.

Authorization and void requests
Currently, you can only process purchases and refunds with Mada – authorization and void requests will be rejected.

Processing payments with Frames and Checkout.js

Once the customer submits the credit card form, the first six digits of their card – the bank identification number (BIN) – will be returned, and you'll need to compare this against the list of Mada BINs:

588845 440647 440795 446404 457865 968208
588846 493428 539931 558848 557606 968210
636120 417633 468540 468541 468542 468543
968201 446393 588847 400861 409201 458456
484783 968205 462220 455708 588848 455036
968203 486094 486095 486096 504300 440533
489317 489318 489319 445564 968211 401757
410685 432328 428671 428672 428673 968206
446672 543357 434107 431361 604906 521076
588850 968202 535825 529415 543085 524130
554180 549760 588849 968209 524514 529741
537767 535989 536023 513213 585265 588983
588982 589005 508160 531095 530906 532013
588851 605141 968204 422817 422818 422819
428331 483010 483011 483012 589206 968207
419593 439954 407197 407395 520058 530060
531196 - - - - -

If the card's BIN matches one from the list above, you'll know it's a Mada card.

Next, follow these steps:

  1. Before you redirect the customer, send a hidden HTML field or another indication that the card type is Mada to your server. For instance: <input name=”cardType” type=”hidden” value=”mada”>
  2. In the backend code, check if the posted hidden variable cardType was a Mada card. If so, make sure you:
    a. set "3ds.enabled" to true to process the payment with 3D Secure authentication,
    b. set "metadata.udf1" to "mada", and
    c. do not pass "capture" or "capture_on" in the request.

Processing payments with full card details

To process a Mada card with full card details, simply follow the steps in the Frames/Checkout.js section above.

The only difference is that you won't need to wait to receive the customer's BIN because you'll have full access to the card number. Simply get the first six digits from the card form, compare it with the Mada BIN list (see above), and then send a request with the required parameters described in the Frames/Checkout.js section above.

Mobile app integration

To process Mada card payments through a mobile app, follow the Frames/Checkout.js process above.

Like step 1 in that process, before you post the cart data and checkout data to your web server, you'll need to add a field to your API request that indicates whether or not it's a Mada card. For example: cardType:”mada”

Apple Pay integration

Mada cards can be processed the same way as other cards in Apple Pay, but you'll need to make sure that the device's payments permission is enabled for your merchant ID.

Also, in order to process Mada cards on the local Saudi Arabian network, you'll need to include mada in the supportedNetworks array.

Please contact your customer success manager if you’re not dealing with the acquiring bank directly.

Can we help?

Thanks for using If you need any help, or just have a question, please get in touch with our support team at [email protected].

Updated 3 months ago


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.