ClickPay provides you with a collection of API endpoints which used to process all payments, regardless of if they are through either your own payment pages, the managed payment pages, or if you are using the hosted payment pages. 


If you have a transaction that you want to fetch its details and know more about its status, type, etc... you can use the query transaction endpoint, as it will return the details of the requested transaction. In this article, we walk you through how to use and manage the mentioned endpoint.


For the best practice , we highly recommend that you use the IPN or the call back to get the status of your transactions 


Through out the article we will use the transaction types clarified in our What is "tran_type"? solution article.



TABLE OF CONTENTS



The Endpoint and Related Postman Collection



In this tutorial, we will rely on the ClickPay Query Transaction API Endpoint, mentioned on the ClickPay API endpoints postman collection, which you can access from here. The endpoint will need to be accessed with a POST request on the below-mentioned URL


Post{{domain}}/payment/query


Please note that not using the proper endpoint URI {{domain}} will lead to authentication issues within your responses. To find the your proper domain you can read our What Is My (Region)/(endpoint URL)? solution article.



The Minimum Required Parameters



To initiate a query payment request, there are minimum required parameters that need to be passed with valid information. The specification of these required parameters is clarified below according to the query type:


Query via Transaction Reference


In this type, you can initiate query transaction requests using your "profile_id" and the requested "tran_ref". You will receive a response object of this specific transaction you referred to. Kindly check the request parameters' specifications below:


ParameterSample Response
NullablePurpose
tran_refTST2214201508699

Indicates the Transaction Reference on the ClickPay side


check details on [Response Parameters | tran_ref]


profile_Id40000

Indicates the profile that created the transaction. 

  

check details on [Request Parameters | profileId]



Query via Cart ID


As for this type, you can initiate query transaction requests using your "profile_id" and a "cart_id", and you will receive an array of all the transactions that match this specific cart_id. Kindly check the request parameters' specifications below:


Parameter
Sample ResponseNullablePurpose
profile_Id81784

Indicates the profile that created the transaction. 

  

check details on [Request Parameters | profileId]


cart_idSTRING

Indicates the cart/order id at the merchant end to easily relate the transaction to


To know more about this parameter please click here.




Sample Request Payloads



The below sample request payload will show you how you can pass the above-mentioned parameters, which are needed to be passed with valid values to perform a request.  


    Query via Transaction Reference


{  "profile_id": "59020",  "tran_ref": "TST2016700000692"}


Query via Cart ID


{  "profile_id": "59020",  "cart_id": "cart_12212"}


Sample Response Payloads

Query via Transaction Reference


{
  "tran_ref": "TST2105900091468",
  "tran_type": "Sale",
  "cart_id": "Sample Payment",
  "cart_description": "Sample Payment",
  "cart_currency": "SAR",
  "cart_amount": "1",
  "customer_details": {
    "name": "name1",
    "email": "name@domain.com",
    "phone": "01005417901",
    "street1": "Riyadh",
    "city": "Riyadh",
    "state": "RD",
    "country": "SA",
    "ip": "40.123.210.168"
  },
  "payment_result": {
    "response_status": "A",
    "response_code": "G15046",
    "response_message": "Authorised",
    "transaction_time": "2021-02-28T12:24:06Z"
  },
  "payment_info": {
    "card_type": "Credit",
    "card_scheme": "Visa",
    "payment_description": "4111 11## #### 1111"
  }
}


Query via Cart ID

[
    {
        "tran_ref": "TST2220301299642",
        "tran_type": "Capture",
        "cart_id": "cart_id_1234",
        "cart_description": "Capture reason",
        "cart_currency": "SAR",
        "cart_amount": "12.34",
        "customer_details": {
            "name": "name name2",
            "email": "name@domain.com",
            "phone": "0522222222"
        },
        "payment_result": {
            "response_status": "A",
            "response_code": "G72063",
            "response_message": "Authorised",
            "transaction_time": "2022-07-22T06:41:03Z"
        },
        "payment_info": {
            "card_type": "Credit",
            "card_scheme": "Visa",
            "payment_description": "4111 11## #### 1111"
        },
        "serviceId": 0
    },
    {
        "tran_ref": "TST2220301299641",
        "tran_type": "Auth",
        "cart_id": "cart_id_1234",
        "cart_description": "Description of the items/services",
        "cart_currency": "SAR",
        "cart_amount": "12.34",
        "customer_details": {
            "name": "name name2",
            "email": "name@domain.com",
            "phone": "0522222222",
            "ip": "92.98.202.106"
        },
        "payment_result": {
            "response_status": "A",
            "response_code": "G72045",
            "response_message": "Authorised",
            "transaction_time": "2022-07-22T06:40:45Z"
        },
        "payment_info": {
            "card_type": "Credit",
            "card_scheme": "Visa",
            "payment_description": "4111 11## #### 1111"
        },
        "serviceId": 0
    }
]