Deema

Step-by-Step Guide for Merchants to Integrate Deema with Tap Payments

Deema, Kuwait’s first official BNPL fintech solution, is now live and supported by Tap Payments. This guide will help KW merchants integrate Deema to offer customers a Shariah-compliant, accessible, and frictionless payment option, enabling flexible payments over time while ensuring instant payouts for merchants.

Step 1: Understand Deema and Its Requirements

What is Deema?

Deema is a Buy Now, Pay Later (BNPL) service launched in Kuwait, powered by Tap Payments. It allows customers to pay for purchases in installments while merchants receive instant payments.

Key Benefits:

  • Shariah-compliant financing.
  • Frictionless and accessible for both businesses and customers.
  • Proven impact: In Saudi Arabia, BNPL adoption has driven up to 30% of e-commerce transaction volume, increasing cart conversions and customer loyalty.

Prerequisites:

  • A Tap Payments merchant account.
  • Transactions must be in Kuwaiti Dinar (KWD), as Deema does not support non-KWD currencies
  • In the sandbox environment, the allowable amount range for testing is between 100 and 200 KWD. In production, the minimum transaction amount is 10 KWD.
  • A valid mobile number with the country code for customers.

Step 2: Set Up the Deema Source ID

To integrate Deema, you need to use the correct Source ID within the Charges API provided by Tap Payments.

Set the Deema Source ID in your Charges request payload as follows:

"source": {  
    "id": "src_deema"  
}

This Source ID is used to route the payment through Deema

Step 3: Send a Sample Request to Tap Payments for Deema

Make a POST request to the Charges API to initiate a transaction with Deema. Include the necessary details such as amount, currency, customer information, and the Deema Source ID.

Sample Request Payload:

{  
    "amount": 50,  
    "currency": "KWD",  
    "source": {  
        "id": "src_deema"  
    },  
    "customer": {  
        "first_name": "John",  
        "last_name": "Doe",  
        "phone": {  
            "country_code": "+965",  
            "number": "12345678"  
        },  
        "email": "[[email protected]](mailto:[email protected])"  
    },  
    "description": "Test Deema Payment",  
    "redirect": {  
        "url": "<https://yourwebsite.com/redirect">  
    },  
    "post": {  
        "url": "<https://yourwebsite.com/webhook">  
    }  
}.

Step 4: Receive the Response from Tap Payments

Charges API will respond with a JSON object containing details about the transaction, including the transaction status and a URL to redirect the customer to for payment completion.

Sample Response:

{  
    "id": "chg_TS03A2820242129Jw030412017",  
    "status": "INITIATED",  
    "amount": 50,  
    "currency": "KWD",  
    "transaction": {  
        "url": "<https://deema.tap.company/payment/12345">  
    },  
    "redirect": "<https://yourwebsite.com/redirect">  
}

Key Fields:

  • id: Transaction ID (e.g., chg_TS03A2820242129Jw030412017)
  • status: Indicates the transaction status (e.g., INITIATED, CAPTURED, CANCELLED, FAILED etc). Please refer Charges section for more.
  • transaction.url: The URL where the customer will complete the payment.

Step 5: Redirect the Customer to Complete the Payment

  • Redirect the customer to the transaction.url provided in the response (e.g., https://deema.tap.company/payment/12345).
  • The customer will be taken to a Deema payment page where they can complete the BNPL process by agreeing to the installment terms.
  • After completion, the customer will be redirected to the redirect.url specified in your request (e.g., https://yourwebsite.com/redirect).

Step 6: Handle the Tap Payments Response via Webhook

Tap Payments will send a response to the post.url (webhook URL) specified in your request (e.g., https://yourwebsite.com/webhook). Use this webhook to update your system with the transaction status (e.g., CAPTURED, DECLINED, etc).

{  
    "id": "chg_TS03A2820242129Jw030412017",  
    "status": "CAPTURED",  
    "amount": 50,  
    "currency": "KWD"  
}

📘

Notes

  • Authorize: Deema does not support authorization.
  • Non-KWD currencies: Only KWD is supported.
  • Deema transaction reports are also available on Tap Dashboard or you can integrate our Charges Reports API.

Step 7: Test the Integration

Use the sandbox environment to test various scenarios:

Step 8: Go Live

Once testing is successful, contact Tap Payments support to enable Deema in your production environment.
Update your integration to use the production API keys provided by Tap Payments.
Monitor transactions and customer feedback to ensure a smooth experience.

For more Support: For integration issues, please contact Tap Payments support.