Skip to main content


We provide the option to schedule your payments so that the amount will be deducted automatically without the customer's intervention by adding a schedule id to the transaction.

Enabling Subscription

You have two methods to implement scheduling.

1- Managed by Your System

To have control over the scheduling process and trigger it from your system, you can modify it in the Authentication request, recurring_init = true to indicate that this is a scheduled transaction.

If the customer approves the subscription plan, in the response, you will receive recurring_init_trans_id and recurring_token, which you need to store in your system to make recurring requests using them in the future.

Creating Recurring Transaction

If you have the recurring_init_trans_id and recurring_token stored on your system, you can send a request to /api/v1/payment/reсurring, if the transaction is successful, the amount will be deducted from the customer without the need for his presence.

Sample Request To Indicate a Subscription Transaction

"merchant_key": "1d903dfda0-e8dc-11ed-bbba-d60edfb1bd8d8",
"operation": "purchase",

"order": {
"number": "order-1234",
"amount": "19",
"currency": "SAR",
"description": "Important gift"
"cancel_url": "",
"success_url": "",
"customer": {
"name": "Amer Mo",
"email": ""
"billing_address": {
"country": "SA",
"state": "string",
"address": "string",
"city": "string",
"house_number": "string",
"zip": "string",
"phone": "+96600000000"
"recurring_init": true,
"hash": "416830ec3be6ac7fd6ca539a4e9dbdd5c8971097d"

Sample Response

order_description= gift
date=2022-07-05 09:22:09
customer_name=Khalid Nasser
customer_address=exit 10

2- Managed By The Payment Gateway

To ease your transactions, you can let the scheduling be handled by us, the process will be similar to the previous method. However, this time there is no need for your system to schedule the recurring transaction it will be maintained by us; you will receive notification calls for each payment.

First you will need to create a schedule object , there are two ways to create it .


Once you log in to the dashboard, on the left sidebar, you will see Schedules, click on that, and it will navigate you to the Recurring Schedules page; on the top left corner, you will see a plus button, click on it to create a schedule object.


You can create a schedule object using the API by sending a request to


This request should have the content type as Content-Type: multipart/form-data

Example Request To Create a Schedule Id"CREATE_SCHEDULE",&"client_key"="1dfeda0-e8dc-11ed-hhba-d60e6b1bd8d8",&"name"="for testing scheduled payment through api",&"inverval_length"="1",&"interval_unit"="day",&"payment_count"="3",&"hash"="0D6F1971358364EEFE3E3A31928A37F8"&}=

Create a Recurring Payment

Now that you have the schedule id, you can use it in future requests to indicate that this transaction should be scheduled and handled by us in case you provide the schedule_id; otherwise, it will be handled by your system.

In the request body, add the parameters recurring_init = true and schedule_id = xxxxx-xxx in case you want the scheduling to be handled by the gateway.

Refer to the Payment section for more details.


The schedule object can be used in more than one transaction.

Keep in mind to count the first initial transaction for the recurring payments.