Tamara
Copy page
Copy page as Markdown for LLMs
Open in ChatGPT
Ask questions about this page
Open in Claude
Ask questions about this page
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:
-
Active Tamara Service
Tamara must be activated on your Amazon Payment Services account. Contact your account manager if you need activation. -
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. -
Required Parameters
Ensure thatphone_number
andorder_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:
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:
- Sandbox
- Production
https://sbcheckout.payfort.com/FortAPI/paymentPage
https://checkout.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.
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.