Skip to main content

Standard 3D Secure Service

This service reduces the risk of unauthorized use of payment cards by other individuals on the Merchant site.

Use the standard hosted checkout or custom integration request with one additional parameter. This is the same implementation as other payment methods with just the check_3ds parameter added.

Amazon Payment Services operations team activates the 3D Secure service. Mada cards only work with 3DS enabled. Do not set check_3ds to NO for Mada transactions.

Read more about 3D Secure authentication in our standard 3D Secure guide.

Amazon Payment Services Request

Parameter
check_3ds   String Max: 2 Optional

Enables the merchant to disable the 3D Secure service. This parameter is applicable to both authorization and purchase transactions.
Values: NO
Default: When not specified, 3D Secure is enabled by default

Multiply your transaction amount by the currency decimal code per ISO code 3 before sending the amount parameter. For currencies with three-decimal codes, round VISA transactions to zero in the final decimal place to avoid declined transactions. Example: For 500 AED (2 decimal places per ISO code 3), multiply by 100 to send 50000 in your request.

Check signature calculation section to learn how to calculate the signature.

{
"command": "PURCHASE",
"access_code": "zx0IPmPy5jp1vAz8Kpg7",
"merchant_identifier": "CycHZxVj",
"merchant_reference": "3DS-ENABLED-001",
"amount": 10000,
"currency": "AED",
"language": "en",
"customer_email": "customer@example.com",
"customer_ip": "192.168.1.100",
"card_number": "4005550000000001",
"expiry_date": "2505",
"card_security_code": "123",
"card_holder_name": "John Smith",
"return_url": "https://www.merchant.com/return",
"signature": "7cad05f0212ed933c9a5d5dffa31661acf2c827a"
// check_3ds parameter omitted - 3DS enabled by default
}
Sample Response - 3DS Required
{
"command": "PURCHASE",
"access_code": "zx0IPmPy5jp1vAz8Kpg7",
"merchant_identifier": "CycHZxVj",
"merchant_reference": "3DS-ENABLED-001",
"amount": 10000,
"currency": "AED",
"language": "en",
"customer_email": "customer@example.com",
"card_number": "400555******0001",
"expiry_date": "2505",
"card_holder_name": "John Smith",
"fort_id": "149295435400084008",
"payment_option": "VISA",
"3ds_url": "https://www.3dsecure.com/auth?id=12345",
"3ds_enrolled": "Y",
"response_message": "3-D Secure check requested",
"response_code": "20064",
"status": "20",
"signature": "7cad05f0212ed933c9a5d5dffa31661acf2c827a"
}
Sample Response - 3DS Disabled
{
"command": "PURCHASE",
"access_code": "zx0IPmPy5jp1vAz8Kpg7",
"merchant_identifier": "CycHZxVj",
"merchant_reference": "3DS-DISABLED-001",
"amount": 10000,
"currency": "AED",
"language": "en",
"customer_email": "customer@example.com",
"card_number": "400555******0001",
"expiry_date": "2505",
"card_holder_name": "John Smith",
"fort_id": "149295435400084009",
"payment_option": "VISA",
"authorization_code": "P1000000000000372136",
"response_message": "Success",
"response_code": "14000",
"status": "14",
"signature": "7cad05f0212ed933c9a5d5dffa31661acf2c827a"
}

Testing The Integration

Sandbox Testing

Use the sandbox environment for development and testing:

  • Sandbox URL: https://sbpaymentservices.payfort.com/FortAPI/paymentApi
  • Test Cards: Use our comprehensive Testing Cards

Go-Live Process

When ready to move to production, follow our Go-Live checklist

Was this page helpful?

Thanks for your feedback!