Skip to main content

Tamara

Tamara is a buy-now, pay-later payment method that allows customers to split their payments into installments. The first payment is charged at the time of purchase, while the remaining payments are automatically charged on scheduled dates, based on the installment plan selected by the customer on the Tamara payment page.

You will be paid fully upfront, while installments will happen between the customer and Tamara. Tamara transactions are processed in multiple currencies and support direct capture payments exclusively.

Prerequisites

Before integrating Tamara, ensure you have completed the following requirements:

  1. Active Tamara Service
    Tamara must be activated on your Amazon Payment Services account. Contact your account manager if you need activation.

  2. Tamara Account Setup
    You need an active account with Tamara to receive funds from your customers. Obtain the merchant_code and authorization key generated by Tamara.

  3. Required Parameters
    Ensure that phone_number and order_description parameters are always included in your request.

You must implement Tamara branding widgets on your product pages and checkout flow. This is a mandatory requirement for all Tamara integrations.

Integration Methods

Tamara is available through Hosted Checkout integration only. Payment Links are not supported for Tamara transactions.

Through Hosted Checkout

Hosted Checkout provides a secure way to accept Tamara payments by redirecting customers to Amazon Payment Services' payment page.

How Hosted Checkout Works

The Tamara hosted checkout process follows these steps:

1

Payment Request

Create Payment Request

Send a POST request to the hosted checkout endpoint with the required parameters. The request must be sent from the frontend as an HTTPS POST form with payment_option set to TAMARA.

Use the appropriate endpoint based on your environment:

https://sbcheckout.payfort.com/FortAPI/paymentPage

Tamara is not supported on multi-select feature.

Sample Request

<form method="post" action="https://sbcheckout.payfort.com/FortAPI/paymentPage" 
id="paymentForm" name="paymentForm">
<input type="hidden" name="command" value="PURCHASE">
<input type="hidden" name="access_code" value="s4lwuuoY5upZlZY5D6dr">
<input type="hidden" name="merchant_identifier" value="WeVJHPYm">
<input type="hidden" name="merchant_reference" value="TAMARA-12345-2024">
<input type="hidden" name="amount" value="10000">
<input type="hidden" name="currency" value="SAR">
<input type="hidden" name="language" value="en">
<input type="hidden" name="payment_option" value="TAMARA">
<input type="hidden" name="customer_email" value="test@amazon.com">
<input type="hidden" name="phone_number" value="554364556">
<input type="hidden" name="order_description" value="Test order">
<input type="hidden" name="return_url" value="https://yoursite.com/payment-result">
<input type="hidden" name="signature" value="calculated_signature_here">
<input type="submit" value="Pay Now" class="pay-button">
</form>

Make sure merchant reference value is unique value per request.

Multiply your transaction amount by the currency decimal code per ISO code 3 before sending the amount parameter. For SAR (2 decimal places), multiply by 100. Example: For 100.00 SAR, send 10000 in your request.

Refer to our Signature Calculation Guide for detailed implementation instructions and code examples.

Airlines, Travel and Insurance Parameters

If you're processing Tamara transactions for airlines, travel, or insurance bookings, you must include the order_metadata parameter with detailed transaction information:

<form method="post" action="https://sbcheckout.payfort.com/FortAPI/paymentPage" 
id="travelForm" name="travelForm">
<input type="hidden" name="command" value="PURCHASE">
<input type="hidden" name="access_code" value="s4lwuuoY5upZlZY5D6dr">
<input type="hidden" name="merchant_identifier" value="WeVJHPYm">
<input type="hidden" name="merchant_reference" value="TAMARA-TRAVEL-12345-2024">
<input type="hidden" name="amount" value="150000">
<input type="hidden" name="currency" value="SAR">
<input type="hidden" name="language" value="en">
<input type="hidden" name="payment_option" value="TAMARA">
<input type="hidden" name="customer_email" value="test@amazon.com">
<input type="hidden" name="phone_number" value="554364556">
<input type="hidden" name="order_description" value="Flight booking">
<input type="hidden" name="order_metadata" value="{
'flight_reservation_details': {
'pnr': 'TR9088999',
'itinerary': [{
'departure_city': 'Riyadh',

Include the order_metadata parameter only when processing Tamara transactions for airlines, travel, and insurance bookings. This parameter is not required for regular e-commerce transactions.

2

Payment Response

Handle Payment Response

After payment processing, customers are redirected back to your return_url with the transaction results.

Sample Response

{
"command": "PURCHASE",
"access_code": "s4lwuuoY5upZlZY5D6dr",
"merchant_identifier": "WeVJHPYm",
"merchant_reference": "TAMARA-12345-2024",
"amount": "2000",
"currency": "AED",
"language": "en",
"payment_option": "TAMARA",
"customer_email": "test@amazon.com",
"phone_number": "****4556",
"order_description": "Test order",
"fort_id": "169996200024372758",
"response_message": "Success",
"response_code": "14000",
"status": "14",
"eci": "ECOMMERCE",
"customer_ip": "1.1.1.1",

Tamara does not support Authorization command. Only PURCHASE (direct capture) is supported.

For detailed parameter specifications, refer to our Hosted Checkout API Reference.

Check Transaction Status

To check the transaction status, refer to the Check Transaction Status section.

Handling the Response

If you have a webhook configured, check the Webhooks section to understand how we send transaction responses to your system.

Go-live

Test your integration using one of our testing cards.
Make sure to visit our go-live checklist to go live with your integration.

Support

Need assistance with Tamara implementation? Contact our technical support team at merchantsupport-ps@amazon.com.

Was this page helpful?

Thanks for your feedback!